.iks-menu-overlay[hidden]{display:none!important}
.iks-menu-overlay{position:fixed;inset:0;z-index:1000;background:#0007;display:flex;justify-content:flex-end}
.iks-menu-panel{background:#fff;width:min(90vw,420px);height:100%;overflow:auto;padding:70px 30px 36px;position:relative}
.iks-menu-close{position:absolute;right:22px;top:24px;background:none;border:0;padding:10px}
.iks-menu-name{font-size:1.5rem;font-weight:700}
.iks-menu-panel>p{font-size:.875rem}
.iks-menu-panel nav{display:grid;margin:28px 0}
.iks-menu-panel nav a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:15px 0;font-size:1rem}
.iks-menu-panel .menu-phone{display:block;margin-top:25px;font-size:1.5rem;color:var(--green)}
.admin-bar .iks-menu-overlay{top:32px}
.iks-contact-form{max-width:850px;margin:65px auto 0;border-top:1px solid var(--border);padding-top:35px;scroll-margin-top:35px}
.iks-contact-form h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:15px}
.iks-contact-form .wpcf7{margin-top:28px}
.iks-contact-form dl,.iks-contact-form dd,.iks-contact-form dt{float:none;width:auto;margin:0;padding:0}
.iks-contact-form dt,.iks-contact-form label{font-weight:600;display:block;margin:24px 0 8px}
.iks-contact-form input[type=text],.iks-contact-form input[type=email],.iks-contact-form input[type=tel],.iks-contact-form select,.iks-contact-form textarea{width:100%;max-width:100%;padding:12px 14px;background:#fff;border:1px solid #aab2aa;border-radius:0;font:inherit;font-size:1rem;color:var(--ink);box-shadow:none;box-sizing:border-box}
.iks-contact-form textarea{min-height:190px;resize:vertical}
.iks-contact-form input:focus,.iks-contact-form textarea:focus{outline:2px solid var(--green);outline-offset:2px}
.iks-contact-form input[type=submit]{display:block;width:100%;max-width:340px;background:var(--green);color:#fff;border:0;cursor:pointer;padding:16px 24px;margin:28px 0;font:inherit;font-weight:600;border-radius:0}
.iks-contact-form .wpcf7-not-valid-tip{font-size:.875rem;color:#ad2424}
.iks-contact-form .wpcf7-response-output{margin:20px 0;padding:16px;line-height:1.8}
.news-article .prose{margin-top:25px}.news-article .prose p{margin-bottom:20px}.news-article .prose a{color:var(--green);text-decoration:underline}
.news-article .prose .btn{display:inline-flex;background:var(--green);color:#fff;padding:12px 25px;text-decoration:none}
.pagination .nav-links{display:flex;gap:20px;margin-top:30px}.page-numbers.current{color:var(--green);font-weight:700}
@media(max-width:782px){.admin-bar .iks-menu-overlay{top:46px}}
@media(max-width:720px){.iks-contact-form{margin-top:38px;padding-top:24px}.iks-menu-panel{padding-inline:24px}}
.news-index article>a{grid-template-columns:300px minmax(0,1fr) 28px;align-items:center;gap:36px;padding:38px 0}
.news-thumbnail{width:100%;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#f5f6f3;overflow:hidden}
.news-thumbnail img{display:block;width:100%;height:100%;max-height:200px;object-fit:contain}
.news-thumbnail img[src$="/logo.png"]{width:70%;height:auto}
.news-index .news-summary time{display:block;font-size:1rem;padding:0;margin-bottom:12px}
.news-index h2{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.6;margin-bottom:16px}
.news-index p{font-size:1.125rem;line-height:1.9}
.news-index .fineprint{font-size:1rem}
.news-featured{margin:30px 0 38px;width:100%;background:#f5f6f3;padding:24px}
.news-featured img{display:block;width:auto;max-width:100%;height:auto;max-height:440px;margin:auto;object-fit:contain}
.news-article .prose{font-size:1.125rem;line-height:2}
.news-article>time{font-size:1rem}
.section.news-article{width:100%;max-width:960px;padding:64px 40px 80px;margin-inline:auto;box-sizing:border-box}
.news-article .prose{width:100%;max-width:none}
.news-article .prose img{display:block;float:none;width:100%;max-width:760px;height:auto;margin:0 auto 32px;object-fit:contain}
.news-article .prose .wp-caption{width:100%!important;max-width:760px;margin:0 auto 32px}
.news-article .prose p{font-size:1.125rem;line-height:2}
.news-article>.arrow-link{margin-top:30px}
@media(max-width:600px){.section.news-article{padding:36px 24px 56px}.news-article .prose p{font-size:1.0625rem}}
.news-strip>a{font-size:1rem}.news-strip time{font-size:.9375rem}
@media(max-width:900px){.news-index article>a{grid-template-columns:220px minmax(0,1fr) 24px;gap:24px}}
@media(max-width:600px){.news-index article>a{grid-template-columns:minmax(0,1fr) 24px;gap:22px 12px;padding:30px 0}.news-thumbnail{grid-column:1/-1;aspect-ratio:16/9}.news-thumbnail img{max-height:none}.news-index h2{font-size:1.45rem}.news-index p,.news-article .prose{font-size:1.0625rem}.news-featured{padding:16px;margin-block:24px}.news-featured img{max-height:340px}}
/* Hero photo reaches the left edge; news follows the main content grid. */
@media(min-width:721px){
  .hero-image{inset:0;height:100%}
  .hero-image img{object-position:center center}
  .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.82) 22%,rgba(255,255,255,.68) 34%,rgba(255,255,255,.25) 48%,rgba(255,255,255,0) 64%)}
}
.news-strip{padding-inline:max(var(--gutter),calc((100vw - var(--content))/2))}

/* Shared proportions: a 1200px composition, comfortable reading measure,
   and photographs sized by aspect ratio rather than unrelated fixed heights. */
:root{--content:1200px;--section-space:clamp(56px,6vw,88px);--body-size:1.0625rem}
.site-header{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}
.desktop-nav,.header-contact,.button,.arrow-link{font-size:.9375rem}
.section{padding-block:var(--section-space)}
.breadcrumb{padding-inline:max(var(--gutter),calc((100vw - var(--content))/2));font-size:.8125rem}
.page-heading{padding-top:40px;padding-bottom:48px}
.page-heading h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.5;margin-top:16px;text-wrap:balance}
.page-heading p{font-size:var(--body-size);margin-top:16px;line-height:1.9}
.section h2{font-size:clamp(1.875rem,3.1vw,2.75rem);line-height:1.5;margin-top:16px;text-wrap:wrap}
.about-section h2{font-size:clamp(1.875rem,3vw,2.625rem)}
.about-section,.company-teaser{grid-template-columns:1fr 1fr;gap:8%}
.about-text,.prose,.business-copy>p:not(.business-number){font-family:var(--font-sans)}
.about-text,.prose p,.company-teaser-copy>p,.business-copy>p:not(.business-number),.recruit-intro p,.contact-band p,.contact-option p,.inquiry-guide section p,.policy p{font-size:var(--body-size);line-height:2;color:#414b42}
.about-text{padding-top:12px}.company-teaser-copy{padding-top:12px}
.inner-split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,72px)}
.prose h3{font-size:1.625rem;line-height:1.6;margin-bottom:24px}
.facts>div,.requirements .facts>div{font-size:var(--body-size);padding-block:22px;grid-template-columns:130px minmax(0,1fr);gap:24px}
.business-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:6%;margin-top:32px}
.business-photo{height:auto;aspect-ratio:16/10}
.business-copy h3{font-size:clamp(1.6rem,2.3vw,2rem);margin-top:20px}
.business-copy .arrow-link{padding-top:24px;margin-top:28px}
.wide-photo{height:auto;aspect-ratio:5/2;margin-bottom:48px}
.recruit-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%}
.recruit-intro h2{font-size:clamp(1.875rem,2.8vw,2.5rem)}
.recruit-intro>img{height:auto;aspect-ratio:4/3;object-fit:cover}
.access-grid{grid-template-columns:1fr 1.2fr}
.access-photo{overflow:hidden;min-height:340px}
.access-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-band{padding-block:64px}
.contact-band h2{font-size:clamp(1.875rem,2.8vw,2.5rem)}
.contact-band-actions>span{font-size:.8125rem}
.footer-top{gap:48px}
.footer-top nav,.site-footer address{font-size:.9375rem}
.footer-tagline{font-size:1.625rem}
.section.policy{max-width:880px;padding-inline:40px}
.policy h2{font-size:1.5rem;margin:0 0 16px}
.sitemap-page h2{font-size:1.875rem;margin:0 0 24px}
.sitemap-page nav a{font-size:var(--body-size)}
.contact-option h2,.inquiry-guide h2{font-size:1.75rem}
.iks-contact-form{max-width:800px}
.iks-contact-form h2{font-size:1.75rem}
.news-index article>a{grid-template-columns:320px minmax(0,1fr) 24px;gap:36px;padding:36px 0}
.news-thumbnail{aspect-ratio:3/2}
.news-thumbnail img{max-height:none;object-fit:cover}
.news-index h2{font-size:clamp(1.4rem,2vw,1.75rem);margin:0 0 12px;line-height:1.6;text-wrap:pretty}
.news-index p{font-size:var(--body-size);line-height:1.9}
.news-index .news-summary time{font-size:.875rem;margin-bottom:12px}
.single-post .page-heading,.single-post .breadcrumb{padding-inline:max(var(--gutter),calc((100vw - 800px)/2))}
.single-post .heading-rule{left:max(var(--gutter),calc((100vw - 800px)/2))}
.single-post .page-heading h1{font-size:clamp(1.875rem,3vw,2.625rem);line-height:1.55}
.section.news-article{max-width:880px;padding:48px 40px 80px}
.news-featured{padding:0;background:transparent;margin:24px 0 36px}
.news-featured img{width:100%;max-height:none;height:auto}
.news-article .prose{max-width:none;font-family:var(--font-sans)}
.news-article .prose p{font-size:var(--body-size);line-height:2;margin-bottom:24px}
.news-article .prose h2{font-size:1.625rem;line-height:1.65;margin:40px 0 20px}
.news-article .prose .btn{font-size:1rem;min-height:52px;align-items:center;line-height:1.6}
@media(min-width:721px){
 .hero{height:clamp(620px,47vw,740px)}
 .hero-content{padding:64px max(var(--gutter),calc((100vw - var(--content))/2)) 32px}
 .hero h1{font-size:clamp(3.25rem,5.5vw,5.5rem);line-height:1.25;margin:28px 0}
 .hero-description{font-size:1.125rem;line-height:1.9;margin-bottom:28px}
 .scroll-rule{height:40px}
 .hero-scroll{gap:8px}
 .recruit-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:380px}
 .recruit-photo{min-height:380px;grid-row:1/3}
 .recruit-content{padding:44px clamp(32px,5vw,88px) 16px;align-self:end}
 .recruit-content h2{font-size:clamp(1.875rem,2.6vw,2.5rem);white-space:normal;line-height:1.55}
 .recruit-message{display:block;grid-column:2;padding:0 clamp(32px,5vw,88px) 40px;align-self:start}
 .recruit-message>p{font-family:var(--font-sans);font-size:.9375rem;line-height:1.9;white-space:normal;max-width:30em;color:#c8d0c8}
 .recruit-message>p br{display:none}.recruit-message>span{display:none}
}
@media(min-width:721px) and (max-width:1000px){
 .desktop-nav,.header-contact{display:none}.menu-trigger{display:block}
 .hero h1{font-size:6vw}.hero-content{padding-top:48px}
 .inner-split{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px}
 .news-index article>a{grid-template-columns:240px minmax(0,1fr) 20px;gap:24px}
 .recruit-intro{gap:32px}.recruit-intro h2{font-size:1.875rem}.recruit-intro>img{aspect-ratio:4/5}
 .facts>div,.requirements .facts>div{grid-template-columns:100px minmax(0,1fr);gap:20px}
}
@media(min-width:721px) and (max-width:900px){.inner-split{grid-template-columns:minmax(0,1fr);gap:32px}.message-accent{display:none}}
@media(max-width:720px){
 :root{--body-size:1rem}
 .site-header{padding-inline:var(--gutter)}
 .hero{min-height:720px}
 .hero h1{font-size:clamp(2.25rem,9vw,4rem);line-height:1.35}
 .hero-image{height:52%}
 .hero-description{font-size:1rem}
 .page-heading{padding-top:32px;padding-bottom:36px}
 .page-heading h1{font-size:clamp(2rem,7vw,2.75rem)}
 .section h2,.about-section h2{font-size:clamp(1.75rem,6.2vw,2.25rem)}
 .about-section,.company-teaser,.inner-split,.recruit-intro,.business-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .about-text,.company-teaser-copy{padding-top:0}
 .business-photo{height:auto;aspect-ratio:3/2}
 .business-copy h3{margin-top:0;font-size:1.625rem}
 .wide-photo{height:auto;aspect-ratio:3/2;margin-bottom:36px}
 .recruit-photo{height:auto;min-height:0;aspect-ratio:4/3}
 .recruit-content{padding:36px var(--gutter) 40px}
 .recruit-content h2{font-size:clamp(1.75rem,6.4vw,2.5rem);white-space:normal}
 .recruit-intro>img{height:auto;aspect-ratio:4/3}
 .facts>div,.requirements .facts>div{grid-template-columns:88px minmax(0,1fr);gap:16px;padding-block:20px;font-size:1rem}
 .access-grid{grid-template-columns:minmax(0,1fr)}
 .access-photo{height:auto;min-height:0;aspect-ratio:16/10}
 .contact-band{padding-block:48px}
 .footer-top{gap:32px}
 .section.policy{padding-inline:var(--gutter)}
 .policy h2{font-size:1.375rem;margin:0 0 14px}
 .sitemap-page h2{font-size:1.75rem;margin:0 0 20px}
 .contact-option h2,.inquiry-guide h2,.iks-contact-form h2{font-size:1.5rem}
 .news-index article>a{grid-template-columns:minmax(0,1fr) 20px;gap:20px 12px;padding:30px 0}
 .news-thumbnail{grid-column:1/-1;aspect-ratio:3/2}
 .news-index h2{font-size:1.5rem;margin:0 0 12px}
 .news-index p{font-size:1rem}
 .single-post .page-heading h1{font-size:clamp(1.75rem,6.5vw,2.25rem)}
 .section.news-article{padding:32px var(--gutter) 56px}
 .news-featured{margin:20px 0 28px}
 .news-article .prose h2{font-size:1.375rem;margin-top:32px}
 .news-article .prose .btn{max-width:100%}
}
