/* WordPress-specific layout and accessible native controls. */
/* Clip decorative/reveal overflow without creating a scroll container, preserving sticky animations. */
@media(max-width:800px){body.home #main{overflow-x:clip;}}
@media (min-width:801px){.castella-page .castella-hero h1>strong{white-space:nowrap;font-size:clamp(90px,13vw,195px);}}
.header nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}.header nav li a{font-size:16px}.wp-mobile-menu{position:fixed;inset:0 0 0 auto;width:min(440px,100%);height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;background:#fafafa;color:#222629;padding:45px 30px;z-index:99999}.wp-mobile-menu::backdrop{background:#172c3099}.wp-mobile-menu:not([open]){display:none}.wp-mobile-menu nav{display:flex;flex-direction:column;margin:35px 0;gap:20px}.wp-mobile-menu nav a{display:grid;grid-template-columns:1fr auto;font-size:28px;font-weight:700;border-bottom:1px solid #ddd;padding-bottom:15px}.wp-mobile-menu small{grid-row:2;font-size:14px;font-weight:400}.wp-mobile-menu nav a>span{grid-column:2;grid-row:1/3}.wp-faq{border-bottom:1px solid #d3d9dc}.wp-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:18px;padding:24px 0}.wp-faq summary::-webkit-details-marker{display:none}.wp-faq[open] summary svg{transform:rotate(180deg)}.wp-faq .faq-answer{padding:0 0 25px 55px;line-height:2}.wp-work-image{overflow:hidden}.wp-work-image>img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.work-feature{margin-bottom:55px}.work-index-link{display:block;margin-bottom:65px}.work-index-link .wp-work-image{aspect-ratio:1.5;position:relative}.wp-work-single{display:block}.wp-work-cover img{display:block;width:100%;height:auto}.wp-entry{max-width:100%;overflow-wrap:anywhere}.wp-entry h2,.wp-entry h3{margin:1.6em 0 .7em}.wp-entry p{margin-bottom:1.2em}.wp-entry img{max-width:100%;height:auto}.wp-entry ul,.wp-entry ol{padding-left:1.5em}.wp-entry a{text-decoration:underline;text-underline-offset:3px}.wp-entry .wp-block-gallery{display:flex;flex-wrap:wrap;gap:20px}.wp-entry .wp-block-gallery figure{flex:1 1 250px}.wp-entry .alignwide{max-width:100%}.wp-entry input,.wp-entry textarea,.wp-entry select{max-width:100%;font:inherit;padding:12px;border:1px solid #aaa;border-radius:4px}.wp-entry input[type=submit],.wp-entry button{cursor:pointer;padding:14px 24px;background:#172c30;color:white;border:0}.wp-work-single .case-meta{margin:40px 0}.wp-work-single>.text-link{margin:25px 0}.pagination,.nav-links{display:flex;gap:16px;flex-wrap:wrap;margin:40px 0}.page-numbers{padding:10px 15px;border:1px solid #ccc}.page-numbers.current{background:#21b8ce}.admin-bar .wp-mobile-menu{top:32px;height:calc(100dvh - 32px)}
@media(max-width:800px){.wp-faq .faq-answer{padding-left:0}.wp-mobile-menu .site-menu-close{font-size:32px}.work-feature{margin-bottom:35px}.admin-bar .wp-mobile-menu{top:46px;height:calc(100dvh - 46px)}}
.work-index-caption h3{font-size:32px;line-height:1.4;margin:16px 0}.page-hero-meta,.page-breadcrumb{font-size:12px}@media(max-width:800px){.work-index-caption h3{font-size:23px}}
/* News list: the WP template outputs date, title and arrow (3 items), so use 3 columns instead of the 4-column mock layout. */
.article-row{grid-template-columns:120px 1fr 28px}.article-row h2{margin-top:0}
@media(max-width:800px){.article-row{grid-template-columns:95px 1fr 25px}}
@media(max-width:520px){.article-row{grid-template-columns:1fr 23px}.article-row>span{grid-area:1/2/3;align-self:center}.article-row h2{margin-top:6px}}
/* Blog article components (2026-10-07): headings, lists, tables and boxes used by column articles. */
.article-body h2{font-size:24px;line-height:1.6;margin:2.4em 0 1em;padding:.2em 0 .2em .8em;border-left:5px solid var(--page-accent,#e95098)}
.article-body h3{font-size:19px;line-height:1.6;margin:2em 0 .8em;padding-bottom:.35em;border-bottom:1px solid #c8d2d7}
.article-body h4{font-size:17px;margin:1.6em 0 .6em}
.article-body ul,.article-body ol{margin:1.2em 0 1.4em;padding-left:1.6em}.article-body ul{list-style:disc}.article-body ol{list-style:decimal}.article-body li{margin:.35em 0}
.article-body img{margin:1.6em auto;border-radius:10px}.article-body figure{margin:1.8em 0}.article-body figcaption{font-size:13px;color:#55656c;text-align:center;margin-top:-.8em}
.article-body a:not(.cta-button){color:#087589;text-decoration:underline;text-underline-offset:3px}
.scroll-box{overflow-x:auto;margin:1.6em 0;-webkit-overflow-scrolling:touch}
.article-body table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.7}.article-body th,.article-body td{border:1px solid #c8d2d7;padding:.7em .9em;text-align:left;vertical-align:top}.article-body th{background:#f0f3f4;font-weight:700}
.box-point,.box-caution,.box-memo{margin:1.8em 0;padding:1.2em 1.4em;border-radius:10px;border-left:5px solid}.box-point{background:#e0f2f5;border-color:#21b8ce}.box-caution{background:#f9e7f0;border-color:#e95098}.box-memo{background:#e2f3e9;border-color:#33b371}.box-point p,.box-caution p,.box-memo p{margin:.4em 0}
.marker-yellow{background:linear-gradient(transparent 60%,#fff1a8 60%);font-weight:700}
.conversation-box{margin:1.8em 0;padding:1.1em 1.3em;border:1px solid #c8d2d7;border-radius:12px;background:#fff}.conversation-box .name{font-weight:700;color:var(--page-ink,#541d38);margin:0 0 .4em}
.cta-box{margin:2.4em 0;padding:1.6em;border-radius:14px;background:#f6f8f9;border:1px solid #c8d2d7;text-align:center}.cta-box p{margin:.5em 0}.cta-box a{display:inline-block;margin-top:.4em;padding:.85em 1.9em;border-radius:999px;background:#222629;color:#fff!important;text-decoration:none!important;font-weight:700}.cta-box a:hover{background:#e95098}
.article-body details{margin:1em 0;border:1px solid #c8d2d7;border-radius:10px;padding:1em 1.2em;background:#fff}.article-body details summary{cursor:pointer;font-weight:700;list-style:revert}.article-body details[open] summary{margin-bottom:.6em}
@media(max-width:520px){.article-body h2{font-size:20px}.article-body h3{font-size:17px}.cta-box{padding:1.2em}}
