/*
Theme Name: Kadence Thailand
Description: Kadence Thailand Japanese site. Native WordPress block theme.
Version: 0.3.47
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: cmt-kadence
*/
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{text-underline-offset:.25em}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.45;letter-spacing:-.035em}h1{font-size:clamp(32px,3.6vw,56px)}h2{font-size:clamp(27px,3vw,40px)}h3{font-size:21px}p{overflow-wrap:anywhere}.wp-site-blocks>header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid #e7ebe2;backdrop-filter:blur(12px)}.site-header{max-width:1320px;margin:auto;padding:22px 36px;gap:28px}.brand{display:block;line-height:0}.brand img{width:184px;height:auto}.wp-block-navigation{font-size:14px;font-weight:600}.wp-block-navigation .wp-block-navigation-item__content{text-decoration:none}.wp-block-navigation__container{gap:26px}.wp-block-navigation__responsive-container.is-menu-open{padding:30px}.wp-block-navigation a:hover{color:#669439}.wp-site-blocks>main{margin-top:0}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:38px;max-width:1320px;margin:0 auto;padding:85px 36px 90px}.hero-copy h1{margin:24px 0;line-height:1.45}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:#669439;margin-bottom:20px}.hero-lead{font-size:17px;color:#586358;line-height:2}.hero-image{margin:0!important;background:#fafbf7;border-radius:160px 24px 24px 24px;overflow:hidden}.hero-image img{display:block;width:100%;height:420px;object-fit:contain;background:white}.wp-block-buttons{gap:12px;margin-top:30px}.wp-block-button__link{padding:14px 23px;font-size:14px;font-weight:600;transition:background .2s}.wp-block-button__link:hover{background:#426c25}.hero .wp-block-button:nth-child(2) .wp-block-button__link,.countries .wp-block-button__link{background:transparent;color:#36552a;border:1px solid #bdcbb5}.section{padding:80px max(36px,calc((100vw - 1200px)/2));margin-top:0!important}.section>h2{margin-top:12px;margin-bottom:24px}.intro{background:#f4f6f0;display:grid;grid-template-columns:1fr 1.2fr;column-gap:100px}.intro>.eyebrow{grid-column:1/-1}.intro>h2{grid-column:1;grid-row:2/5}.intro>p:not(.eyebrow),.intro>.wp-block-buttons{grid-column:2}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.service-card{border:1px solid #e0e7dc;border-radius:10px;padding:26px;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #24352a0c}.service-card h3{font-size:18px}.service-card a{color:#24352a;text-decoration:none}.service-card h3 span{float:right;color:#669439}.service-card>p:last-child{font-size:14px;color:#61705f}.card-number{font-size:13px;color:#6b9544;font-weight:600;margin:0 0 24px;letter-spacing:.12em}.countries{background:#edf3e7}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{border-top:3px solid #70a143;padding:24px 0}.case-card a{text-decoration:none;color:#24352a}.case-card h3{font-size:21px;line-height:1.7}.process{background:#24352a;color:white}.process .eyebrow,.process .card-number{color:#bfdd98}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.step{border-top:1px solid #ffffff30;padding-top:24px}.step p:last-child{color:#d3dfcf;font-size:14px}.trust{text-align:center}.trust h2{font-size:22px}.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:22px;margin-top:32px}.logo-grid figure{margin:0}.logo-grid img{max-height:65px;width:auto;object-fit:contain}.contact-cta{text-align:center;background:#f4f6f0}.contact-cta .wp-block-buttons{justify-content:center}.site-footer{background:#1d2d22;color:#e1e9dd;padding:55px max(36px,calc((100vw - 1200px)/2));font-size:13px;margin-top:0}.site-footer a{color:#e1e9dd}.site-footer h3{font-size:20px;letter-spacing:0}.site-footer p:last-child{color:#9dae98;font-size:11px;margin-top:35px}.content-shell{padding:65px 28px 95px;min-height:65vh}.content-shell>.wp-block-post-title{margin-bottom:44px;padding-bottom:28px;border-bottom:1px solid #dfe8d8}.content-shell .wp-block-post-content h2{font-size:28px;margin-top:50px}.content-shell .wp-block-post-content h3{font-size:22px;margin-top:35px}.content-shell .wp-block-post-content figure img{max-height:800px;object-fit:contain}.wp-block-table{overflow:auto}.wp-block-table td,.wp-block-table th{border:1px solid #e0e7dc;padding:14px}.wp-block-post-template{gap:30px}.wp-block-post-template .wp-block-post-title{font-size:20px}.wp-block-post-date{color:#71806a;font-size:13px}.wp-block-post-excerpt{font-size:14px}.wp-block-query-pagination{gap:20px;margin-top:45px}.setup-note{border-left:3px solid #b3c3a8;background:#f5f7f1;padding:20px;font-size:14px}.wp-block-image figcaption{font-size:12px;color:#65715e}a:focus-visible,button:focus-visible{outline:3px solid #f4a320;outline-offset:5px}.wp-block-navigation__responsive-container-open{padding:10px!important}.wp-block-post-content iframe{max-width:100%}.wp-block-post-content:after{content:"";display:table;clear:both}.wpcf7 label{display:block;font-size:14px;font-weight:600}.wpcf7 input:not([type=submit]),.wpcf7 textarea{width:100%;padding:14px;border:1px solid #becab6;border-radius:5px;font:inherit}.wpcf7 input[type=submit]{background:#669439;color:white;border:0;padding:15px 28px;border-radius:6px;font:inherit;cursor:pointer}
@media(max-width:1000px){.site-header{padding:18px 24px}.wp-block-navigation__container{gap:17px}.hero{gap:20px;padding:55px 28px}.hero-image img{height:340px}.intro{column-gap:40px}.section{padding:65px 28px}.service-grid{grid-template-columns:repeat(2,1fr)}.logo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.site-header{padding:16px 20px}.brand img{width:154px}.hero{grid-template-columns:1fr;padding:42px 22px;gap:30px}.hero h1{font-size:34px}.hero-lead{font-size:15px}.hero-image{border-radius:80px 16px 16px 16px}.hero-image img{height:250px}.section{padding:50px 22px}.intro{display:block}.service-grid,.case-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,1fr);gap:24px}.logo-grid{grid-template-columns:repeat(3,1fr)}.site-footer{padding:40px 22px}.content-shell{padding:40px 22px 65px}.content-shell h1{font-size:30px}.wp-block-post-template.is-layout-grid{grid-template-columns:1fr!important}.wp-block-buttons{flex-wrap:wrap}.wp-block-button__link{padding:13px 18px}.case-card h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:700px){.hero h1{font-size:26px}.hero-lead{font-size:14px;text-wrap:pretty}}


/* Reference composition: broad type and tightly framed original brand artwork. */
.hero{max-width:1800px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;padding:60px 24px 56px;align-items:center}
.hero-copy{min-width:0}
.hero-copy>.eyebrow{display:none}
.hero-copy h1{font-size:clamp(30px,3.15vw,60px);font-weight:800;line-height:1.65;letter-spacing:-.04em;margin:0 0 36px;white-space:nowrap}
.hero-lead{font-size:clamp(15px,1.5vw,27px);line-height:1.4;margin:0;color:#626b60;letter-spacing:0}
.hero .wp-block-buttons{margin-top:42px;gap:18px;flex-wrap:nowrap}
.hero .wp-block-button__link{font-size:clamp(14px,1.15vw,21px);padding:20px 25px;border-radius:7px;white-space:nowrap}
.hero-image{position:relative;aspect-ratio:1032/538;background:white;border-radius:0;overflow:hidden}
.hero-image img{position:absolute;top:0;left:-30.33%;width:151.94%;max-width:none;height:auto;object-fit:initial;background:white}
@media(min-width:1600px){.hero{gap:34px;padding-top:75px;padding-bottom:65px}.hero .wp-block-button__link{padding:24px 30px}}
@media(max-width:1000px) and (min-width:701px){.hero{gap:16px;padding:46px 24px}.hero-copy h1{font-size:3.15vw;margin-bottom:24px}.hero-lead{font-size:1.45vw}.hero .wp-block-buttons{gap:10px;margin-top:26px}.hero .wp-block-button__link{font-size:12px;padding:14px 13px}}
@media(max-width:700px){.hero{grid-template-columns:1fr;padding:34px 22px 40px;gap:34px}.hero-copy h1{font-size:clamp(23px,6.7vw,43px);line-height:1.6;margin:0 0 22px}.hero-lead{font-size:14px;line-height:1.75}.hero .wp-block-buttons{gap:10px;margin-top:25px;flex-wrap:wrap}.hero .wp-block-button__link{padding:15px 16px;font-size:13px}.hero-image{border-radius:0}.hero-image img{height:auto}}

/* Match the smaller section CTA while retaining each hero button's width. */
.hero .wp-block-button{font-size:clamp(14px,1.15vw,21px);--cta-side:50px;flex-shrink:0}
.hero .wp-block-button:first-child{width:calc(10em + var(--cta-side))}
.hero .wp-block-button:nth-child(2){width:calc(7em + var(--cta-side) + 2px)}
.hero .wp-block-button__link{display:flex;align-items:center;justify-content:center;width:100%;font-size:14px;line-height:1.85;height:calc(1.85em + 28px);padding:0 12px}
@media(min-width:1600px){.hero .wp-block-button{--cta-side:60px}}
@media(max-width:1000px) and (min-width:701px){.hero .wp-block-button{font-size:12px;--cta-side:26px}}
@media(max-width:700px){.hero .wp-block-button{font-size:13px;--cta-side:32px}.hero .wp-block-button__link{height:calc(1.85em + 26px)}}

/* Remove the top and bottom whitespace around the home hero at every breakpoint. */
.hero{padding-top:0;padding-bottom:0}

/* Approved content width and typography. */
.hero{max-width:1248px;gap:30px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.hero-copy h1{font-size:40px;line-height:1.6;margin-bottom:26px}
.hero-lead{font-size:17px;line-height:1.65}
.hero .wp-block-buttons{margin-top:28px;gap:16px}
.hero .wp-block-button{font-size:16px;--cta-side:50px}
@media(max-width:1000px) and (min-width:701px){.hero-copy h1{font-size:3.15vw}.hero-lead{font-size:1.45vw}.hero .wp-block-button{font-size:12px;--cta-side:26px}}
@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(23px,6.7vw,43px)}.hero-lead{font-size:14px}.hero .wp-block-button{font-size:13px;--cta-side:32px}}
/* Align header and hero with the section content edges. */
.site-header{max-width:none;padding-left:max(36px,calc((100vw - 1200px)/2));padding-right:max(36px,calc((100vw - 1200px)/2))}
.hero{max-width:none;padding-left:max(36px,calc((100vw - 1200px)/2));padding-right:max(36px,calc((100vw - 1200px)/2))}
@media(max-width:1000px){.site-header{padding-left:28px;padding-right:28px}.hero{padding-left:28px;padding-right:28px}}
@media(max-width:700px){.site-header{padding-left:22px;padding-right:22px}.hero{padding-left:22px;padding-right:22px}}
/* Give the CTA row breathing room above the following section. */
.hero{padding-bottom:28px}
/* Header contact CTA uses the same treatment as the section buttons. */
.site-header .wp-block-navigation-item:last-child>.wp-block-navigation-item__content{display:inline-flex;align-items:center;justify-content:center;background:#669439;color:#fff;border-radius:6px;padding:14px 23px;font-size:14px;font-weight:600;line-height:1.85;text-decoration:none;white-space:nowrap;transition:background .2s}
.site-header .wp-block-navigation-item:last-child>.wp-block-navigation-item__content:hover{background:#426c25;color:#fff}
@media(max-width:700px){.site-header .wp-block-navigation-item:last-child>.wp-block-navigation-item__content{padding:13px 18px}}
/* Keep breathing room under the copy, with artwork flush to the section edge. */
.hero{padding-bottom:0}
.hero-copy{padding-bottom:40px}
.hero-image{align-self:end}
@media(max-width:700px){.hero-copy{padding-bottom:0}}
/* Slightly slimmer desktop navigation bar. */
@media(min-width:701px){.site-header{padding-top:14px;padding-bottom:14px}}
/* Join the closing CTA directly to the footer. */
.wp-site-blocks>footer{margin-block-start:0}
/* Grid spacing is controlled by gap, not WordPress flow sibling margins. */
.process-grid>.step{margin-block-start:0;margin-block-end:0}
.case-grid>.case-card{margin-block-start:0;margin-block-end:0}
.service-grid>.service-card{margin-block-start:0;margin-block-end:0}

/* Reusable service detail layout. */
.service-page{margin:0}.service-breadcrumb{max-width:1272px;margin:0 auto;padding:22px 36px;font-size:12px;color:#697465}.service-breadcrumb a{color:inherit;text-decoration:none}.service-breadcrumb span{padding:0 10px;color:#a4af9b}.service-hero{max-width:1272px;margin:0 auto!important;padding:24px 36px 64px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:68px}.service-hero>*{margin:0!important}.service-hero h1{font-size:clamp(28px,3.3vw,46px);line-height:1.5;margin:18px 0}.service-catch{font-size:28px;font-weight:700;line-height:1.65;margin:20px 0}.service-lead{font-size:16px;line-height:2;color:#5d6a59;max-width:520px}.service-section{padding:72px max(36px,calc((100vw - 1200px)/2));margin:0!important}.service-section h2{font-size:34px;line-height:1.55;margin:12px 0 30px}.service-overview{background:#f4f6f0;display:grid;grid-template-columns:1fr 1.1fr;column-gap:80px}.service-overview>.eyebrow{grid-column:1/-1}.service-overview>h2{grid-row:2/4;margin:0}.service-overview>p:not(.eyebrow){grid-column:2;margin:0 0 18px;line-height:2}.service-feature-grid,.service-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}.service-feature-grid>*,.service-use-grid>*,.service-flow-grid>*{margin:0!important}.service-feature{padding:28px;border:1px solid #dce5d5;border-radius:12px}.service-feature h3,.service-use h3,.service-flow-step h3{font-size:20px;line-height:1.6;margin:18px 0}.service-feature p:last-child,.service-use p,.service-flow-step p:last-child{font-size:15px;line-height:1.9}.service-use{border-top:3px solid #70a143;padding:15px 0}.service-features{padding-bottom:20px}.service-flow{background:#24352a;color:white}.service-flow .eyebrow,.service-flow .card-number{color:#bfdd98}.service-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.service-flow-step{border-top:1px solid #ffffff40;padding-top:24px}.service-note{font-size:13px;color:#d2ddcd;margin-top:32px}.service-contact{text-align:center;background:#f4f6f0}.service-contact .wp-block-buttons{justify-content:center}.service-back{font-size:13px;margin-top:26px}.mobile-visual{position:relative;min-height:440px;background:#eef3e8;border-radius:120px 12px 12px 12px;overflow:hidden;display:grid;place-items:center;padding:38px 0 35px}.mobile-visual-head{position:absolute;top:22px;right:24px;font-size:10px;letter-spacing:.2em;color:#6c825b}.mobile-orbit{position:absolute;border-radius:50%;background:#73a13f;width:155px;height:155px;left:-40px;bottom:15px}.orbit-two{width:108px;height:108px;left:auto;bottom:auto;right:-28px;top:70px;background:#f99b24}.research-phone{position:relative;background:#fff;width:205px;padding:15px;border:6px solid #24352a;border-radius:28px;box-shadow:12px 16px 0 #dbe6cf;transform:rotate(-5deg)}.phone-speaker{height:5px;width:42px;border-radius:5px;background:#24352a;margin:0 auto 14px}.phone-brand{font-weight:800;font-size:20px;line-height:1.3}.phone-brand span{display:block;font-size:8px;letter-spacing:.14em;color:#6b9544;margin:5px 0 12px}.phone-photo{background:#edf3e7;padding:8px 12px;border-radius:6px}.phone-photo>span{font-size:10px;color:#65745b}.shelf{display:flex;gap:9px;align-items:end;border-bottom:3px solid #b2c49f;height:34px}.shelf i{display:block;width:20px;height:20px;background:#71a13f;border-radius:3px 3px 0 0}.shelf i:nth-child(even){background:#f6a22a;height:26px}.phone-row{font-size:11px;border-bottom:1px solid #e5eadf;padding:9px 0}.phone-row span{color:#6b9544;font-weight:700;margin-right:12px}.phone-send{background:#669439;color:white;text-align:center;font-size:10px;padding:9px 2px;margin-top:12px;border-radius:4px}.visual-tag{position:absolute;background:white;padding:13px 17px;border-radius:7px;box-shadow:0 6px 24px #24352a0b;font-size:11px;font-weight:700;letter-spacing:.08em;right:14px;bottom:84px}.visual-tag span{display:block;font-weight:400;letter-spacing:0;font-size:10px;color:#66725e;margin-top:3px}.tag-photo{right:auto;left:12px;bottom:auto;top:105px}.visual-caption{position:absolute;bottom:3px;font-size:10px;color:#78856d}
@media(max-width:1000px){.service-hero{gap:30px}.service-catch{font-size:23px}.service-overview{column-gap:40px}.service-section h2{font-size:29px}.service-feature{padding:20px}.visual-tag{padding:9px}.tag-photo{left:4px}}
@media(max-width:700px){.service-breadcrumb{padding:18px 22px;font-size:10px}.service-hero{grid-template-columns:1fr;padding:16px 22px 42px;gap:30px}.service-hero h1{font-size:28px}.service-catch{font-size:23px}.service-lead{font-size:15px}.mobile-visual{min-height:420px}.service-section{padding:45px 22px}.service-overview{display:block}.service-overview>h2{margin-bottom:24px}.service-section h2{font-size:27px}.service-feature-grid,.service-use-grid,.service-flow-grid{grid-template-columns:1fr;gap:22px}.service-feature-grid{margin-top:26px}.service-features{padding-bottom:0}.service-flow-step h3{margin-top:12px}.service-flow-step .card-number{margin-bottom:10px}}


/* Service card hover and keyboard focus */
.service-card{transition:background-color .2s,border-color .2s,transform .2s,box-shadow .2s}
.service-card:hover,.service-card:focus-within{background-color:#e8f2df;border-color:#a9c88d}

/* Navigation underline fades in on hover without a persistent active marker. */
.site-header .wp-block-navigation-item__content{position:relative}
.site-header .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#669439;opacity:0;pointer-events:none;transition:opacity .35s ease}
.site-header .wp-block-navigation-item__content:hover::after{opacity:1}
/* Client logos: match section labels and give each brand breathing room. */
.trust h2{font-family:inherit;font-size:12px;line-height:1.8;font-weight:700;letter-spacing:.18em;color:#669439;text-transform:uppercase}
.logo-grid{column-gap:42px;row-gap:40px;margin-top:40px}
.logo-grid figure{display:flex;align-items:center;justify-content:center;min-width:0}
.logo-grid img{max-width:100%;max-height:58px}
@media(max-width:1000px){.logo-grid{column-gap:32px;row-gap:36px}}
@media(max-width:700px){.logo-grid{column-gap:24px;row-gap:30px}.logo-grid img{max-height:48px}}
/* Match the service link hit area to the entire card. */
.service-card{position:relative;isolation:isolate}
.service-card h3,.service-card h3 a{position:static}
.service-card h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:10px;cursor:pointer}
.service-card h3 a:focus-visible{outline:none}
.service-card h3 a:focus-visible::after{outline:3px solid #f4a320;outline-offset:4px}

/* The contact CTA uses its button treatment without a hover underline. */
.site-header .wp-block-navigation-item__content[href*='/contact/']::after{display:none}

/* Orange contact CTA in global navigation only. */
.site-header .wp-block-navigation-item:last-child>.wp-block-navigation-item__content{background:#e76b13}
.site-header .wp-block-navigation-item:last-child>.wp-block-navigation-item__content:hover{background:#c95409}

/* Simple, consistently green back-to-top control. */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:19;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0!important;border-radius:6px;background:#669439;color:#fff;text-decoration:none;box-shadow:0 2px 10px #24352a18;transition:opacity .2s ease}
.back-to-top:hover{opacity:.72;color:#fff}
.back-to-top:focus-visible{outline:3px solid #f4a320;outline-offset:4px}
.back-to-top svg{display:block;pointer-events:none}
@media(max-width:700px){.back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px}}

/* Quiet editorial layout for the four market strengths. */
.market-appeal{margin-top:56px!important;margin-bottom:56px!important}.market-appeal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin-top:28px}.market-appeal-grid>.market-appeal-item{margin:0;border-top:2px solid #90b369;padding-top:20px}.market-appeal-item .card-number{margin:0 0 12px;font-size:13px;color:#669439;letter-spacing:.12em}.content-shell .market-appeal-item h3{margin:0 0 14px;font-size:20px;line-height:1.5}.market-appeal-item>p:last-child{margin:0;font-size:15px;line-height:1.9;color:#5d6a59}@media(max-width:700px){.market-appeal-grid{grid-template-columns:1fr;gap:26px}.market-appeal{margin-top:40px!important;margin-bottom:40px!important}}

/* Story page shares the homepage content width, including its prose. */
.page-id-529 .content-shell{padding-left:36px;padding-right:36px}.page-id-529 .content-shell>*,.page-id-529 .wp-block-post-content>*{max-width:1200px!important;margin-left:auto;margin-right:auto}.story-team{background:#383839;color:#fff;padding:44px 36px;margin-top:48px!important;margin-bottom:48px!important}.content-shell .story-team>h2{text-align:center;color:#fff;margin:0 0 40px}.story-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}.story-team-grid>.story-team-member{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:24px;margin:0}.story-team-member>figure{margin:0}.story-team-member>figure img{display:block;width:140px;height:140px;object-fit:cover;border-radius:50%;border:5px solid #eee}.story-team-member>.story-team-bio{margin:0}.content-shell .story-team-bio h3{font-size:17px;line-height:1.5;margin:0 0 6px;color:#fff;letter-spacing:0}.story-team-role{font-size:15px;font-weight:600;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid #ffffff50}.story-team-bio>p:not(.story-team-role){font-size:14px;line-height:1.9;color:#f1f1f1}.story-team-bio>p:last-child{margin-bottom:0}@media(max-width:1000px){.story-team-grid>.story-team-member{grid-template-columns:1fr}.story-team-member>figure img{width:130px;height:130px}}@media(max-width:700px){.page-id-529 .content-shell{padding-left:22px;padding-right:22px}.story-team{padding:32px 22px}.story-team-grid{grid-template-columns:1fr;gap:36px}.story-team-member>figure{justify-self:center}.story-team-bio h3,.story-team-role{text-align:center}}

/* Extend only the team background to both viewport edges. */
.story-team{box-shadow:0 0 0 100vmax #383839;clip-path:inset(0 -100vmax)}

.our-partner{box-shadow:0 0 0 100vmax #f4f6f0;clip-path:inset(0 -100vmax)}

/* Story closing CTA uses the homepage format and full-width background. */
.story-contact-cta{padding:80px 0;box-shadow:0 0 0 100vmax #f4f6f0;clip-path:inset(0 -100vmax)}.content-shell .story-contact-cta h2{font-size:clamp(27px,3vw,40px);margin:12px 0 24px}.page-id-529 .content-shell{padding-bottom:0}.story-contact-cta>.wp-block-buttons{margin-bottom:0}@media(max-width:1000px){.story-contact-cta{padding:65px 0}}@media(max-width:700px){.story-contact-cta{padding:50px 0}}

/* Hamano portrait and original digital business card QR. */
.story-team-member>.story-team-portrait{margin:0;width:140px}.story-team-portrait>figure{margin:0}.story-team-portrait>figure:first-child img{display:block;width:140px;height:140px;object-fit:cover;border-radius:50%;border:5px solid #eee}.story-team-portrait>.team-business-card{margin-top:24px}.team-business-card img{display:block;width:140px;height:auto;padding:1px;background:#fff;border:0;border-radius:0}.story-team .team-business-card figcaption{color:#fff;font-size:12px;font-weight:600;line-height:1.6;text-align:center;margin-top:10px}@media(max-width:700px){.story-team-member>.story-team-portrait{justify-self:center}}

/* Join the team section directly to the closing CTA. */
.story-team:has(+ .story-contact-cta){margin-bottom:0!important}

/* Join the partner and team background sections. */
.our-partner:has(+ .story-team){margin-bottom:0!important}.our-partner+.story-team{margin-top:0!important}

/* Align story section contents with the wider main prose. */
.page-id-529 .our-partner,.page-id-529 .story-team{padding-left:0!important;padding-right:0!important}

/* Fixed featured achievements, matching the service cards. */
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.achievement-grid>.achievement-card{margin:0;position:relative;border:1px solid #dce5d5;border-radius:10px;overflow:hidden;transition:background-color .2s,border-color .2s}.achievement-card>figure{margin:0}.achievement-card img{display:block;width:100%;aspect-ratio:1200/676;object-fit:cover}.achievement-card h3{font-size:20px;line-height:1.7;margin:0;padding:24px}.achievement-card a{color:inherit;text-decoration:none}.achievement-card a::after{content:"";position:absolute;inset:0;z-index:1}.achievement-card h3 span{color:#669439}.achievement-card:hover,.achievement-card:focus-within{background:#e8f2df;border-color:#a9c88d}.achievement-card:focus-within{outline:2px solid #669439;outline-offset:3px}@media(max-width:700px){.achievement-grid{grid-template-columns:1fr}.achievement-card h3{font-size:19px;padding:22px}}

/* Editorial blog listing and accessible pagination. */
.content-shell:has(.blog-list)>*{max-width:1200px!important}.blog-list .wp-block-post-template{display:block;padding:0}.blog-list .wp-block-post-template>li{display:grid;grid-template-columns:32% minmax(0,1fr);gap:32px;padding:36px 0;margin:0;border-bottom:1px solid #dce5d5}.blog-list .blog-thumbnail{margin:0;align-self:start}.blog-thumbnail a{display:flex;aspect-ratio:16/10;background:#f4f6f0;border:1px solid #dce5d5;border-radius:8px;overflow:hidden;align-items:center;justify-content:center}.blog-thumbnail img{width:100%;height:100%;object-fit:contain}.blog-thumbnail img[src$="logo.png"]{width:80%;height:auto}.blog-list .blog-summary{margin:0}.content-shell .blog-list h2{font-size:24px;line-height:1.65;margin:0 0 14px}.blog-list h2 a{text-decoration:none}.blog-list h2 a:hover{color:#669439}.blog-list .wp-block-post-date{color:#6d8060;font-size:14px;margin:0 0 14px}.blog-list .blog-excerpt{margin:0}.blog-list .wp-block-post-excerpt__excerpt{font-size:16px;line-height:1.9;margin:0}.blog-list .wp-block-post-excerpt__more-text{text-align:right;margin:20px 0 0}.blog-list .wp-block-post-excerpt__more-link{display:inline-block;padding:10px 20px;border-radius:6px;color:#fff;background:#669439;text-decoration:none;font-weight:600;font-size:14px}.blog-list .wp-block-post-excerpt__more-link:hover{background:#426c25}.blog-list .wp-block-query-pagination{gap:10px;margin:44px 0 0;align-items:center}.blog-list .wp-block-query-pagination>*{margin:0}.blog-list .wp-block-query-pagination-numbers{display:flex;gap:8px;align-items:center}.blog-list .page-numbers,.blog-list .wp-block-query-pagination-previous,.blog-list .wp-block-query-pagination-next{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #dce5d5;border-radius:6px;text-decoration:none;font-size:14px}.blog-list .page-numbers.current{background:#669439;border-color:#669439;color:#fff}.blog-list .page-numbers.dots{border:0;padding:0;min-width:20px}.blog-list .wp-block-query-pagination a:hover{background:#e8f2df;border-color:#a9c88d}@media(max-width:700px){.blog-list .wp-block-post-template>li{grid-template-columns:1fr;gap:22px;padding:28px 0}.content-shell .blog-list h2{font-size:20px}.blog-list .wp-block-query-pagination{gap:6px}.blog-list .wp-block-query-pagination-numbers{gap:5px}.blog-list .page-numbers{min-width:36px;padding:0 8px}}

/* Match article width to the main site and separate adjacent-post navigation. */
.single-post .content-shell{padding-left:36px;padding-right:36px}.single-post .content-shell>*,.single-post .wp-block-post-content>*{max-width:1200px!important}.single-post .content-shell h1{font-size:clamp(28px,3vw,40px);line-height:1.6}.single-post .content-shell>.wp-block-post-date{color:#6d8060;font-size:14px}.single-post .wp-block-post-content{font-size:17px;line-height:2}.single-post .wp-block-post-content img{max-width:100%;height:auto}.article-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px!important;padding-top:28px;border-top:1px solid #dce5d5}.article-navigation>div{margin:0;padding:22px;border:1px solid #dce5d5;border-radius:8px;font-size:16px}.article-navigation a{display:block;text-decoration:none}.article-navigation>div:hover{background:#e8f2df}.article-navigation .post-navigation-link-next{text-align:right}@media(max-width:700px){.single-post .content-shell{padding-left:22px;padding-right:22px}.article-navigation{grid-template-columns:1fr}.single-post .wp-block-post-content{font-size:16px}}

.content-shell:has(.blog-list) .wp-block-post-content>*{max-width:1200px!important}.blog-list h2 a{color:#24352a}

body.page-id-21 main.content-shell,body.single-post main.content-shell{--wp--style--global--content-size:1200px;padding-left:36px;padding-right:36px}body.page-id-21 main.content-shell>div.wp-block-post-content,body.page-id-21 .blog-list,body.single-post main.content-shell>div.wp-block-post-content{width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}@media(max-width:700px){body.page-id-21 main.content-shell,body.single-post main.content-shell{padding-left:22px;padding-right:22px}}

/* Compact the space from the article CTA to adjacent posts. */
.single-post .article-navigation-section{padding-top:32px;padding-bottom:40px;margin-top:0!important}.single-post .article-navigation-section .article-navigation{margin-top:0!important;padding-top:0;border-top:0}

/* Match adjacent-post hover and click areas. */
.article-navigation>div{position:relative;isolation:isolate;transition:background-color .2s,border-color .2s}.article-navigation a::after{content:'';position:absolute;inset:0;z-index:1;border-radius:8px;cursor:pointer}.article-navigation>div:focus-within{background:#e8f2df}.article-navigation a:focus-visible{outline:none}.article-navigation a:focus-visible::after{outline:3px solid #669439;outline-offset:3px}

/* Company profile: full site width, clear facts and original facility photos. */
body.page-id-20 main.content-shell{--wp--style--global--content-size:1200px;padding-left:36px;padding-right:36px}.page-id-20 .content-shell>*,.page-id-20 .wp-block-post-content>*{max-width:1200px!important}.page-id-20 .wp-block-post-content{width:100%!important;max-width:1200px!important}.page-id-20 .company-table{margin:28px 0}.company-table table{width:100%;border-collapse:collapse;table-layout:fixed}.company-table th,.company-table td{padding:20px 24px;border:1px solid #dce5d5;text-align:left;vertical-align:top;line-height:1.9}.company-table th{width:22%;background:#f4f6f0;font-weight:600}.company-table td{overflow-wrap:anywhere}.company-profile iframe,.company-group iframe{display:block;width:100%;height:320px;margin-top:28px;border-radius:10px}.company-facilities,.company-group{margin-top:64px!important}.company-facility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.company-facility-grid>figure{margin:0;border:1px solid #dce5d5;border-radius:10px;overflow:hidden;background:#f4f6f0}.company-facility-grid img{display:block;width:100%;aspect-ratio:500/280;object-fit:cover}.company-facility-grid figcaption{font-size:15px;font-weight:600;color:#24352a;margin:0;padding:18px 16px;text-align:center}.company-group-logo img{max-width:260px!important;height:auto}.page-id-20 .content-shell .wp-block-post-content h2{margin-top:14px}@media(max-width:700px){body.page-id-20 main.content-shell{padding-left:22px;padding-right:22px}.company-table th,.company-table td{padding:14px 12px;font-size:14px}.company-table th{width:27%}.company-facility-grid{grid-template-columns:1fr}.company-facilities,.company-group{margin-top:44px!important}}

/* Original group logo, cropped visually to remove its square white margins. */
.company-name-with-logo{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}.company-table .company-table-logo{display:block;width:320px;max-width:100%;height:70px;object-fit:cover;object-position:center}

.page-id-20 .company-table img.company-table-logo{object-fit:cover!important;width:320px;height:70px}

/* Shared closing consultation block on the company page. */
.page-id-20 .company-contact-cta{margin-top:64px!important;padding:80px 0;box-shadow:0 0 0 100vmax #f4f6f0;clip-path:inset(0 -100vmax)}.page-id-20 .content-shell{padding-bottom:0}.page-id-20 .content-shell .company-contact-cta h2{font-size:clamp(27px,3vw,40px);margin:12px 0 24px}.company-contact-cta>.wp-block-buttons{margin-bottom:0}@media(max-width:700px){.page-id-20 .company-contact-cta{padding:50px 0}}

.company-logo-crop{display:block;position:relative;width:280px;max-width:100%;aspect-ratio:432/76;overflow:hidden}.page-id-20 .company-table .company-logo-crop img.company-table-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:118.52%;max-width:none;height:auto;object-fit:initial!important}

/* Balance the space above and below the desktop hero copy. */
@media(min-width:701px){.hero-copy{padding-top:40px;padding-bottom:40px}}

/* Keep the space after page-title dividers compact across standard pages. */
.content-shell>.wp-block-post-title{margin-bottom:24px}.content-shell>.wp-block-post-title+.wp-block-post-content{margin-top:0}.content-shell>.wp-block-post-content>:first-child{margin-top:0!important}.company-profile>.company-table:first-child{margin-top:0!important}

/* Fill the desktop hero height with proportionally enlarged artwork. */
@media(min-width:701px){.hero-image{align-self:stretch;aspect-ratio:auto;min-height:0}.hero-image img{height:100%;width:auto;max-width:none;left:auto;right:0;top:0;object-fit:initial}}

@media(min-width:701px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);gap:18px}.hero-image img{left:-30.33%;right:auto}}

/* Country research pages share the service-page rhythm. */
body:has(.country-page) main.content-shell{--wp--style--global--content-size:1200px;padding:65px 36px 0}body:has(.country-page) .content-shell>*,body:has(.country-page) .wp-block-post-content>*{max-width:1200px!important}body:has(.country-page) .wp-block-post-content{width:100%;max-width:1200px!important}.country-page p{line-height:2}.country-intro{padding:12px 0 36px}.country-source-note{font-size:12px;color:#73816b}.country-section{padding:50px 0;margin:0!important}.country-section>.eyebrow{margin-top:0}.content-shell .country-page h2{font-size:32px;margin:10px 0 28px}.country-partner,.country-approach{background:#f4f6f0;box-shadow:0 0 0 100vmax #f4f6f0;clip-path:inset(0 -100vmax)}.country-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.country-photos>figure{margin:0}.country-photos img{display:block;width:100%;border-radius:10px}.country-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.country-methods>p{margin:0}.country-methods a{display:flex;align-items:center;justify-content:space-between;padding:22px;border:1px solid #dce5d5;border-radius:8px;color:#24352a;text-decoration:none;font-weight:600}.country-methods a:hover{background:#e8f2df}.country-methods span{color:#669439}.country-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.country-case-grid>.country-case{margin:0;border:1px solid #dce5d5;border-radius:10px;padding:24px;min-width:0}.country-case>figure:first-child{margin:0}.country-case img{display:block;width:100%;height:220px;object-fit:cover!important;border-radius:6px}.content-shell .country-case h3{font-size:20px;margin:24px 0 18px}.country-case table{width:100%;border-collapse:collapse;font-size:14px}.country-case th{background:#f4f6f0;width:30%;text-align:left}.country-case th,.country-case td{padding:12px;border:1px solid #dce5d5}.country-case>p{font-size:15px}.country-flow{background:#24352a;color:white;box-shadow:0 0 0 100vmax #24352a;clip-path:inset(0 -100vmax)}.country-flow .eyebrow,.country-flow .card-number{color:#bfdd98}.country-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.country-flow-grid>.country-step{margin:0;border-top:1px solid #ffffff40;padding-top:22px}.content-shell .country-step h3{font-size:20px;margin:12px 0}.country-step>p:last-child{font-size:14px}.country-contact-cta{padding:80px 0;box-shadow:0 0 0 100vmax #f4f6f0;clip-path:inset(0 -100vmax);margin-top:0!important}.content-shell .country-contact-cta h2{font-size:clamp(27px,3vw,40px);margin:12px 0 24px}.country-contact-cta>.wp-block-buttons{margin-bottom:0}@media(max-width:700px){body:has(.country-page) main.content-shell{padding:40px 22px 0}.country-section{padding:36px 0}.country-methods,.country-case-grid,.country-flow-grid,.country-photos{grid-template-columns:1fr}.content-shell .country-page h2{font-size:27px}.country-contact-cta{padding:50px 0}.country-case-grid>.country-case{padding:20px}}

@media(min-width:701px){.hero-copy{position:relative;z-index:1}}

/* Draw card arrows as SVG so iOS cannot substitute an emoji. */
.service-card h3 span[aria-hidden="true"],.country-methods a span{display:inline-block;flex-shrink:0;width:20px;height:26px;font-size:0;line-height:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23669439' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/18px 18px no-repeat}
/* Mobile: lead with the home banner; keep service introductions text-only. */
@media(max-width:700px){.service-hero>.mobile-visual,.service-hero>svg{display:none!important}.hero-image{order:-1}.hero-copy{order:0}}
@media(max-width:700px){.hero-copy{padding-bottom:32px}.site-footer>p:first-child{display:none}.site-footer>p:last-child{margin-top:0!important;font-size:11px!important;line-height:1.6}.site-footer{padding-left:22px;padding-right:22px}}
/* A filtered sticky header must not contain the fixed mobile menu. */
.wp-site-blocks>header:has(.is-menu-open){backdrop-filter:none;-webkit-backdrop-filter:none}
.wp-block-navigation__responsive-container.is-menu-open{background:transparent!important;color:#24352a;padding:24px!important}
/* Keep the translucent background behind menu items only. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{background:rgba(255,255,255,.88);box-shadow:0 0 0 24px rgba(255,255,255,.88)}
/* Centered, clearly separated mobile navigation blocks. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{background:rgba(170,176,168,.94);box-shadow:0 0 0 24px rgba(170,176,168,.94)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100%;align-items:stretch;gap:10px}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 18px!important;border:1px solid #d5dbd0;border-radius:6px;background:#ecefe9;color:#24352a;text-align:center;box-sizing:border-box;text-decoration:none}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after{display:none}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[href$="/contact/"]{background:#e76b13;border-color:#e76b13;color:#fff}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{background:#e0e7d9}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[href$="/contact/"]:hover{background:#c95409;border-color:#c95409}
.case-study-navigation .post-navigation-link-next{grid-column:2}@media(max-width:700px){.case-study-navigation .post-navigation-link-next{grid-column:1}}

/* Case-study articles use the same content width as blog posts. */
body:has(.case-study-navigation) main.content-shell{--wp--style--global--content-size:1200px;padding-left:36px;padding-right:36px}
body:has(.case-study-navigation) .content-shell>*,body:has(.case-study-navigation) .wp-block-post-content>*{max-width:1200px!important}
body:has(.case-study-navigation) main.content-shell>div.wp-block-post-content{width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
body:has(.case-study-navigation) .content-shell h1{font-size:clamp(28px,3vw,40px);line-height:1.6}
body:has(.case-study-navigation) .wp-block-post-content{font-size:17px;line-height:2}
@media(max-width:700px){body:has(.case-study-navigation) main.content-shell{padding-left:22px;padding-right:22px}body:has(.case-study-navigation) .wp-block-post-content{font-size:16px}}
/* Homepage: three latest published blog posts, matching the case-study cards. */
.latest-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:36px 0 0;list-style:none}.latest-blog-grid>li{margin:0;min-width:0}.latest-blog-grid .achievement-card{height:100%;position:relative;border:1px solid #dce5d5;border-radius:10px;overflow:hidden;transition:background-color .2s,border-color .2s}.latest-blog-grid .blog-thumbnail{margin:0}.latest-blog-grid .blog-thumbnail a{aspect-ratio:1200/676;border:0;border-radius:0;background:#f4f6f0}.latest-blog-grid .blog-thumbnail img{aspect-ratio:auto;object-fit:contain}.latest-blog-grid .wp-block-post-title{margin:0}.latest-blog-grid .wp-block-post-title a::before{content:"";display:inline-block;float:right;width:18px;height:18px;margin:7px 0 0 8px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23669439' stroke-width='2'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E")}.latest-blog{padding-top:0}@media(max-width:700px){.latest-blog-grid{grid-template-columns:1fr}}
