/* Component styling complements editable theme.json global styles. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
body, .editor-styles-wrapper { --forma-gutter: clamp(1.25rem,4vw,4rem); }
:where(h1,h2,h3,p,figure) { margin-top: 0; }
img { max-width:100%; height:auto; }
a { text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
:where(a,button,input,textarea,select,summary):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 5px; }
::selection { background:var(--wp--preset--color--accent); color:var(--wp--preset--color--base); }
.wp-site-blocks > * { margin-block-start:0; }
.forma-header,.forma-footer,.forma-main { max-width:1240px; margin-inline:auto; }
.forma-header { min-height:104px; padding-block:1.5rem; border-bottom:1px solid var(--wp--preset--color--line); gap:2rem; }
.forma-header .wp-block-site-title { margin:0; }
.forma-brand { gap:.6rem; }
.forma-header .wp-block-navigation { margin-block:0; }
.wp-block-navigation a { text-decoration:none; }
.wp-block-navigation a:hover { text-decoration:underline; }
.wp-block-navigation__responsive-container.is-menu-open { padding:2rem; }
.forma-header .wp-block-navigation__container { gap:1.8rem; }
.forma-hero { padding-top:clamp(2.5rem,5vw,5rem); }
.forma-hero-columns { align-items:center!important; gap:clamp(2rem,5vw,5rem)!important; }
.forma-hero h1 { margin-block:1.35rem 1.5rem; }
.forma-hero h1 em,.forma-contact h2 em { font-family:var(--wp--preset--font-family--serif); font-weight:400; }
.forma-hero-copy .forma-lead { max-width:460px; }
.forma-hero-copy .wp-block-buttons { margin-top:2.2rem; gap:.8rem; }
.forma-hero-art { margin:0; }
.forma-hero-art img { display:block; width:100%; aspect-ratio:1/1.1; object-fit:cover; border-radius:5px; }
.forma-hero-bottom { border-bottom:1px solid var(--wp--preset--color--line); padding-block:1.8rem; margin-top:2.5rem; gap:1rem; }
.forma-hero-bottom p { margin:0; }
.forma-eyebrow { font-family:var(--wp--preset--font-family--mono); font-size:.68rem; font-weight:500; letter-spacing:.14em; line-height:1.7; }
.forma-lead { font-size:clamp(1.05rem,1.5vw,1.22rem); line-height:1.7; color:var(--wp--preset--color--muted); }
.forma-small { font-size:.8rem; }
.forma-muted { color:var(--wp--preset--color--muted); }
.forma-section { padding-block:clamp(3.5rem,7vw,6rem); border-bottom:1px solid var(--wp--preset--color--line); margin-block:0; }
.forma-section > .forma-eyebrow { margin-bottom:1.6rem; }
.forma-section-heading { align-items:flex-end!important; gap:3rem!important; margin-bottom:3rem; }
.forma-section-heading h2 { margin-bottom:0; }
.forma-section-heading .forma-lead { max-width:420px; margin:0 0 0 auto; }
.forma-services-grid { gap:1.15rem!important; margin-top:2.8rem; }
.forma-service-card { padding:2rem; height:100%; border:1px solid var(--wp--preset--color--line); border-radius:5px; }
.forma-service-card h3 { margin-top:2.7rem; }
.forma-service-card p:not(.forma-card-number) { color:var(--wp--preset--color--muted); }
.forma-card-number { font-family:var(--wp--preset--font-family--mono); color:var(--wp--preset--color--accent); font-size:.75rem; }
.forma-service-card p:last-child { border-top:1px solid var(--wp--preset--color--line); margin-top:1.8rem; padding-top:1rem; font-size:.68rem; }
.forma-work-grid { gap:2rem!important; }
.forma-work-image { margin:0; }
.forma-work-image img { width:100%; display:block; aspect-ratio:1.2; object-fit:cover; border-radius:5px; }
.forma-project-caption { padding-top:1.2rem; }
.forma-project-caption h3 { margin:0 0 .3rem; font-size:1.3rem; }
.forma-project-caption p { margin:0; }
.forma-about-columns { gap:3rem!important; }
.forma-about-columns > .wp-block-column:first-child { flex-basis:32%; }
.forma-about-columns > .wp-block-column:last-child { flex-basis:68%; }
.forma-about h2 { margin-bottom:2rem; }
.forma-about .forma-lead { max-width:720px; }
.forma-process-card { padding-top:1.5rem; border-top:1px solid var(--wp--preset--color--line); }
.forma-process-card p { color:var(--wp--preset--color--muted); }
.forma-faq-columns { gap:3rem!important; }
.wp-block-details { border-bottom:1px solid var(--wp--preset--color--line); padding-block:1.2rem; margin:0; }
.wp-block-details summary { cursor:pointer; font-weight:600; }
.wp-block-details p { color:var(--wp--preset--color--muted); }
.forma-contact { background:var(--wp--preset--color--contrast); color:var(--wp--preset--color--base); border:0; border-radius:5px; padding:clamp(2rem,6vw,5rem); margin-block:4rem; }
.forma-contact .forma-lead { color:inherit; opacity:.8; max-width:600px; }
.forma-contact a { color:inherit; }
.forma-contact h2 { font-size:clamp(2.3rem,5vw,4.5rem); margin-block:1.4rem; }
.forma-contact-link { font-size:clamp(1.1rem,2.5vw,1.6rem); margin-top:2rem; }
.forma-contact .forma-small { opacity:.7; }
.forma-footer { padding-block:3rem 2rem; }
.forma-footer-columns { gap:2rem!important; }
.forma-footer-note { text-align:right; }
.forma-footer-note h3 { font-family:var(--wp--preset--font-family--serif); font-style:italic; }
.forma-footer-note p { font-size:.9rem; color:var(--wp--preset--color--muted); }
.forma-footer-bottom { border-top:1px solid var(--wp--preset--color--line); padding-top:1.5rem; margin-top:2rem; gap:1rem; color:var(--wp--preset--color--muted); }
.forma-footer-bottom p { margin:0; }
.forma-footer-bottom .wp-block-navigation { font-size:.8rem; }
.forma-page-intro { padding-block:clamp(3rem,7vw,6rem); }
.forma-page-intro h1 { max-width:1000px; margin-block:1rem 1.5rem; }
.forma-page-intro .forma-lead { max-width:700px; }
.forma-page-main,.forma-single-main { padding-bottom:3rem; }
.forma-reading-width { max-width:760px; margin:3rem auto; }
.forma-single-intro { max-width:1000px; }
.forma-post-meta { font-size:.8rem; gap:1rem; color:var(--wp--preset--color--muted); }
.forma-post-navigation { padding-block:2rem; margin-block:2rem; border-block:1px solid var(--wp--preset--color--line); }
.wp-block-post-template { gap:2.5rem 2rem!important; }
.wp-block-post-template .wp-block-post-featured-image img { border-radius:5px; }
.wp-block-post-template .wp-block-post-title { margin-block:.75rem; }
.wp-block-query-pagination { margin-top:3rem; gap:1rem; }
.wp-block-query-pagination-numbers { display:flex; gap:1rem; }
.wp-block-search__input,input:not([type=submit]):not([type=checkbox]):not([type=radio]),textarea,select { border:1px solid var(--wp--preset--color--line); border-radius:3px; background:var(--wp--preset--color--base); color:var(--wp--preset--color--contrast); padding:.8rem; font:inherit; max-width:100%; }
.wp-block-search__button, input[type=submit] { background:var(--wp--preset--color--contrast); color:var(--wp--preset--color--base); padding:.8rem 1.2rem; border:0; border-radius:3px; cursor:pointer; font:inherit; }
.wp-block-search { max-width:640px; }
.wp-block-button__link { transition:transform .15s ease,opacity .15s ease; }
.wp-block-button__link:hover { transform:translateY(-2px); opacity:.88; }
.wp-block-button.is-style-outline .wp-block-button__link { color:var(--wp--preset--color--contrast); border:1px solid var(--wp--preset--color--line); background:transparent; padding:calc(.9rem - 1px) calc(1.5rem - 1px); }
.wp-block-post-content { overflow-wrap:break-word; }
.wp-block-post-content > .alignfull { max-width:none; }
.wp-block-table { overflow-x:auto; }
.wp-block-post-content pre { overflow-x:auto; padding:1rem; background:var(--wp--preset--color--surface); }
.wp-block-comment-template { list-style:none; padding:0; }
.wp-block-comment-template li { border-top:1px solid var(--wp--preset--color--line); padding-block:1.5rem; }
@media(max-width:781px) {
 .forma-header { min-height:80px; }
 .forma-hero-columns { gap:2rem!important; }
 .forma-hero h1 { font-size:clamp(3rem,10vw,4.5rem); }
 .forma-hero-art img { aspect-ratio:1.2; }
 .forma-section-heading { gap:1rem!important; }
 .forma-section-heading .forma-lead { max-width:none; margin:0; }
 .forma-service-card h3 { margin-top:1.7rem; }
 .forma-footer-note { text-align:left; }
 .forma-about-columns,.forma-faq-columns { gap:1.5rem!important; }
 .wp-block-post-template.is-layout-grid { grid-template-columns:1fr!important; }
 .forma-contact { margin-block:2rem; }
 .forma-hero-bottom { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
@media print { .forma-header .wp-block-navigation,.forma-footer,.wp-block-buttons,.wp-block-post-comments-form { display:none; } .forma-contact { background:transparent; color:#000; } }

.abu-profile-card { padding:clamp(1.6rem,3vw,3rem); border:1px solid var(--wp--preset--color--line); background:var(--wp--preset--color--surface); border-radius:5px; position:relative; }
.abu-profile-card h2 { font-family:var(--wp--preset--font-family--serif); font-size:clamp(2rem,3.5vw,3.2rem); font-weight:400; margin-block:2rem; }
.abu-profile-lines .forma-eyebrow { margin-block:1.3rem .4rem; color:var(--wp--preset--color--muted); }
.abu-profile-lines p:not(.forma-eyebrow) { font-size:.95rem; line-height:1.6; }
.abu-profile-bottom { border-top:1px solid var(--wp--preset--color--line); padding-top:1.5rem; margin-top:2rem; }
.abu-profile-bottom p { margin-block:0 .3rem; }
.abu-project-grid { gap:1.5rem!important; }
.abu-project-card { border:1px solid var(--wp--preset--color--line); padding:clamp(1.5rem,3vw,2.5rem); border-radius:5px; height:100%; }
.abu-project-card h3 { font-size:clamp(1.7rem,2.6vw,2.3rem); line-height:1.2; margin-block:1.5rem; }
.abu-project-card .wp-block-details { border-top:1px solid var(--wp--preset--color--line); border-bottom:0; margin-top:1.5rem; font-size:.9rem; padding-bottom:0; }
.abu-project-card .wp-block-details p { margin-top:1rem; }
.abu-project-subtitle { color:var(--wp--preset--color--muted); font-size:.85rem; }
.abu-status { font-size:.68rem; letter-spacing:.03em; display:inline-block; padding:.35rem .7rem; background:var(--wp--preset--color--surface); border-radius:3px; margin-block:1rem 0; }
.abu-metric-block { margin-block:2rem; }
.abu-metric { font-family:var(--wp--preset--font-family--serif); font-size:4rem; line-height:1; margin-bottom:.5rem; }
.abu-resume-grid { gap:4rem!important; }
.abu-resume-column > h3 { font-family:var(--wp--preset--font-family--serif); font-size:1.7rem; margin-bottom:2rem; }
.abu-role { border-top:1px solid var(--wp--preset--color--line); padding-block:1.6rem; }
.abu-role .forma-eyebrow { font-size:.62rem; margin-bottom:1rem; }
.abu-role h3 { font-size:1.35rem; margin-bottom:.5rem; }
.abu-role-org { font-size:.8rem; color:var(--wp--preset--color--muted); margin-bottom:1rem; }
.abu-role p:last-child { font-size:.95rem; }
.abu-brand { font-size:1.1rem; font-weight:650; letter-spacing:-.035em; margin:0; }
.abu-brand a { text-decoration:none; }
.abu-brand-dot { color:var(--wp--preset--color--accent); }
.abu-skill h3 { font-size:1.3rem; }
.abu-skill p { font-size:.95rem; }
@media(max-width:781px){.abu-profile-card { margin-top:1rem; }.abu-resume-grid {gap:2rem!important;}}
