/* Scoped to the editable About starter; existing pages keep their layout. */
.oy-about-layout { padding-top:120px; padding-bottom:90px; color:#000; font-family:Manrope,Arial,sans-serif; }
.oy-about-layout .oy-about-section { padding:64px 0; border-top:1px solid #d5d5d5; }
.oy-about-layout > .oy-about-section:first-child { border:0; padding-top:20px; }
.oy-about-layout .oy-about-eyebrow { font-size:12px; line-height:1.4; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 24px; }
.oy-about-layout h2 { font-size:clamp(30px,4vw,56px); line-height:1.08; letter-spacing:-.035em; font-weight:500; margin:0 0 36px; max-width:23ch; }
.oy-about-layout > .oy-about-section:first-child h2 { font-size:clamp(40px,6vw,80px); }
.oy-about-layout h3 { font-size:clamp(22px,2vw,28px); line-height:1.2; font-weight:500; margin:0 0 18px; }
.oy-about-layout p { font-size:18px; line-height:1.6; margin:0 0 22px; }
.oy-about-layout .wp-block-columns { display:flex; gap:clamp(24px,5vw,70px); margin:32px 0 0; align-items:stretch; }
.oy-about-layout .wp-block-column { flex:1; min-width:0; }
.oy-about-layout .oy-about-card { height:100%; box-sizing:border-box; padding:30px; border-radius:20px; background:#f3f3f3; }
.oy-about-layout .oy-about-card:hover { background:#ffe800; }
.oy-about-layout .oy-about-card p:last-child { margin-bottom:0; }
.oy-about-layout .oy-about-image-slot { aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; border-radius:20px; background:#f3f3f3; color:#666; margin:32px 0; text-align:center; border:1px dashed #aaa; }
.oy-about-layout .oy-about-image-slot p { font-size:15px; max-width:35ch; margin:0; }
.oy-about-layout .wp-block-image img,.oy-about-layout video { display:block; width:100%; height:auto; border-radius:20px; }
.oy-about-layout a { color:inherit; text-underline-offset:4px; }
.oy-about-layout .wp-block-button__link { display:inline-flex; padding:16px 30px; border-radius:999px; color:#000; background:#ffe800; text-decoration:none; font-size:18px; font-weight:700; }
.oy-about-layout .wp-block-button__link:hover { background:#000; color:#ffe800; }
.oy-about-layout .wp-block-button__link:focus-visible { outline:2px solid #000; outline-offset:4px; }
.oy-about-layout .wp-block-table { overflow-x:auto; }
.oy-about-layout table { width:100%; border-collapse:collapse; text-align:left; }
.oy-about-layout td,.oy-about-layout th { padding:18px 12px; border:0; border-bottom:1px solid #ccc; font-size:16px; }
@media(max-width:850px) {
 .oy-about-layout { padding-top:85px; }
 .oy-about-layout .oy-about-section { padding:40px 0; }
 .oy-about-layout .wp-block-columns { flex-direction:column; }
 .oy-about-layout .oy-about-card { height:auto; }
}
@media(prefers-reduced-motion:reduce) { .oy-about-layout * { scroll-behavior:auto; } }
/* Editable native Details blocks: pointer and keyboard accessible accordions. */
.oy-about-layout .wp-block-details { border-top:1px solid #ccc; padding:0; margin:0; }
.oy-about-layout .wp-block-details:last-child { border-bottom:1px solid #ccc; }
.oy-about-layout .wp-block-details summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; padding:24px 8px; font-size:clamp(20px,2.2vw,30px); line-height:1.25; font-weight:500; }
.oy-about-layout .wp-block-details summary::-webkit-details-marker { display:none; }
.oy-about-layout .wp-block-details summary::after { content:'+'; flex-shrink:0; width:36px; height:36px; border-radius:50%; background:#ffe800; color:#000; display:flex; align-items:center; justify-content:center; font-size:28px; }
.oy-about-layout .wp-block-details[open] summary::after { content:'−'; }
.oy-about-layout .wp-block-details summary:hover { background:#f5f5f5; }
.oy-about-layout .wp-block-details summary:focus-visible { outline:2px solid #000; outline-offset:3px; }
.oy-about-layout .wp-block-details > :not(summary) { margin:0 8px 24px; max-width:65ch; }

/* Alternating service spreads, with numbered keyline accordion cards. */
.oy-about-layout .oy-about-service { padding:72px 0; }
.oy-about-layout .oy-service-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); align-items:start; }
.oy-about-layout .oy-service-copy { min-width:0; counter-reset:oy-service-item; }
.oy-about-layout .oy-service-copy h2 { font-size:clamp(32px,3.5vw,52px); margin-bottom:24px; }
.oy-about-layout .oy-service-copy > p:not(.oy-about-eyebrow) { margin-bottom:32px; }
.oy-about-layout .oy-service-copy .oy-about-eyebrow { display:flex; align-items:center; gap:10px; }
.oy-about-layout .oy-service-copy .oy-about-eyebrow::before { content:''; width:7px; height:7px; flex-shrink:0; border-radius:50%; background:#ffe800; }
.oy-about-layout .oy-service-media { min-width:0; }
.oy-about-layout .oy-service-media .oy-about-image-slot { margin:0; aspect-ratio:4 / 5; min-height:420px; background:#f1f0ec; border:1px dashed #aaa; }
.oy-about-layout .oy-service-media .wp-block-image { margin:0; }
.oy-about-layout .oy-service-media .wp-block-image img { aspect-ratio:4 / 5; object-fit:cover; }
.oy-about-layout .oy-service-reversed .oy-service-copy { grid-column:2; grid-row:1; }
.oy-about-layout .oy-service-reversed .oy-service-media { grid-column:1; grid-row:1; }
.oy-about-layout .oy-service-copy .wp-block-details { box-sizing:border-box; margin:0 0 12px; border:1px solid #c9c9c5; border-radius:14px; background:#fff; }
.oy-about-layout .oy-service-copy .wp-block-details:last-child { margin-bottom:0; }
.oy-about-layout .oy-service-copy .wp-block-details summary { display:grid; grid-template-columns:28px minmax(0,1fr) 28px; column-gap:16px; padding:23px 22px; font-size:clamp(17px,1.4vw,21px); font-weight:600; border-radius:14px; }
.oy-about-layout .oy-service-copy .wp-block-details summary::before { counter-increment:oy-service-item; content:counter(oy-service-item); display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#ffe800; color:#000; font-size:14px; font-weight:500; }
.oy-about-layout .oy-service-copy .wp-block-details summary::after { width:28px; height:28px; background:transparent; font-size:30px; font-weight:400; }
.oy-about-layout .oy-service-copy .wp-block-details summary:hover { background:#f6f5ef; }
.oy-about-layout .oy-service-copy .wp-block-details[open] { border-color:#888; }
.oy-about-layout .oy-service-copy .wp-block-details > :not(summary) { margin:0 22px 24px 66px; font-size:17px; }
@media(max-width:850px) {
 .oy-about-layout .oy-about-service { padding:40px 0; }
 .oy-about-layout .oy-service-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .oy-about-layout .oy-service-reversed .oy-service-copy,
 .oy-about-layout .oy-service-reversed .oy-service-media { grid-column:auto; grid-row:auto; }
 .oy-about-layout .oy-service-media .oy-about-image-slot { aspect-ratio:16 / 9; min-height:0; }
 .oy-about-layout .oy-service-media .wp-block-image img { aspect-ratio:16 / 9; }
 .oy-about-layout .oy-service-copy .wp-block-details summary { padding:20px 16px; column-gap:12px; }
 .oy-about-layout .oy-service-copy .wp-block-details > :not(summary) { margin-left:56px; margin-right:16px; }
}

/* Keep desktop service images level with the full text/accordion column. */
@media(min-width:851px) {
 .oy-about-layout .oy-service-grid { align-items:stretch; }
 .oy-about-layout .oy-service-media { position:relative; min-height:420px; }
 .oy-about-layout .oy-service-media > .oy-about-image-slot,
 .oy-about-layout .oy-service-media > .wp-block-image {
     position:absolute; inset:0; width:100%; height:100%; margin:0;
     aspect-ratio:auto; min-height:0; box-sizing:border-box;
 }
 .oy-about-layout .oy-service-media > .wp-block-image img {
     width:100%; height:100%; aspect-ratio:auto; object-fit:cover;
 }
 .oy-about-layout .oy-service-media > .wp-block-image a { display:block; width:100%; height:100%; }
}
/* Keep service spreads in two columns on small laptops and landscape tablets. */
@media(min-width:701px) {
 .oy-about-layout .oy-service-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:stretch; }
 .oy-about-layout .oy-service-reversed .oy-service-copy { grid-column:2; grid-row:1; }
 .oy-about-layout .oy-service-reversed .oy-service-media { grid-column:1; grid-row:1; }
 .oy-about-layout .oy-service-media { position:relative; min-height:420px; }
 .oy-about-layout .oy-service-media > .wp-block-image { position:absolute; inset:0; width:100%; height:100%; margin:0; }
 .oy-about-layout .oy-service-media > .wp-block-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
 .oy-about-layout .oy-service-media > .wp-block-image a { display:block; width:100%; height:100%; }
}
@media(max-width:700px) {
 .oy-about-layout .oy-service-grid { grid-template-columns:minmax(0,1fr); }
 .oy-about-layout .oy-service-copy,.oy-about-layout .oy-service-media { grid-column:auto; grid-row:auto; }
}

/* Classic WordPress themes can insert an extra Group inner container.
   Let its children participate in the service grid instead of one stacked item. */
.oy-about-layout .oy-service-grid > .wp-block-group__inner-container,
.oy-about-layout .oy-service-media > .wp-block-group__inner-container { display:contents; }
.oy-about-layout .oy-service-grid .oy-service-copy,
.oy-about-layout .oy-service-grid .oy-service-media { width:100%; max-width:none; margin-left:0; margin-right:0; }
@media(min-width:701px) {
 .oy-about-layout .oy-service-media .wp-block-image,
 .oy-about-layout .oy-service-media .oy-about-image-slot {
    position:absolute; inset:0; width:100%; height:100%; margin:0;
    min-height:0; aspect-ratio:auto; box-sizing:border-box;
 }
 .oy-about-layout .oy-service-media .wp-block-image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
 .oy-about-layout .oy-service-media .wp-block-image a { display:block; width:100%; height:100%; }
}

/* Breathing room between founder portraits and names. */
.oy-about-layout .oy-about-leadership .wp-block-image { margin:0 0 32px; }
.oy-about-layout .oy-about-leadership .wp-block-column > h3,
.oy-about-layout .oy-about-leadership .wp-block-column > .wp-block-group__inner-container > h3 { margin-top:0; }

/* Open service copy with editable capability lists. */
.oy-about-layout .oy-service-static h2 { margin-bottom:20px; }
.oy-about-layout .oy-service-static h3 { font-size:clamp(20px,2vw,26px); font-weight:700; margin-bottom:24px; }
.oy-about-layout .oy-service-static p { margin-bottom:20px; }
.oy-about-layout .oy-service-list { list-style:disc; padding-left:22px; margin:28px 0 0; columns:2; column-gap:28px; }
.oy-about-layout .oy-service-list li { padding-left:4px; margin:0 0 12px; font-size:16px; line-height:1.5; break-inside:avoid; }
.oy-about-layout .oy-service-list li::marker { color:#000; }
.oy-about-layout .oy-service-media,.oy-about-layout .oy-service-media img { border-radius:0; }
.oy-services-only { padding-top:0; padding-bottom:0; }
@media(max-width:850px) { .oy-about-layout .oy-service-list { columns:1; } }
