/*
Theme Name: AH-BlockBuild
Theme URI: https://alex-hernandez.com/
Author: Alex Hernandez
Author URI: https://alex-hernandez.com/
Description: A lightweight editorial Full Site Editing theme for polished blogs, personal brands, and small businesses.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ah-blockbuild
Tags: full-site-editing, block-patterns, wide-blocks, blog, portfolio, custom-colors, editor-style
*/
:root{--ah-shadow:0 16px 42px rgba(18,86,90,.12);--ah-focus:0 0 0 3px #fff8ef,0 0 0 6px #e76f57}html{scroll-behavior:smooth}body{overflow-x:hidden}a,button,input,textarea,select{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:0;box-shadow:var(--ah-focus)}.wp-element-button,.wp-block-button__link{border:2px solid transparent;box-shadow:0 7px 0 rgba(34,42,43,.18);font-weight:700;letter-spacing:.01em;padding:.8rem 1.2rem}.wp-element-button:hover,.wp-block-button__link:hover{background:#e76f57!important;border-color:#e76f57;color:#fff!important;box-shadow:0 4px 0 rgba(34,42,43,.2);transform:translateY(3px)}.wp-element-button:active,.wp-block-button__link:active{box-shadow:0 1px 0 rgba(34,42,43,.2);transform:translateY(6px)}.wp-element-button[disabled],.wp-block-button__link[aria-disabled=true]{cursor:not-allowed;opacity:.5;transform:none}.wp-block-navigation a{position:relative;text-decoration:none}.wp-block-navigation a:after{background:currentColor;bottom:-.35rem;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .18s ease;width:100%}.wp-block-navigation a:hover:after,.wp-block-navigation .current-menu-item a:after,.wp-block-navigation .current-menu-ancestor a:after{transform:scaleX(1)}.wp-block-post-featured-image{overflow:hidden}.wp-block-post-featured-image img{transition:transform .45s ease}.wp-block-post:hover .wp-block-post-featured-image img{transform:scale(1.045)}.wp-block-query .wp-block-post-template{gap:clamp(1.5rem,3vw,3rem)}.wp-block-post{min-width:0}.wp-block-post-excerpt__excerpt{color:#526163;line-height:1.65}.wp-block-pullquote{border-block:2px solid #e5ad52;color:#12565a;padding:1.5rem 0}.wp-block-pullquote p{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.18}.wp-block-post-comments-form input,.wp-block-post-comments-form textarea,.wp-block-search__input{border:1px solid #8ca3a4;border-radius:0;padding:.8rem}.wp-block-post-comments-form input:focus,.wp-block-post-comments-form textarea:focus,.wp-block-search__input:focus{border-color:#12565a}@media(max-width:781px){.wp-block-navigation__responsive-container-open{padding:.55rem}.wp-block-group.is-layout-flex{row-gap:1rem}.wp-block-buttons{align-items:stretch}.wp-block-button{width:100%}.wp-block-button__link{text-align:center;width:100%}}
/* Full-width block-content repair: preserve editorial width when pages are edited in Gutenberg. */
.wp-block-post-content > .wp-block-group.alignfull { box-sizing: border-box; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.wp-block-post-content > .wp-block-group:not(.alignfull), main.wp-block-group { box-sizing: border-box; max-width: 1180px; width: min(1180px, calc(100vw - 3rem)); }
.wp-block-post-content > .wp-block-group:not(.alignfull) { margin-left: 50%; margin-right: 0; transform: translateX(-50%); }
.wp-block-group.alignfull > .wp-block-columns.alignwide, .wp-block-group.alignfull > .wp-block-group.alignwide { box-sizing: border-box; margin-inline: auto; max-width: 1180px; width: min(1180px, calc(100% - 3rem)); }
.wp-block-group.alignfull > .wp-block-columns.alignwide { align-items: center; margin-bottom: 0; }
.wp-block-group.alignfull > .wp-block-columns.alignwide > .wp-block-column { min-width: 0; }
.wp-block-group.alignfull > .wp-block-columns.alignwide .wp-block-image { height: 100%; margin: 0; }
.wp-block-group.alignfull > .wp-block-columns.alignwide .wp-block-image img { display: block; height: 100%; min-height: 420px; object-fit: cover; width: 100%; }
.wp-block-query { max-width: 1180px; }
@media (max-width: 781px) {
  .wp-block-post-content > .wp-block-group:not(.alignfull), main.wp-block-group { width: min(100% - 2rem, 1180px); }
  .wp-block-post-content > .wp-block-group.alignfull { margin-left: calc(50% - 50vw); width: 100vw; }
  .wp-block-group.alignfull > .wp-block-columns.alignwide, .wp-block-group.alignfull > .wp-block-group.alignwide { width: calc(100% - 2rem); }
  .wp-block-group.alignfull > .wp-block-columns.alignwide .wp-block-image img { min-height: 260px; }
}
/* Editorial composition override. WordPress applies a higher-specificity content cap to page blocks. */
body .wp-site-blocks > header.wp-block-group { background: rgba(255,248,239,.96) !important; border-bottom: 1px solid rgba(18,86,90,.18); box-shadow: 0 10px 30px rgba(34,42,43,.05); left: 0; position: sticky; right: 0; top: 0; z-index: 50; }
body .wp-site-blocks > .wp-block-template-part > header.wp-block-group { background: rgba(255,248,239,.96) !important; border-bottom: 1px solid rgba(18,86,90,.18); box-shadow: 0 10px 30px rgba(34,42,43,.05); left: 0; padding-block: 0 !important; position: sticky; right: 0; top: 0; z-index: 50; }
body .wp-site-blocks > .wp-block-template-part > header.wp-block-group > .wp-block-group.alignwide { align-items: center; box-sizing: border-box; margin-inline: auto !important; max-width: 1180px !important; min-height: 76px; width: min(1180px, calc(100vw - 3rem)) !important; }
body .wp-site-blocks > header.wp-block-group > .wp-block-group.alignwide { align-items: center; box-sizing: border-box; margin-inline: auto !important; max-width: 1180px !important; min-height: 76px; padding-inline: 0; width: min(1180px, calc(100vw - 3rem)) !important; }
body .wp-site-blocks > header .wp-block-site-title { font-size: clamp(1.35rem, 2vw, 1.75rem) !important; letter-spacing: -.045em !important; position: relative; }
body .wp-site-blocks > header .wp-block-site-title::before { background: #e5ad52; border-radius: 99px; content: ""; display: inline-block; height: .52em; margin: 0 .48em .08em 0; width: .52em; }
body .wp-site-blocks > header .wp-block-navigation { gap: clamp(.85rem, 2vw, 1.7rem); }
body .wp-site-blocks > header .wp-block-navigation a { color: #222a2b; font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull { box-sizing: border-box !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; max-width: 100vw !important; width: 100vw !important; }
/* The page-content block is constrained by WordPress by default. Let this theme's editable section groups own their editorial width. */
body .wp-site-blocks main.wp-block-group > .wp-block-post-content.is-layout-constrained,
body .wp-site-blocks main.wp-block-group > .wp-block-post-content { max-width: none !important; width: 100% !important; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group:not(.alignfull), body .wp-site-blocks main.wp-block-group { box-sizing: border-box !important; margin-left: auto !important; margin-right: auto !important; max-width: 1180px !important; transform: none !important; width: min(1180px, calc(100vw - 3rem)) !important; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull > .wp-block-columns.alignwide, body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull > .wp-block-group.alignwide { box-sizing: border-box !important; margin-inline: auto !important; max-width: 1180px !important; width: min(1180px, calc(100vw - 3rem)) !important; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child { border-bottom: 6px solid #e5ad52; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child .wp-block-columns { column-gap: clamp(2.5rem, 6vw, 7rem) !important; min-height: 590px; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child h1 { font-size: clamp(3.1rem, 5.7vw, 6rem) !important; letter-spacing: -.06em; max-width: 9ch; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child p:not(:first-child) { max-width: 30rem; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child .wp-block-buttons { gap: .75rem; margin-top: 2.1rem; }
body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child .wp-block-image img { min-height: 430px !important; }
body .wp-site-blocks .wp-block-query .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .wp-site-blocks .wp-block-query .wp-block-post { border-top: 3px solid #e5ad52; padding-top: 1rem; }
body .wp-site-blocks .wp-block-query .wp-block-post-title { font-size: clamp(1.35rem, 2.1vw, 1.8rem); letter-spacing: -.03em; }
body .wp-site-blocks .wp-block-query .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
body .wp-site-blocks > footer.wp-block-group { margin-top: 0; }
@media (max-width: 781px) {
  body .wp-site-blocks > header.wp-block-group > .wp-block-group.alignwide { min-height: 66px; width: calc(100vw - 2rem) !important; }
  body .wp-site-blocks > .wp-block-template-part > header.wp-block-group > .wp-block-group.alignwide { min-height: 66px; width: calc(100vw - 2rem) !important; }
  body .wp-site-blocks .wp-block-post-content > .wp-block-group:not(.alignfull), body .wp-site-blocks main.wp-block-group, body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull > .wp-block-columns.alignwide, body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull > .wp-block-group.alignwide { width: calc(100vw - 2rem) !important; }
  body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child .wp-block-columns { min-height: 0; }
  body .wp-site-blocks .wp-block-post-content > .wp-block-group.alignfull:first-child h1 { font-size: clamp(2.8rem, 14vw, 4.4rem) !important; }
  body .wp-site-blocks .wp-block-query .wp-block-post-template { grid-template-columns: 1fr; }
}
/* AH-BlockBuild editorial rebuild ------------------------------------------------ */
:root { --ah-ink:#172f31; --ah-teal:#12565a; --ah-coral:#d95f4c; --ah-cream:#fff8ef; --ah-sand:#f4dfd3; --ah-gold:#e5ad52; --ah-line:rgba(23,47,49,.16); --ah-shadow:0 18px 48px rgba(13,48,51,.16); }
body { background:var(--ah-cream); color:var(--ah-ink); }
body .wp-site-blocks > .wp-block-template-part > .ah-masthead { background:rgba(255,248,239,.96)!important; border-bottom:1px solid var(--ah-line); box-shadow:0 8px 28px rgba(23,47,49,.06); padding:0!important; position:sticky; top:0; z-index:100; }
.ah-masthead-inner { align-items:center!important; box-sizing:border-box; min-height:78px; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-brand { display:flex; align-items:center; gap:.85rem; }
.ah-brand .wp-block-site-title { font-size:1.55rem!important; letter-spacing:-.055em!important; line-height:1!important; margin:0!important; }
.ah-brand .wp-block-site-title:before { background:var(--ah-gold); border-radius:100%; content:""; display:inline-block; height:.55rem; margin:0 .55rem .05rem 0; width:.55rem; }
.ah-brand-line { border-left:1px solid var(--ah-line); color:#5f7172; font-size:.68rem!important; letter-spacing:.08em; line-height:1.25; margin:0!important; max-width:13rem; padding-left:.85rem; text-transform:uppercase; }
.ah-main-nav { gap:1.75rem!important; }
.ah-main-nav a { color:var(--ah-ink)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; padding:.6rem 0!important; text-transform:uppercase; }
.ah-main-nav a:after { background:var(--ah-coral)!important; bottom:.15rem!important; height:3px!important; }
.ah-main-nav a:hover,.ah-main-nav a:focus-visible { color:var(--ah-coral)!important; }

/* Buttons and links use visible, accessible interaction states. */
.wp-element-button,.wp-block-button__link,.wpcf7-submit { background:var(--ah-teal)!important; border:2px solid var(--ah-teal)!important; border-radius:999px!important; box-shadow:0 7px 0 #0b3f42!important; color:#fff!important; display:inline-block; font-weight:800!important; letter-spacing:.045em!important; padding:.9rem 1.4rem!important; text-decoration:none!important; text-transform:uppercase; }
.wp-element-button:hover,.wp-block-button__link:hover,.wpcf7-submit:hover { background:var(--ah-coral)!important; border-color:var(--ah-coral)!important; box-shadow:0 3px 0 #9b3b2f!important; color:#fff!important; transform:translateY(4px); }
.wp-element-button:active,.wp-block-button__link:active,.wpcf7-submit:active { box-shadow:none!important; transform:translateY(7px); }
.wp-element-button:focus-visible,.wp-block-button__link:focus-visible,.wpcf7-submit:focus-visible,a:focus-visible { outline:3px solid var(--ah-gold)!important; outline-offset:4px; }

/* Defined footer, distinct from page content. */
.ah-site-footer { border-top:6px solid var(--ah-gold); margin-top:0!important; padding:4.75rem 0 1.4rem!important; }
.ah-footer-grid,.ah-footer-bottom { box-sizing:border-box; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-footer-grid { align-items:flex-start!important; gap:3rem!important; }
.ah-footer-brand .wp-block-site-title { font-size:2rem!important; letter-spacing:-.05em; }
.ah-footer-copy { color:rgba(255,255,255,.76); font-size:1rem; max-width:25rem; }
.ah-footer-kicker { color:var(--ah-gold); font-size:.72rem; font-weight:800; letter-spacing:.14em; margin:0 0 .9rem!important; text-transform:uppercase; }
.ah-footer-nav .wp-block-navigation { gap:.6rem!important; }
.ah-footer-nav a { color:#fff!important; font-size:.9rem; font-weight:700; }
.ah-footer-nav a:hover { color:var(--ah-gold)!important; }
.ah-footer-bottom { border-top:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.68); font-size:.78rem; margin-top:3.25rem!important; padding-top:1.1rem; }
.ah-footer-bottom p { margin:0!important; }

/* Article: an editorial composition rather than a default post stack. */
.ah-article-main { max-width:none!important; padding:0 0 5rem!important; width:100%!important; }
.ah-article-heading { box-sizing:border-box; max-width:960px!important; padding:5rem 0 2.25rem; width:min(960px,calc(100vw - 3rem))!important; }
.ah-eyebrow,.ah-article-category,.ah-card-meta .wp-block-post-terms { color:var(--ah-coral)!important; font-size:.72rem!important; font-weight:850!important; letter-spacing:.14em!important; text-transform:uppercase; }
.ah-article-category a,.ah-card-meta .wp-block-post-terms a { background:#fde5de; border-radius:999px; color:#a64335!important; display:inline-block; padding:.34rem .66rem; text-decoration:none!important; }
.ah-article-category a:hover,.ah-card-meta .wp-block-post-terms a:hover { background:var(--ah-coral); color:#fff!important; }
.ah-article-title { font-size:clamp(3.15rem,6.1vw,6.5rem)!important; letter-spacing:-.07em!important; margin:.9rem 0 1.35rem!important; max-width:13ch; }
.ah-article-meta { border-top:1px solid var(--ah-line); color:#637172; font-size:.82rem; gap:1rem!important; margin-top:1.5rem!important; padding-top:1rem; }
.ah-article-meta > * + *:before { color:var(--ah-gold); content:"•"; margin-right:1rem; }
.ah-article-image { box-shadow:var(--ah-shadow); box-sizing:border-box; margin:0 auto!important; max-width:1180px!important; overflow:hidden; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-article-image img { display:block; height:min(44vw,650px); object-fit:cover; width:100%; }
.ah-article-content-surface { background:#fff; box-shadow:0 18px 45px rgba(23,47,49,.10); box-sizing:border-box; margin:-4rem auto 0!important; max-width:820px!important; padding:clamp(2rem,5vw,5rem)!important; position:relative; width:min(820px,calc(100vw - 2rem))!important; z-index:2; }
.ah-article-content-surface .wp-block-post-content { font-family:Georgia,'Times New Roman',serif; font-size:1.2rem; line-height:1.82; }
.ah-article-content-surface .wp-block-post-content h2 { color:var(--ah-teal); font-family:var(--wp--preset--font-family--editorial-serif); font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; margin:3.3rem 0 1rem; }
.ah-article-content-surface .wp-block-post-content p { margin:0 0 1.55rem; }
.ah-article-content-surface .wp-block-post-content p:first-child:first-letter { color:var(--ah-coral); float:left; font-family:var(--wp--preset--font-family--editorial-serif); font-size:4.9em; line-height:.76; margin:.12em .12em 0 0; }
.ah-article-content-surface .wp-block-quote { border-left:4px solid var(--ah-gold); color:var(--ah-teal); font-family:var(--wp--preset--font-family--editorial-serif); font-size:1.55rem; line-height:1.35; margin:2.5rem 0; padding:1rem 0 1rem 1.35rem; }
.ah-article-after { box-sizing:border-box; max-width:820px!important; padding:2rem 0 0; width:min(820px,calc(100vw - 2rem))!important; }
.ah-article-tags { color:#5f7172; font-size:.88rem; }
.ah-article-tags a { background:#edf5f4; border-radius:99px; color:var(--ah-teal)!important; display:inline-block; margin:.22rem; padding:.32rem .7rem; text-decoration:none!important; }
.ah-article-tags a:hover { background:var(--ah-teal); color:#fff!important; }
.ah-article-rule { background:var(--ah-gold)!important; border:0!important; height:3px!important; margin:3.25rem 0!important; max-width:100%!important; }
.ah-related-section { background:var(--ah-sand); margin-top:5rem!important; padding:5rem 0!important; }
.ah-related-section > .wp-block-group { box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-related-section h2 { font-size:clamp(2.2rem,4vw,4rem); letter-spacing:-.055em; margin-top:.35rem!important; }
.ah-related-grid .wp-block-post-template,.ah-journal-grid .wp-block-post-template { gap:2rem!important; }
.ah-related-card { background:#fff; box-shadow:0 9px 24px rgba(23,47,49,.09); height:100%; overflow:hidden; padding:0 0 1.4rem!important; }
.ah-related-card > *:not(.wp-block-post-featured-image) { margin-left:1.3rem!important; margin-right:1.3rem!important; }
.ah-related-card .wp-block-post-terms { color:var(--ah-coral); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ah-related-card .wp-block-post-title { font-size:1.35rem; line-height:1.1; }

/* Archives and article cards. */
.ah-archive-main { max-width:none!important; padding:0 0 5rem!important; width:100%!important; }
.ah-archive-intro { box-sizing:border-box; max-width:1180px!important; padding:5.25rem 0 3.25rem; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-archive-intro .wp-block-query-title { font-size:clamp(3.3rem,6vw,6.5rem); letter-spacing:-.07em; margin:.5rem 0 0; }
.ah-journal-grid { box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-journal-grid .wp-block-post-template { gap:2.2rem!important; }
.ah-journal-card { background:#fff; border:1px solid rgba(23,47,49,.10); box-shadow:0 12px 28px rgba(23,47,49,.08); height:100%; overflow:hidden; padding:0 1.4rem 1.65rem!important; transition:box-shadow .22s ease,transform .22s ease; }
.ah-journal-card:hover { box-shadow:0 21px 38px rgba(23,47,49,.16); transform:translateY(-6px); }
.ah-journal-card .wp-block-post-featured-image { margin:0 -1.4rem 1.2rem!important; }
.ah-journal-card .wp-block-post-featured-image img { aspect-ratio:4/3; object-fit:cover; }
.ah-card-meta { align-items:center!important; gap:.6rem!important; }
.ah-card-meta .wp-block-post-date { color:#6b7a7b; font-size:.76rem; }
.ah-journal-card .wp-block-post-title { font-size:clamp(1.55rem,2.2vw,2rem); letter-spacing:-.04em; line-height:1.05; margin-top:.7rem!important; }
.ah-journal-card .wp-block-post-excerpt { color:#526466; font-size:.97rem; line-height:1.65; }
.ah-journal-card .wp-block-read-more { color:var(--ah-teal)!important; display:inline-block; font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ah-journal-card .wp-block-read-more:hover { color:var(--ah-coral)!important; transform:translateX(4px); }

/* Contact form as a designed component, not plugin defaults. */
.ah-contact-page { box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-contact-page .wpcf7 { background:#fff; box-shadow:var(--ah-shadow); margin:0!important; padding:clamp(1.5rem,3vw,3rem); }
.ah-contact-page .wpcf7-form { display:grid; gap:1.1rem; }
.ah-contact-page .wpcf7-form label { color:var(--ah-ink); display:block; font-size:.74rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.ah-contact-page .wpcf7-form-control-wrap { display:block; margin-top:.45rem; }
.ah-contact-page input:not([type=submit]),.ah-contact-page textarea { background:#fbfcfb; border:1.5px solid #b9cbca!important; border-radius:0!important; box-sizing:border-box; color:var(--ah-ink); font:inherit; padding:.9rem 1rem!important; width:100%; }
.ah-contact-page textarea { min-height:10rem; resize:vertical; }
.ah-contact-page input::placeholder,.ah-contact-page textarea::placeholder { color:#809191; opacity:1; }
.ah-contact-page input:focus,.ah-contact-page textarea:focus { background:#fffdf9; border-color:var(--ah-coral)!important; box-shadow:0 0 0 4px rgba(217,95,76,.16); outline:0; }
.ah-contact-page .wpcf7-submit { cursor:pointer; margin-top:.7rem; width:100%; }
.ah-contact-page .wpcf7-not-valid-tip { color:#a7382b; font-size:.82rem; font-weight:700; margin-top:.35rem; text-transform:none; }
.ah-contact-page .wpcf7-response-output { border:0!important; font-size:.9rem; margin:0!important; padding:1rem!important; }
.ah-contact-page .wpcf7 form.sent .wpcf7-response-output { background:#e4f3ec; color:#164e38; }

@media (max-width:781px) {
 .ah-masthead-inner { min-height:66px; width:calc(100vw - 2rem)!important; }
 .ah-brand-line { display:none; }
 .ah-brand .wp-block-site-title { font-size:1.22rem!important; }
 .ah-main-nav { gap:.75rem!important; }
 .ah-article-heading { padding:3.25rem 0 1.5rem; width:calc(100vw - 2rem)!important; }
 .ah-article-title { font-size:clamp(2.75rem,14vw,4.1rem)!important; }
 .ah-article-image { width:100%!important; }
 .ah-article-image img { height:72vw; }
 .ah-article-content-surface { margin:-1.6rem auto 0!important; padding:2rem 1.35rem!important; width:calc(100vw - 1rem)!important; }
 .ah-article-content-surface .wp-block-post-content { font-size:1.08rem; }
 .ah-related-section { margin-top:3rem!important; padding:3.5rem 0!important; }
 .ah-related-section > .wp-block-group,.ah-archive-intro,.ah-journal-grid,.ah-contact-page { width:calc(100vw - 2rem)!important; }
 .ah-related-grid .wp-block-post-template,.ah-journal-grid .wp-block-post-template { grid-template-columns:1fr!important; }
 .ah-footer-grid,.ah-footer-bottom { width:calc(100vw - 2rem)!important; }
 .ah-footer-bottom { gap:.4rem!important; }
}
/* Editable homepage, About, Journal, and Contact compositions. */
.ah-page-main { max-width:none!important; padding:0!important; width:100%!important; }
.ah-home-hero { min-height:720px!important; }
.ah-home-hero .wp-block-cover__inner-container { box-sizing:border-box; max-width:1180px!important; padding:4rem 0; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-hero-glass { backdrop-filter:blur(18px); background:rgba(255,248,239,.82); border:1px solid rgba(255,255,255,.7); box-shadow:var(--ah-shadow); box-sizing:border-box; max-width:590px!important; padding:clamp(2rem,4vw,4.25rem)!important; }
.ah-hero-glass h1 { color:var(--ah-teal); font-size:clamp(3.4rem,6.6vw,6.5rem); letter-spacing:-.075em; margin:.35rem 0 1.1rem!important; }
.ah-hero-glass p:not(.ah-eyebrow) { color:#294849; line-height:1.55; }
.ah-hero-glass .is-style-outline .wp-block-button__link { background:transparent!important; border-color:var(--ah-teal)!important; box-shadow:none!important; color:var(--ah-teal)!important; }
.ah-hero-glass .is-style-outline .wp-block-button__link:hover { background:var(--ah-coral)!important; border-color:var(--ah-coral)!important; color:#fff!important; }
.ah-home-journal { background:#fff; padding:5.5rem 0!important; }
.ah-home-journal > .wp-block-group { box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-home-journal h2 { font-size:clamp(2.4rem,4.6vw,4.7rem); letter-spacing:-.06em; margin:.4rem 0 2.25rem!important; }
.ah-home-about { background:var(--ah-sand); padding:5.5rem 0!important; }
.ah-home-about .wp-block-columns,.ah-about-hero .wp-block-columns { box-sizing:border-box; gap:clamp(2.5rem,7vw,7rem)!important; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-home-about .wp-block-image,.ah-about-hero .wp-block-image { box-shadow:var(--ah-shadow); margin:0!important; }
.ah-home-about img,.ah-about-hero img { display:block; min-height:440px; object-fit:cover; width:100%; }
.ah-home-about h2,.ah-about-hero h1 { font-size:clamp(2.6rem,4.8vw,5.1rem); letter-spacing:-.065em; margin:.4rem 0 1.2rem!important; }
.ah-home-about p:not(.ah-eyebrow),.ah-about-hero p:not(.ah-eyebrow) { font-size:1.18rem; line-height:1.7; max-width:34rem; }
.ah-home-cta { background:var(--ah-teal); color:#fff; padding:4rem 0!important; }
.ah-home-cta > .wp-block-group { align-items:center!important; box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-home-cta h2 { color:#fff; font-size:clamp(2.1rem,4vw,4rem); letter-spacing:-.055em; margin:.3rem 0 0!important; }
.ah-home-cta .ah-eyebrow { color:var(--ah-gold)!important; }
.ah-home-cta .wp-block-button__link { background:var(--ah-gold)!important; border-color:var(--ah-gold)!important; box-shadow:0 7px 0 #ad7b2e!important; color:var(--ah-ink)!important; }
.ah-home-cta .wp-block-button__link:hover { background:var(--ah-coral)!important; border-color:var(--ah-coral)!important; box-shadow:0 3px 0 #87342b!important; color:#fff!important; }
.ah-journal-page-intro { background:var(--ah-teal); color:#fff; padding:5.3rem 0 5rem!important; }
.ah-journal-page-intro > .wp-block-group { box-sizing:border-box; max-width:1180px!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-journal-page-intro .ah-eyebrow { color:var(--ah-gold)!important; }
.ah-journal-page-intro h1 { color:#fff; font-size:clamp(3.6rem,7vw,7rem); letter-spacing:-.075em; margin:.3rem 0 1rem!important; }
.ah-journal-page-intro p:not(.ah-eyebrow) { max-width:40rem; }
.ah-journal-page-listing { box-sizing:border-box; max-width:1180px!important; padding:4.5rem 0 5.5rem!important; width:min(1180px,calc(100vw - 3rem))!important; }
.ah-journal-page-listing .ah-journal-card:first-child { grid-column:span 2; display:grid; gap:0 2rem; grid-template-columns:1.1fr .9fr; padding:0!important; }
.ah-journal-page-listing .ah-journal-card:first-child .wp-block-post-featured-image { grid-row:span 5; margin:0!important; }
.ah-journal-page-listing .ah-journal-card:first-child > *:not(.wp-block-post-featured-image) { margin-left:0!important; margin-right:1.4rem!important; }
.ah-journal-page-listing .ah-journal-card:first-child .wp-block-post-title { font-size:clamp(2rem,3vw,3.25rem); margin-top:1.4rem!important; }
.ah-about-hero { background:#fff; padding:5rem 0!important; }
.ah-about-story { box-sizing:border-box; max-width:760px!important; padding:5rem 0!important; width:min(760px,calc(100vw - 2rem))!important; }
.ah-about-story h2 { color:var(--ah-teal); font-size:clamp(2.6rem,4.5vw,4.4rem); letter-spacing:-.06em; }
.ah-about-story p { font-family:Georgia,serif; font-size:1.18rem; line-height:1.78; }
.ah-contact-hero { background:var(--ah-ink); color:#fff; padding:5rem 0 8rem!important; }
.ah-contact-hero > .wp-block-group { box-sizing:border-box; max-width:960px!important; width:min(960px,calc(100vw - 3rem))!important; }
.ah-contact-hero .ah-eyebrow { color:var(--ah-gold)!important; }
.ah-contact-hero h1 { color:#fff; font-size:clamp(3.5rem,7vw,7rem); letter-spacing:-.075em; margin:.3rem 0 1rem!important; max-width:12ch; }
.ah-contact-hero p:not(.ah-eyebrow) { color:rgba(255,255,255,.82); max-width:40rem; }
.ah-contact-page { margin:-3rem auto 5rem!important; position:relative; z-index:2; }
.ah-contact-page .wp-block-columns { align-items:flex-start!important; background:var(--ah-sand); box-shadow:var(--ah-shadow); padding:clamp(1.5rem,4vw,4rem)!important; }
.ah-contact-page h2 { color:var(--ah-teal); font-size:clamp(2.1rem,3.5vw,3.2rem); letter-spacing:-.05em; }
.ah-contact-page .ah-contact-note { border-left:3px solid var(--ah-gold); color:#4b6465; font-size:.95rem; padding-left:1rem; }
@media(max-width:781px) {
 .ah-home-hero { min-height:660px!important; }
 .ah-home-hero .wp-block-cover__inner-container { align-items:flex-end!important; display:flex; padding:2rem 0; width:calc(100vw - 2rem)!important; }
 .ah-hero-glass { padding:1.65rem!important; width:100%; }
 .ah-hero-glass h1 { font-size:clamp(2.9rem,13vw,4.2rem); }
 .ah-home-journal > .wp-block-group,.ah-home-about .wp-block-columns,.ah-about-hero .wp-block-columns,.ah-home-cta > .wp-block-group,.ah-journal-page-intro > .wp-block-group,.ah-journal-page-listing,.ah-contact-hero > .wp-block-group { width:calc(100vw - 2rem)!important; }
 .ah-home-journal,.ah-home-about { padding:3.5rem 0!important; }
 .ah-home-about img,.ah-about-hero img { min-height:0; }
 .ah-journal-page-intro { padding:3.8rem 0!important; }
 .ah-journal-page-listing .ah-journal-card:first-child { display:block; grid-column:auto; padding:0 1.4rem 1.65rem!important; }
 .ah-journal-page-listing .ah-journal-card:first-child .wp-block-post-featured-image { margin:0 -1.4rem 1.2rem!important; }
 .ah-journal-page-listing .ah-journal-card:first-child > *:not(.wp-block-post-featured-image) { margin-left:0!important; margin-right:0!important; }
 .ah-contact-hero { padding:3.8rem 0 5.8rem!important; }
 .ah-contact-page { margin:-1.7rem auto 3rem!important; width:calc(100vw - 1rem)!important; }
 .ah-contact-page .wp-block-columns { padding:1.5rem!important; }
}

/* Article composition correction: one shared editorial grid, natural titles, deliberate contrast. */
.single .ah-article-main { background:linear-gradient(180deg,#fff 0,#fff 33rem,var(--ah-cream) 33rem,var(--ah-cream) 100%); }
.single .ah-article-heading { border-left:6px solid var(--ah-gold); max-width:1180px!important; padding:4.75rem 0 2.4rem 2.25rem!important; width:min(1180px,calc(100vw - 3rem))!important; }
.single .ah-article-title { color:var(--ah-ink)!important; font-size:clamp(3.3rem,5.6vw,6.15rem)!important; letter-spacing:-.065em!important; max-width:15ch!important; text-wrap:balance; }
.single .ah-article-meta { max-width:820px; }
.single .ah-article-image { border:12px solid #fff; box-shadow:0 22px 50px rgba(23,47,49,.18); max-width:1180px!important; }
.single .ah-article-content-surface { border-top:5px solid var(--ah-coral); margin:-4.6rem auto 0!important; }
.single .ah-article-content-surface .wp-block-post-content h2 { border-left:4px solid var(--ah-gold); padding-left:1rem; }
.single .ah-related-section { background:var(--ah-teal)!important; margin-top:5rem!important; padding:5.5rem 0!important; }
.single .ah-related-section > .wp-block-group { background:var(--ah-cream); box-sizing:border-box; padding:clamp(2rem,4vw,4.25rem)!important; }
.single .ah-related-section .ah-eyebrow { color:var(--ah-coral)!important; }
.single .ah-related-section h2 { color:var(--ah-ink)!important; margin-bottom:2.2rem!important; }
.single .ah-related-grid .wp-block-post-template { gap:1.5rem!important; }
.single .ah-related-card { border-top:4px solid var(--ah-gold); box-shadow:0 10px 22px rgba(23,47,49,.12); }
.single .ah-related-card .wp-block-post-title a { color:var(--ah-ink)!important; }
.single .ah-related-card .wp-block-post-title a:hover { color:var(--ah-coral)!important; }
@media(max-width:781px){
 .single .ah-article-heading { border-left-width:4px; padding:3rem 0 1.5rem 1.15rem!important; width:calc(100vw - 2rem)!important; }
 .single .ah-article-title { font-size:clamp(2.75rem,12vw,4.1rem)!important; max-width:none!important; }
 .single .ah-article-image { border-width:5px; }
 .single .ah-related-section { padding:3.25rem 0!important; }
 .single .ah-related-section > .wp-block-group { padding:1.4rem!important; width:calc(100vw - 1rem)!important; }
}
/* Final article grid alignment correction. */
.single .ah-article-heading > * { margin-left:0!important; margin-right:0!important; max-width:none!important; }
.single .ah-article-title { max-width:none!important; text-wrap:pretty; }
.single .ah-article-meta { max-width:820px!important; }
.single .ah-continue-links { border-top:1px solid var(--ah-line); gap:1rem!important; margin-top:2.25rem!important; padding-top:1.5rem; }
.single .ah-continue-links .wp-block-post-navigation-link { flex:1 1 16rem; }
.single .ah-continue-links a { color:var(--ah-teal)!important; font-family:var(--wp--preset--font-family--editorial-serif); font-size:1.35rem; line-height:1.15; text-decoration:none!important; }
.single .ah-continue-links a:hover { color:var(--ah-coral)!important; text-decoration:underline!important; text-decoration-thickness:2px!important; text-underline-offset:.2em; }
/* Native contact form: designed labels, fields, validation feedback, and CTA. */
.ah-contact-form { background:#fff; box-shadow:var(--ah-shadow); display:grid; gap:.7rem; margin:0!important; padding:clamp(1.5rem,3vw,3rem); }
.ah-contact-form label { color:var(--ah-ink); display:block; font-size:.72rem; font-weight:850; letter-spacing:.11em; margin-top:.45rem; text-transform:uppercase; }
.ah-contact-form input,.ah-contact-form textarea { background:#fbfcfb; border:1.5px solid #b9cbca; border-radius:0; box-sizing:border-box; color:var(--ah-ink); font:inherit; margin:0 0 .35rem; padding:.92rem 1rem; width:100%; }
.ah-contact-form textarea { min-height:10rem; resize:vertical; }
.ah-contact-form input:focus,.ah-contact-form textarea:focus { background:#fffdf9; border-color:var(--ah-coral); box-shadow:0 0 0 4px rgba(217,95,76,.16); outline:0; }
.ah-contact-form input::placeholder,.ah-contact-form textarea::placeholder { color:#819293; opacity:1; }
.ah-contact-form button { background:var(--ah-teal); border:2px solid var(--ah-teal); border-radius:999px; box-shadow:0 7px 0 #0b3f42; color:#fff; cursor:pointer; font:800 .78rem var(--wp--preset--font-family--clean-sans); letter-spacing:.08em; margin-top:1rem; padding:1rem 1.4rem; text-transform:uppercase; transition:background-color .18s,box-shadow .18s,transform .18s; }
.ah-contact-form button:hover { background:var(--ah-coral); border-color:var(--ah-coral); box-shadow:0 3px 0 #9b3b2f; transform:translateY(4px); }
.ah-contact-form button:active { box-shadow:none; transform:translateY(7px); }
.ah-contact-form button:focus-visible { outline:3px solid var(--ah-gold); outline-offset:4px; }
.ah-form-trap { height:0; opacity:0; overflow:hidden; position:absolute; width:0; }
.ah-form-status { margin:1rem 0 0!important; padding:1rem!important; }
.ah-form-success { background:#e3f3ed; color:#14543d; }
.ah-form-error { background:#fde5de; color:#8d3026; }

@media (min-width:782px) { .single .ah-article-title { max-width:980px!important; } }
/* Journal masthead alignment: shared inset grid for eyebrow, title, and deck. */
.ah-journal-page-intro > .wp-block-group { padding-left:clamp(2rem,9vw,9rem); padding-right:clamp(2rem,9vw,9rem); }
.ah-journal-page-intro > .wp-block-group > * { margin-left:0!important; margin-right:0!important; max-width:760px!important; }
.ah-journal-page-intro h1 { font-size:clamp(3.4rem,6vw,6rem)!important; }
@media(max-width:781px){ .ah-journal-page-intro > .wp-block-group { padding-left:1.5rem; padding-right:1.5rem; } }
