/* Author in Vermont: responsive foundation. Exact mock-up style matching pending source assets/style audit. */
:root{--ink:#28372e;--muted:#5e675e;--paper:#f9f8f4;--accent:#5c765e;--line:#d9ded5;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Georgia,serif}img,video{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.18em}a:focus-visible,button:focus-visible{outline:3px solid #597c9b;outline-offset:4px}.skip-link{position:absolute;left:-9999px;top:0;background:white;padding:12px;z-index:100}.skip-link:focus{left:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.25}.brand-mark{font-size:1.15rem;letter-spacing:.04em}.brand-subtitle{font:12px/1.5 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.primary-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0}.primary-nav li{position:relative}.primary-nav a{text-decoration:none;font:14px/1.5 system-ui,sans-serif}.primary-nav li ul{display:none;position:absolute;top:100%;left:0;min-width:220px;padding:12px;background:var(--paper);border:1px solid var(--line);z-index:10;box-shadow:0 8px 20px #0001}.primary-nav li:hover>ul,.primary-nav li:focus-within>ul{display:block}.primary-nav li ul li{padding:6px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:9px 12px;cursor:pointer}.site-main{max-width:var(--max);margin:auto;padding:48px 28px 90px;min-height:60vh}h1,h2,h3{font-weight:400;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,5rem)}h2{font-size:clamp(1.8rem,3vw,2.8rem)}.site-footer{border-top:1px solid var(--line);padding:32px 24px;text-align:center;font-size:14px;color:var(--muted)}.aiv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.aiv-card{padding:26px;border:1px solid var(--line)}input,textarea,select,button{max-width:100%;font:inherit}input,textarea,select{width:100%;padding:10px;border:1px solid #9ba69a}button,.btn{cursor:pointer} @media(max-width:800px){.header-inner{flex-wrap:wrap;padding:15px 20px}.menu-toggle{display:block}.primary-nav{display:none;width:100%}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li{padding:8px 0;border-bottom:1px solid var(--line)}.primary-nav li ul{display:block;position:static;box-shadow:none;border:0;padding:4px 0 4px 18px}.site-main{padding:30px 20px 60px}.aiv-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keyboard and touch refinements; final mock-up colors and measurements still pending. */
.primary-nav a{display:inline-block;padding:.35rem .15rem;min-height:2.5rem}
.primary-nav li ul a{display:block}
@media(max-width:800px){.primary-nav a{display:block;padding:.55rem .2rem;min-height:44px}.primary-nav li ul a{padding-left:.75rem}.site-header{position:relative;z-index:20}}
@media(min-width:801px){.primary-nav{display:block!important}}

/* v0.3: Joomla core content, category blogs, contact forms, and narrow viewport support. */
:where(.com-content-article,.com-content-category-blog,.com-contact){min-width:0}
:where(.com-content-article,.com-content-category-blog) .page-header{margin-bottom:1.5rem}
.com-content-article__body{overflow-wrap:anywhere}
.com-content-article__body :where(p,ul,ol,blockquote){max-width:75ch}
.com-content-article__body :where(figure,img){max-width:100%}
.com-content-category-blog .blog-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.com-content-category-blog .blog-item{min-width:0;border-bottom:1px solid var(--line);padding-bottom:1.5rem}
.com-content-category-blog .blog-item h2{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.com-contact :where(input:not([type=checkbox]):not([type=radio]),textarea,select){display:block;width:100%;max-width:42rem}
.com-contact :where(label,.control-label){display:block;margin:.7rem 0 .25rem}
.com-contact .form-actions{margin-top:1.5rem}
.com-contact button[type=submit],.com-contact .btn-primary{padding:.7rem 1.3rem;background:var(--accent);color:white;border:1px solid var(--accent)}
.pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0}
.pagination a,.pagination span{display:inline-block;padding:.4rem .7rem}
:where(.site-main,.site-header,.site-footer) :where(a,button,input,textarea,select):focus-visible{outline:3px solid #597c9b;outline-offset:3px}
@media(max-width:650px){.com-content-category-blog .blog-items{grid-template-columns:1fr}.site-main{padding:25px 18px 50px}h1{overflow-wrap:break-word}}
@media(max-width:360px){.header-inner{padding:12px}.site-main{padding:20px 12px 40px}.brand-mark{font-size:1rem}}

/* v0.6: resilient long-form content and print accessibility. */
.site-main :where(pre,table){max-width:100%;overflow-x:auto}
.site-main :where(iframe){max-width:100%}
.site-main :where(figcaption){font-size:.9rem;color:var(--muted)}
.site-main :where(blockquote){margin-inline:0;padding-inline:1.5rem;border-left:3px solid var(--accent)}
.site-main :where(a){overflow-wrap:anywhere}
@media print{
  :root{--ink:#111;--paper:#fff}
  body{background:#fff;color:#111;font-size:12pt}
  .site-header,.site-footer,.skip-link,.menu-toggle,.primary-nav{display:none!important}
  .site-main{max-width:none;padding:0;min-height:0}
  a{text-decoration:underline}
  img{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
}

/* v0.8 homepage article sections: structure derived from public mock-up text; precise visual parity still requires source CSS and image assets. */
.aiv-homepage{width:100%}.aiv-homepage .aiv-section{padding:clamp(3rem,7vw,6rem) 0;border-bottom:1px solid var(--line)}
.aiv-homepage .aiv-eyebrow{font:600 .72rem/1.5 system-ui,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}
.aiv-welcome{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:2rem 0 5rem}
.aiv-welcome h1{margin:.2em 0;font-size:clamp(3.4rem,8vw,7.5rem);line-height:.95}.aiv-welcome h2{font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.3}
.aiv-byline{font:500 .78rem/1.6 system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.aiv-portrait-placeholder{min-height:28rem;display:grid;place-items:center;border:1px dashed var(--line);background:#e9ede7;text-align:center;padding:2rem;color:var(--muted)}
.aiv-work-grid,.aiv-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.aiv-work-card,.aiv-note-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;padding:clamp(1.2rem,2.5vw,2.5rem);border:1px solid var(--line);text-decoration:none;transition:background-color .15s}
.aiv-work-card:hover,.aiv-note-card:hover{background:#edf1ea}.aiv-work-card h3,.aiv-note-card h3{font-size:clamp(1.4rem,2vw,2rem);margin:.4rem 0;line-height:1.2}
.aiv-card-number{font:600 .8rem system-ui,sans-serif;color:var(--accent)}.aiv-work-card>span:last-child{margin-top:auto;font-size:.85rem}
.aiv-inline-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.aiv-hello{text-align:center}.aiv-contact-link{display:inline-block;padding:.8rem 1.5rem;background:var(--accent);color:#fff;text-decoration:none}
@media(max-width:800px){.aiv-welcome{grid-template-columns:1fr}.aiv-portrait-placeholder{min-height:20rem}.aiv-work-grid,.aiv-notes-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.aiv-work-card,.aiv-note-card{transition:none}}

/* v1.1: Keep navigation usable if JavaScript is blocked or fails. */
@media(max-width:800px){
  .no-js .menu-toggle{display:none}
  .no-js .primary-nav{display:block}
  .no-js .primary-nav ul{display:block}
}
/* Prevent landscape photographs, embeds, and code from stretching articles. */
.site-main :where(figure,picture,video,embed,object){max-width:100%}
.site-main :where(img,video){object-fit:contain}
.site-main :where(table){display:block;overflow-x:auto;white-space:normal}

/* v1.2: accessible in-page navigation and long-word resilience. */
#main-content:focus{outline:none}
#main-content:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.site-main :where(h1,h2,h3,h4,p,li){overflow-wrap:break-word}
@media (forced-colors:active){.menu-toggle,.aiv-contact-link{border:1px solid ButtonText}.aiv-work-card,.aiv-note-card{border:1px solid CanvasText}}

/* v1.3: accessible narrow-screen navigation and content image proportions. */
@media(max-width:800px){
  .js .primary-nav:not(.is-open){display:none}
  .js .primary-nav.is-open{display:block}
  .no-js .primary-nav{display:block}
}
.aiv-homepage :where(img,figure){max-width:100%;height:auto}
.aiv-homepage :where(.aiv-work-card,.aiv-note-card):focus-visible{outline:3px solid #597c9b;outline-offset:4px}

/* v1.4: Make embedded Joomla homepage links and native images resilient in staging. */
.aiv-homepage .aiv-welcome-copy{min-width:0}
.aiv-homepage .aiv-welcome :where(img,picture){display:block;width:100%;max-width:100%;height:auto}
.aiv-homepage .aiv-work-card,.aiv-homepage .aiv-note-card{height:100%}
@media(max-width:800px){.aiv-homepage .aiv-welcome{gap:1.5rem}.aiv-homepage .aiv-section{padding:2.75rem 0}}

/* v1.8: Joomla core validation feedback and article image accessibility. */
.site-main :where(.alert,.message,.invalid-feedback){padding:.8rem 1rem;margin-block:1rem;border:1px solid var(--line);border-radius:.25rem}
.site-main :where(.alert-danger,.alert-error,.invalid-feedback){border-color:#a54545;color:#762929;background:#fff4f2}
.site-main :where(.alert-success){border-color:#527c58;background:#f0f8f0}
.site-main :where(.form-control.is-invalid,[aria-invalid=true]){border:2px solid #a54545}
.site-main :where(.form-control:focus-visible,[aria-invalid=true]:focus-visible){outline:3px solid #597c9b;outline-offset:2px}
.site-main :where(.contact-form,.com-contact form){max-width:46rem}
.site-main :where(.com-content-article figure){margin-inline:0}
.site-main :where(.com-content-article figure img){display:block;max-width:100%;height:auto}
@media(max-width:480px){.site-main :where(.btn,button[type=submit]){min-height:44px}.site-main :where(.contact-form textarea){min-height:9rem}}

/* Navigation safety: last dropdown opens inward; keyboard focus remains visible. */
@media(min-width:801px){
  .primary-nav>ul>li:last-child>ul{left:auto;right:0}
  .primary-nav li ul{max-width:min(90vw,24rem)}
  .primary-nav li:focus-within>a{text-decoration:underline;text-underline-offset:.25em}
}

/* Accessibility: respect visitors who disable animation in their system settings.
   This includes anchor scrolling, not only card hover transitions. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  html { scroll-behavior: auto; }
  .aiv-work-card, .aiv-note-card { transition: none; }
}

/* Keep the skip link visible above the fixed/stacked navigation when focused. */
.skip-link:focus-visible { position: fixed; left: 12px; top: 12px; z-index: 1000; }

/* Poetry: preserve authorial lineation in Joomla article content.
   Apply .aiv-poem to the poem wrapper and .aiv-poetry-stanza to each stanza.
   Do not use pre-wrap on the whole article: ordinary prose should reflow. */
.aiv-poem{max-width:68ch;margin-block:2rem}
.aiv-poem .aiv-poetry-stanza{white-space:pre-line;margin-block:0 1.6em;line-height:1.8;overflow-wrap:normal;word-break:normal}
.aiv-poem .aiv-poem-title{margin-bottom:.3em}
.aiv-poem .aiv-poem-credit{font-size:.9em;color:var(--muted)}
@media print{.aiv-poem .aiv-poetry-stanza{break-inside:avoid;page-break-inside:avoid}}

/* Nested Joomla menu levels: open beside their parent on desktop, not below it.
   For right-edge menu branches, open toward the interior of the viewport. */
@media (min-width:801px) {
  .primary-nav li ul li > ul { top:0; left:100%; right:auto; }
  .primary-nav > ul > li:last-child ul li > ul,
  .primary-nav > ul > li:nth-last-child(2) ul li > ul { left:auto; right:100%; }
  .primary-nav li ul li:focus-within > ul { display:block; }
}
/* Restore an ordinary indented hierarchy on small screens; no flyouts. */
@media (max-width:800px) {
  .primary-nav li ul li > ul,
  .primary-nav > ul > li:last-child ul li > ul,
  .primary-nav > ul > li:nth-last-child(2) ul li > ul {
    position:static; left:auto; right:auto; top:auto;
    max-width:100%; box-shadow:none;
  }
}

/* Song pages: preserve deliberate line breaks without forcing nowrap on mobile.
   Each verse/chorus is an independent .aiv-lyric-stanza element. */
.aiv-song{max-width:68ch}
.aiv-song .aiv-song-stanza{white-space:pre-line;line-height:1.8;margin-block:0 1.5em;overflow-wrap:break-word}
.aiv-song .aiv-song-credit{font-style:italic;margin-block:0 1.4em}
@media print{.aiv-song .aiv-song-stanza{break-inside:avoid;page-break-inside:avoid}}

.aiv-portrait img{display:block;width:100%;height:auto;object-fit:cover}.aiv-footer-art{display:block;max-width:min(100%,640px);height:auto;margin:0 auto 1.25rem}

/* Original magazine covers: uniform visual footprint without cropping any cover artwork. */
.aiv-magazine-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,2vw,1.5rem);align-items:start;margin:1.5rem 0}
.aiv-magazine-covers img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center top;background:transparent}
@media(max-width:700px){.aiv-magazine-covers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Original horizontal signature logo on the Contact page and shared footer. */
.aiv-contact-logo{margin:3rem auto 0;text-align:center}.aiv-contact-logo img{display:block;width:min(100%,860px);height:auto;margin:auto}

/* Original RWN expo photo gallery; one archival overhead view pending. */
.aiv-expo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 1rem;align-items:center}
.aiv-expo-gallery figure{margin:0;min-width:0;text-align:center}
.aiv-expo-gallery img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
@media(max-width:600px){.aiv-expo-gallery{grid-template-columns:1fr}}

/* Panoramic expo crowd photograph spans the full gallery width. */
.aiv-expo-gallery .aiv-expo-gallery-wide{grid-column:1/-1}
.aiv-expo-gallery .aiv-expo-gallery-wide img{max-height:none;width:100%;height:auto;object-fit:contain}

/* Keyboard-accessible section headings in the main navigation. */
.primary-nav .aiv-menu-heading{font:14px/1.5 system-ui,sans-serif;color:inherit;background:transparent;border:0;cursor:pointer;text-align:left;padding:.35rem .15rem}
.primary-nav .aiv-menu-heading:focus-visible{outline:3px solid #597c9b;outline-offset:3px}
@media(min-width:801px){.primary-nav li.submenu-open > ul{display:block}}
@media(max-width:800px){.primary-nav .aiv-menu-heading{width:100%;min-height:44px;padding:.55rem .2rem}.primary-nav .aiv-menu-heading span[aria-hidden]{display:none}}

/* Native Joomla menu headings become operable buttons, visually matching links. */
.primary-nav .aiv-menu-heading{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:14px/1.5 system-ui,sans-serif;padding:.35rem .15rem;min-height:2.5rem}
.primary-nav li.submenu-open>ul{display:block}
.primary-nav .aiv-menu-heading:hover{text-decoration:underline;text-underline-offset:.25em}
@media(max-width:800px){.primary-nav .aiv-menu-heading{display:block;width:100%;padding:.55rem .2rem;min-height:44px}}

/* Archival expo photographs are only 267px wide in the supplied originals.
   Avoid enlarging them into blurry half-page gallery images. */
.aiv-expo-gallery img[src$="rwn-expo-boston-jewelry.jpg"],
.aiv-expo-gallery img[src$="rwn-expo-atlanta-attendees.jpg"] {
  width:auto;
  max-width:min(100%,267px);
  margin-inline:auto;
}

/* Joomla navigation headings are genuine controls, styled alongside links. */
.primary-nav .aiv-menu-heading{display:inline-flex;align-items:center;gap:.25rem;min-height:2.5rem;padding:.35rem .15rem;border:0;background:transparent;color:inherit;font:14px/1.5 system-ui,sans-serif;cursor:pointer;text-align:left}
.primary-nav .aiv-menu-heading:hover,.primary-nav .aiv-menu-heading[aria-expanded="true"]{text-decoration:underline;text-underline-offset:.25em}
.primary-nav li.submenu-open>ul{display:block}
@media(max-width:800px){.primary-nav .aiv-menu-heading{display:flex;width:100%;min-height:44px;padding:.55rem .2rem}.primary-nav li>ul{display:block}}

/* Mobile navigation is a compact accordion when JavaScript is available.
   The no-JavaScript fallback deliberately keeps all links visible. */
@media (max-width:800px) {
  .js .primary-nav li > ul { display:none; }
  .js .primary-nav li.submenu-open > ul { display:block; }
  .no-js .primary-nav li > ul { display:block; }
  .primary-nav .aiv-menu-heading[aria-expanded="true"] { color:var(--accent);font-weight:600; }
  .primary-nav .aiv-menu-heading span[aria-hidden] { display:inline;float:right; }
  .primary-nav li > ul { margin-top:.3rem; }
}

/* v1.11: Indicate the current page and its parent menu group. */
.primary-nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}
.primary-nav .aiv-current-branch>.aiv-menu-heading{font-weight:700}
@media(max-width:800px){.primary-nav .aiv-current-branch>.aiv-menu-heading{color:var(--accent)}}

/* Joomla homepage uses a composed hero rather than an interior article header.
   Remove only the surrounding Joomla spacing, preserving the authored layout. */
.aiv-page-home .site-main{padding-top:0}
.aiv-page-home .aiv-joomla-article>.com-content-article__body{width:100%}
.aiv-page-home .aiv-welcome{padding-top:clamp(2rem,5vw,4.5rem)}
.aiv-page-home .aiv-joomla-article>.com-content-article__body>h1:first-child{margin-top:0}
@media(max-width:800px){.aiv-page-home .site-main{padding-top:0}}

/* Homepage editorial composition: distinct from ordinary long-form article pages.
   Source wording and original portrait remain untouched; this is presentation only. */
.aiv-page-home .site-main{max-width:none;padding:0;min-height:0}
.aiv-page-home .aiv-homepage{width:100%}
.aiv-page-home .aiv-welcome,
.aiv-page-home .aiv-section{padding-inline:max(28px,calc((100vw - 1160px)/2))}
.aiv-page-home .aiv-welcome{min-height:min(760px,calc(100svh - 100px));padding-block:clamp(3rem,6vw,6rem);gap:clamp(2rem,5vw,6rem)}
.aiv-page-home .aiv-welcome-copy{max-width:630px}
.aiv-page-home .aiv-welcome h1{font-size:clamp(4rem,8.5vw,8.5rem);letter-spacing:-.055em;line-height:.89;margin:.18em 0 .25em}
.aiv-page-home .aiv-welcome h2{font-size:clamp(1.5rem,2.5vw,2.35rem);line-height:1.3;margin:1.25em 0 .7em}
.aiv-page-home .aiv-welcome-copy>p:last-child{max-width:60ch}
.aiv-page-home .aiv-portrait{width:100%;min-width:0;align-self:stretch;display:flex;align-items:center}
.aiv-page-home .aiv-portrait img{width:100%;max-height:720px;object-fit:cover;object-position:center}
.aiv-page-home .aiv-section>h2{max-width:23ch}
.aiv-page-home .aiv-section>p:not(.aiv-eyebrow){max-width:68ch}
.aiv-page-home .aiv-work-card,.aiv-page-home .aiv-note-card{background:transparent;min-height:220px}
.aiv-page-home .aiv-work-card:hover,.aiv-page-home .aiv-note-card:hover{background:#edf1ea}
.aiv-page-home .aiv-life{background:#f0f1eb}
.aiv-page-home .aiv-hello{border-bottom:0;padding-bottom:clamp(4rem,8vw,8rem)}
.aiv-page-home .aiv-hello>h2{max-width:none}
@media(max-width:800px){
  .aiv-page-home .aiv-welcome,.aiv-page-home .aiv-section{padding-inline:20px}
  .aiv-page-home .aiv-welcome{min-height:0;padding-block:2.5rem 3.5rem}
  .aiv-page-home .aiv-portrait{max-width:540px}
  .aiv-page-home .aiv-portrait img{max-height:none}
  .aiv-page-home .aiv-work-card,.aiv-page-home .aiv-note-card{min-height:0}
}
@media(max-width:360px){.aiv-page-home .aiv-welcome,.aiv-page-home .aiv-section{padding-inline:12px}.aiv-page-home .aiv-welcome h1{font-size:clamp(3.5rem,16vw,4.5rem)}}

/* v1.14: finished homepage editorial treatment, shared by Joomla and preview.
   Original text and photographs are not modified. */
.aiv-page-home .site-main{max-width:var(--max);padding-top:clamp(2rem,4vw,4.5rem)}
.aiv-homepage .aiv-welcome{padding-top:0;gap:clamp(2rem,5vw,5.25rem)}
.aiv-homepage .aiv-welcome-copy>p:last-child{max-width:59ch}
.aiv-homepage .aiv-welcome h1{font-size:clamp(3.4rem,7.3vw,6.8rem);letter-spacing:-.035em;line-height:.98}
.aiv-homepage .aiv-welcome h2{font-size:clamp(1.45rem,2.25vw,2.15rem);line-height:1.35;margin-block:1.2rem}
.aiv-homepage .aiv-portrait{min-width:0;align-self:start}
.aiv-homepage .aiv-portrait img{width:100%;height:auto;max-height:760px;object-fit:contain;object-position:center top}
.aiv-homepage .aiv-section>h2{max-width:21ch;margin:.4em 0 .6em;letter-spacing:-.02em}
.aiv-homepage .aiv-section>p:not(.aiv-eyebrow){max-width:73ch}
.aiv-homepage .aiv-work-grid,.aiv-homepage .aiv-notes-grid{gap:clamp(.8rem,1.6vw,1.5rem)}
.aiv-homepage .aiv-work-card,.aiv-homepage .aiv-note-card{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.aiv-homepage .aiv-work-card:hover,.aiv-homepage .aiv-note-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.aiv-homepage .aiv-hello>h2{max-width:none}
.aiv-homepage .aiv-hello>p:not(.aiv-eyebrow){margin-inline:auto}
.aiv-homepage .aiv-contact-link{margin-top:.8rem}
@media(max-width:800px){
  .aiv-homepage .aiv-welcome{grid-template-columns:1fr;gap:1.5rem;padding-bottom:3rem}
  .aiv-homepage .aiv-portrait{max-width:560px}
  .aiv-homepage .aiv-welcome h1{font-size:clamp(3rem,12vw,5.2rem)}
  .aiv-homepage .aiv-section>h2{max-width:100%}
}
@media(max-width:480px){
  .aiv-page-home .site-main{padding-top:1.6rem}
  .aiv-homepage .aiv-section{padding-block:2.5rem}
  .aiv-homepage .aiv-work-card,.aiv-homepage .aiv-note-card{padding:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  .aiv-homepage .aiv-work-card,.aiv-homepage .aiv-note-card{transition:none}
  .aiv-homepage .aiv-work-card:hover,.aiv-homepage .aiv-note-card:hover{transform:none}
}

/* v1.15: Homepage content is already contained by .site-main. Do not apply
   viewport-sized gutters a second time inside the constrained main column. */
.aiv-page-home .site-main{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:28px}
.aiv-page-home .aiv-welcome,
.aiv-page-home .aiv-section{padding-inline:0}
@media(max-width:800px){.aiv-page-home .site-main{padding-inline:20px}}
@media(max-width:360px){.aiv-page-home .site-main{padding-inline:12px}}
