/*
Theme Name: Mugen Corporate Ocean
Theme URI: https://mugenservice.co.jp/
Author: Mugen Service
Description: ブルーと海をモチーフにした、軽量・レスポンシブなムゲン・サービス向けコーポレートテーマ。
Version: 1.12.8
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: mugen-corporate
*/

:root{
  --mg-navy-950:#032a50;--mg-navy-900:#063b70;--mg-navy-800:#07538f;--mg-blue-700:#0878c9;--mg-blue-600:#1594d8;--mg-aqua:#39b9e8;--mg-sky-50:#f5fbff;--mg-sky-100:#eaf7fd;--mg-sky-200:#d4effb;--mg-ink:#14263a;--mg-muted:#5d7083;--mg-line:#d9e8f2;--mg-white:#fff;--mg-shadow:0 18px 45px rgba(5,72,122,.10);--mg-radius:20px;--mg-max:1200px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--mg-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.8;background:#fff}img{max-width:100%;height:auto}a{color:var(--mg-blue-700);text-decoration:none}a:hover{text-decoration:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mg-container{width:min(calc(100% - 40px),var(--mg-max));margin-inline:auto}.mg-section{padding:78px 0;position:relative}.mg-section--water{background:linear-gradient(180deg,#fff 0%,var(--mg-sky-50) 100%)}.mg-section__head{max-width:780px;margin-bottom:32px}.mg-section__head--center{text-align:center;margin-left:auto;margin-right:auto}.mg-eyebrow{display:block;margin-bottom:10px;color:var(--mg-blue-700);font-weight:800;letter-spacing:.16em;font-size:.76rem}.mg-title{margin:0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.23;letter-spacing:.01em;color:var(--mg-navy-950)}.mg-lead{font-size:1.05rem;color:var(--mg-muted);margin:14px auto 0}.mg-icon{width:1.35em;height:1.35em;display:inline-block;vertical-align:-.22em}.mg-grid{display:grid;gap:20px}.mg-grid--5{grid-template-columns:repeat(5,1fr)}.mg-grid--4{grid-template-columns:repeat(4,1fr)}.mg-grid--3{grid-template-columns:repeat(3,1fr)}.mg-card{background:#fff;border:1px solid var(--mg-line);border-radius:var(--mg-radius);box-shadow:0 10px 32px rgba(5,72,122,.055)}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,232,242,.95)}.site-header__inner{min-height:78px;display:flex;align-items:center;gap:22px}.site-branding{margin-right:auto;min-width:190px}.custom-logo{max-height:58px;width:auto}.site-default-logo{display:block;width:min(360px,30vw);max-height:64px;object-fit:contain;object-position:left center}.site-footer__brand>a{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px;margin-bottom:18px;box-shadow:0 8px 22px rgba(0,0,0,.08)}.site-footer__logo{display:block;width:min(310px,100%);height:auto;margin:0;filter:none;opacity:1}.site-title{display:inline-flex;gap:10px;align-items:center;color:var(--mg-navy-950);line-height:1.05}.site-title__mark{width:38px;height:38px;border:2px solid var(--mg-blue-700);border-radius:50%;display:grid;place-items:center;color:var(--mg-blue-700)}.site-title__mark .mg-icon{width:25px;height:25px}.site-title b{display:block;font-size:1rem}.site-title small{display:block;margin-top:5px;font-size:.56rem;letter-spacing:.13em;color:var(--mg-blue-700)}.site-nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;align-items:center}.site-nav a{color:var(--mg-ink);font-size:.84rem;font-weight:750;white-space:nowrap;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--mg-blue-700);transition:.2s}.site-nav a:hover:after{width:100%}.header-contact{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;line-height:1.1;white-space:nowrap;background:linear-gradient(135deg,#f7fcff 0%,#e7f6ff 100%);border:1px solid #cfe6f3;border-radius:16px;padding:10px 16px;box-shadow:0 10px 24px rgba(5,72,122,.08)}.header-contact small{display:block;font-size:.67rem;color:var(--mg-muted);letter-spacing:.04em}.header-phone{font-size:1.42rem;font-weight:900;color:var(--mg-navy-900);letter-spacing:.02em}.menu-toggle{display:none;border:0;background:transparent;padding:10px;font-size:1.5rem;color:var(--mg-navy-900)}

.mg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 22px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.2s ease}.mg-btn:hover{transform:translateY(-1px)}.mg-btn--primary{background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:white;box-shadow:0 9px 26px rgba(8,120,201,.23)}.mg-btn--outline{border-color:var(--mg-blue-700);color:var(--mg-blue-700);background:#fff}.mg-btn--glass{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.9);color:var(--mg-navy-900);box-shadow:0 10px 32px rgba(5,72,122,.12)}.mg-btn--contact{background:#fff;color:var(--mg-navy-900);min-width:230px}.mg-btn--footer{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.08)}

.mg-hero{position:relative;overflow:hidden;min-height:650px;background:linear-gradient(115deg,#eef9ff 0%,#caedff 48%,#8ed4f4 100%);isolation:isolate}.mg-hero.has-image{background-image:linear-gradient(90deg,rgba(238,249,255,.98) 0%,rgba(229,246,255,.92) 38%,rgba(8,83,143,.18) 68%,rgba(3,42,80,.28) 100%),var(--mg-hero-image);background-position:center;background-size:cover}.mg-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.78),transparent 28%),linear-gradient(180deg,transparent 55%,rgba(255,255,255,.26));z-index:-2}.mg-hero__inner{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center;padding:82px 0 100px}.mg-hero__content{position:relative;z-index:3;max-width:680px}.mg-hero h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3rem,6vw,5.8rem);line-height:1.08;margin:0 0 24px;color:#10283e;letter-spacing:.02em;font-weight:700}.mg-hero h1 span{color:var(--mg-blue-600)}.mg-hero__copy{max-width:650px;font-size:1.14rem;color:#344f67}.mg-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.mg-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.mg-trust-row span{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(5,72,122,.08);padding:9px 13px;border-radius:10px;font-size:.78rem;font-weight:800;color:var(--mg-navy-900)}.mg-trust-row .mg-icon{color:var(--mg-blue-700)}.mg-hero__visual{height:470px;position:relative;align-self:end}.mg-hero__sun{position:absolute;right:8%;top:7%;width:180px;height:180px;background:rgba(255,255,255,.55);border-radius:50%;filter:blur(1px)}.mg-hero__skyline{position:absolute;right:5%;bottom:118px;width:74%;height:190px;display:flex;align-items:end;gap:8px;opacity:.33}.mg-hero__skyline i{display:block;background:linear-gradient(#299cd7,#0e6ca9);width:13%;border-radius:4px 4px 0 0}.mg-hero__skyline i:nth-child(1){height:45%}.mg-hero__skyline i:nth-child(2){height:70%}.mg-hero__skyline i:nth-child(3){height:52%}.mg-hero__skyline i:nth-child(4){height:88%}.mg-hero__skyline i:nth-child(5){height:62%}.mg-hero__skyline i:nth-child(6){height:42%}.mg-hero__truck{position:absolute;right:0;bottom:72px;width:330px;height:180px;border-radius:24px 8px 12px 20px;background:linear-gradient(145deg,#fff 0%,#f5fbff 68%,#d4effb 100%);border:5px solid var(--mg-blue-700);box-shadow:0 18px 45px rgba(3,42,80,.18);display:flex;align-items:center;justify-content:center;gap:22px;color:var(--mg-navy-900)}.mg-hero__truck:before,.mg-hero__truck:after{content:"";position:absolute;bottom:-25px;width:52px;height:52px;border-radius:50%;background:var(--mg-navy-950);border:7px solid #8bb7d3}.mg-hero__truck:before{left:55px}.mg-hero__truck:after{right:55px}.mg-hero__truck .mg-icon{width:82px;height:82px;color:var(--mg-blue-700)}.mg-hero__truck strong{line-height:1.25;letter-spacing:.08em}.mg-hero__wave{position:absolute;left:-4%;right:-4%;height:76px;border-radius:50%;transform:rotate(-3deg)}.mg-hero__wave--1{bottom:25px;background:rgba(8,120,201,.38)}.mg-hero__wave--2{bottom:-6px;background:rgba(255,255,255,.75);transform:rotate(2deg)}.mg-hero__watermark{position:absolute;right:1.5%;top:18%;color:rgba(255,255,255,.35);z-index:-1}.mg-hero__watermark .mg-icon{width:260px;height:160px}.mg-wave-divider{position:absolute;left:-5%;right:-5%;bottom:-42px;height:88px;background:#fff;border-radius:50% 50% 0 0/70% 70% 0 0;transform:rotate(-1deg)}

.mg-service-card{display:flex;flex-direction:column;min-height:300px;padding:26px 22px;text-align:center;transition:.2s;position:relative;overflow:hidden}.mg-service-card:before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--mg-aqua),var(--mg-blue-700));opacity:.78}.mg-service-card:hover{transform:translateY(-5px);box-shadow:var(--mg-shadow);border-color:#bfe4f6}.mg-service-card__icon{width:74px;height:74px;margin:0 auto 22px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#f7fcff,#e6f6fd);color:var(--mg-blue-700);border:1px solid #d7eef9}.mg-service-card__icon .mg-icon{width:42px;height:42px}.mg-service-card h3{margin:0 0 12px;font-size:1.08rem;color:var(--mg-navy-950)}.mg-service-card p{margin:0;color:var(--mg-muted);font-size:.9rem}.mg-service-card a{margin-top:auto;padding-top:20px;font-weight:850;font-size:.88rem}.mg-service-card a span{font-size:1.3em}

.mg-section--reasons{background:#fff;overflow:hidden}.mg-section--reasons:before,.mg-section--reasons:after{content:"";position:absolute;left:-5%;right:-5%;height:80px;border-radius:50%;background:rgba(57,185,232,.09);z-index:0}.mg-section--reasons:before{top:-56px}.mg-section--reasons:after{bottom:-58px}.mg-section--reasons>.mg-container{position:relative;z-index:1}.mg-reason-card{padding:32px 26px;text-align:center}.mg-reason-card__icon{width:70px;height:70px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;color:var(--mg-blue-700);background:var(--mg-sky-100)}.mg-reason-card__icon .mg-icon{width:38px;height:38px}.mg-reason-card h3{font-size:1.1rem;margin:0 0 12px;color:var(--mg-navy-900)}.mg-reason-card p{margin:0;color:var(--mg-muted);font-size:.91rem}

.mg-circulation{background:linear-gradient(135deg,#f4fbff 0%,#e5f6fe 52%,#d9f1fc 100%);overflow:hidden}.mg-circulation:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-150px;top:-190px;border:1px solid rgba(21,148,216,.18);box-shadow:0 0 0 55px rgba(21,148,216,.035),0 0 0 110px rgba(21,148,216,.025)}.mg-circulation:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-34px;height:86px;background:rgba(73,179,226,.18);border-radius:50%}.mg-circulation__inner{display:grid;grid-template-columns:.82fr 1.48fr;gap:58px;align-items:center;position:relative;z-index:1}.mg-circulation__copy{padding:30px 0}.mg-circulation__copy p{color:var(--mg-muted);font-size:1rem;max-width:490px}.mg-ocean-art{height:110px;margin-top:24px;position:relative;color:#4ebae6}.mg-ocean-art .mg-icon{width:260px;height:100px;opacity:.72}.mg-fish{position:absolute;left:43%;top:18px;font-size:2rem}.mg-bubble{position:absolute;left:59%;top:0;font-size:1.2rem}.mg-cycle-flow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:34px 28px;border:1px solid rgba(92,183,229,.28);background:rgba(255,255,255,.62);border-radius:28px;box-shadow:0 20px 55px rgba(5,72,122,.08);backdrop-filter:blur(10px)}.mg-cycle-node{text-align:center;min-width:92px}.mg-cycle-node>div{width:102px;height:102px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #78c9ee;color:var(--mg-blue-700);box-shadow:0 12px 30px rgba(8,120,201,.10);margin:0 auto 10px}.mg-cycle-node .mg-icon{width:48px;height:48px}.mg-cycle-node strong{font-size:.88rem;color:var(--mg-navy-900)}.mg-cycle-arrow{font-size:1.7rem;color:#42aeda;font-weight:900}

.mg-steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.mg-step{position:relative;text-align:center;padding:30px 22px;background:#fff;border:1px solid var(--mg-line);border-radius:50% 50% 24px 24px/35% 35% 24px 24px;box-shadow:0 10px 28px rgba(5,72,122,.06)}.mg-step:before{counter-increment:step;content:counter(step);position:absolute;left:18px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--mg-navy-900);color:#fff;font-size:.8rem;font-weight:900}.mg-step__icon{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--mg-sky-100);color:var(--mg-blue-700)}.mg-step__icon .mg-icon{width:39px;height:39px}.mg-step h3{margin:0 0 8px;color:var(--mg-navy-900)}.mg-step p{margin:0;color:var(--mg-muted);font-size:.9rem}

.mg-area-section{background:#fff}.mg-area-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mg-area-panel{display:grid;grid-template-columns:76px 1fr;grid-template-areas:"icon title" "icon text" "icon link";column-gap:22px;align-items:start;padding:30px;border:1px solid var(--mg-line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7fcff)}.mg-area-panel>div{grid-area:icon;width:70px;height:70px;border-radius:16px;display:grid;place-items:center;background:var(--mg-sky-100);color:var(--mg-blue-700)}.mg-area-panel>div .mg-icon{width:38px;height:38px}.mg-area-panel h3{grid-area:title;margin:0 0 5px;color:var(--mg-navy-900)}.mg-area-panel p{grid-area:text;margin:0;color:var(--mg-muted);font-size:.92rem}.mg-area-panel a{grid-area:link;margin-top:11px;font-weight:800;font-size:.88rem}

.mg-about{background:linear-gradient(180deg,#f8fcff,#fff)}.mg-about__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.mg-about__visual{min-height:360px;border-radius:28px;background:linear-gradient(135deg,#d8f1fb,#81cde9);background-size:cover;background-position:center;overflow:hidden;box-shadow:var(--mg-shadow);position:relative;border:1px solid rgba(70,168,219,.18)}.mg-about__visual.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(3,42,80,.18));z-index:1}.mg-about__visual:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-36px;height:92px;border-radius:50%;background:rgba(255,255,255,.64)}.mg-about__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mg-navy-900);text-align:center}.mg-about__placeholder .mg-icon{width:78px;height:78px;margin-bottom:12px}.mg-about__placeholder span{font-weight:900;letter-spacing:.08em}.mg-about__placeholder small{display:block;margin-top:8px;color:#416987}.mg-about__copy p{color:var(--mg-muted);font-size:1rem;margin:20px 0 28px}

.mg-contact-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#053969 0%,#0878c9 55%,#1594d8 100%);color:#fff;padding:48px 0}.mg-contact-band:before{content:"";position:absolute;left:-5%;right:-5%;top:-44px;height:78px;border-radius:50%;background:rgba(255,255,255,.14)}.mg-contact-band__inner{display:grid;grid-template-columns:1.15fr .9fr auto;gap:34px;align-items:center;position:relative;z-index:1}.mg-contact-band .mg-eyebrow{color:#aee9ff}.mg-contact-band h2{font-size:clamp(1.7rem,3.2vw,2.55rem);margin:0 0 6px}.mg-contact-band p{margin:0;color:#dceffc}.mg-contact-band__phone{padding-left:28px;border-left:1px solid rgba(255,255,255,.28);line-height:1.2}.mg-contact-band__phone small{display:block;color:#dceffc}.mg-contact-band__phone a{display:block;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:900;color:#fff;margin:5px 0}.mg-contact-band__phone span{font-size:.75rem;color:#dceffc}


/* v0.3 fixed page components */
.mg-page-hero{padding:72px 0 48px;background:linear-gradient(135deg,#eef9ff,#d9f2fd);border-bottom:1px solid var(--mg-line);position:relative;overflow:hidden}.mg-page-hero:after{content:"";position:absolute;right:-5%;bottom:-55px;width:48%;height:110px;border-radius:50%;background:rgba(255,255,255,.65)}.mg-page-hero .mg-container{position:relative;z-index:1}.mg-page-hero h1{margin:0;color:var(--mg-navy-950);font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.2}.mg-page-hero p{max-width:760px;color:var(--mg-muted);margin:16px 0 0}.mg-page-block{padding:68px 0}.mg-page-block--tint{background:var(--mg-sky-50)}.mg-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.mg-info-card{padding:28px;border:1px solid var(--mg-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(5,72,122,.04)}.mg-info-card h2,.mg-info-card h3{color:var(--mg-navy-900);margin-top:0}.mg-info-card p:last-child{margin-bottom:0}.mg-faq{display:grid;gap:14px}.mg-faq details{background:#fff;border:1px solid var(--mg-line);border-radius:14px;padding:0 20px}.mg-faq summary{cursor:pointer;padding:18px 0;font-weight:800;color:var(--mg-navy-900)}.mg-faq details p{margin:0;padding:0 0 18px;color:var(--mg-muted)}.mg-contact-box{padding:34px;border-radius:22px;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:#fff}.mg-contact-box h2{margin-top:0;color:#fff}.mg-contact-box a{color:#fff}.mg-page-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--mg-line)}.mg-page-table th,.mg-page-table td{padding:16px 18px;border-bottom:1px solid var(--mg-line);vertical-align:top}.mg-page-table th{width:28%;text-align:left;color:var(--mg-navy-900);background:var(--mg-sky-50)}

.entry-header{padding:74px 0 42px;background:linear-gradient(180deg,var(--mg-sky-100),#fff);border-bottom:1px solid var(--mg-line)}.entry-title{margin:0;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.2;color:var(--mg-navy-950)}.entry-content{padding:58px 0 90px}.entry-content>*{max-width:860px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:var(--mg-max)}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:14px;border-bottom:1px solid var(--mg-line);vertical-align:top}.entry-content th{text-align:left;background:var(--mg-sky-50);width:28%}.post-list{display:grid;gap:18px}.post-item{padding:22px;border:1px solid var(--mg-line);border-radius:15px}.post-item__meta{color:var(--mg-muted);font-size:.85rem}.post-item h2{margin:6px 0}.pagination{margin-top:36px}.mg-notice{padding:14px 18px;background:#eef9ff;border:1px solid #bde7fa;border-radius:12px;color:#184e70;font-size:.9rem}

.site-footer{position:relative;background:#042c54;color:#d7e8f5;padding:82px 0 24px;overflow:hidden}.site-footer__wave{position:absolute;left:-5%;right:-5%;top:-47px;height:92px;border-radius:50%;background:#fff}.site-footer a{color:#fff}.site-footer__grid{display:grid;grid-template-columns:1.25fr .9fr .85fr;gap:50px}.site-footer h2,.site-footer h3{color:#fff}.site-footer h2{margin-top:0}.site-footer__concept{font-size:1.05rem;color:#89d7f6;font-weight:800}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-footer__bottom{margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:#a8c4d7;display:flex;justify-content:space-between;gap:20px}

@media(max-width:1120px){.header-contact{padding:9px 12px}.header-phone{font-size:1.2rem}.mg-grid--5{grid-template-columns:repeat(3,1fr)}.mg-contact-band__inner{grid-template-columns:1fr 1fr}.mg-contact-band__inner>.mg-btn{grid-column:1/-1;justify-self:start}.mg-circulation__inner{grid-template-columns:1fr}.mg-cycle-flow{justify-content:flex-start;flex-wrap:wrap}.mg-cycle-arrow{display:none}}
@media(max-width:980px){.site-header__inner{min-height:68px;gap:12px}.site-default-logo{width:min(285px,48vw);max-height:52px}.menu-toggle{display:block;order:4}.site-nav{display:none;position:absolute;left:0;right:0;top:68px;background:white;border-bottom:1px solid var(--mg-line);padding:18px 20px;box-shadow:var(--mg-shadow)}.site-nav.is-open{display:block}.site-nav ul{display:grid;gap:0}.site-nav a{display:block;padding:12px 0}.header-contact{margin-left:auto;padding:8px 10px;border-radius:14px}.header-contact small{display:none}.header-phone{font-size:1rem}.mg-hero__inner,.mg-about__inner{grid-template-columns:1fr}.mg-hero__inner{min-height:auto;padding:70px 0 110px}.mg-hero__visual{display:none}.mg-hero.has-image .mg-hero__content{background:rgba(255,255,255,.78);padding:28px;border-radius:24px;backdrop-filter:blur(6px)}.mg-grid--4,.mg-steps{grid-template-columns:repeat(2,1fr)}.mg-area-panels{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr 1fr}.mg-contact-band__inner{grid-template-columns:1fr}.mg-contact-band__phone{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.25);padding-top:20px}.mg-contact-band__inner>.mg-btn{grid-column:auto}}
@media(max-width:680px){.mg-page-grid{grid-template-columns:1fr}.mg-page-table th,.mg-page-table td{display:block;width:100%}.mg-container{width:min(calc(100% - 28px),var(--mg-max))}.site-branding{min-width:0}.site-default-logo{width:min(245px,64vw);max-height:48px}.header-contact{padding:7px 9px;border-radius:12px}.header-phone{font-size:.94rem}.mg-section{padding:58px 0}.mg-hero{min-height:auto}.mg-hero__inner{padding:58px 0 96px}.mg-hero h1{font-size:clamp(2.65rem,13vw,4.1rem)}.mg-hero__copy{font-size:1rem}.mg-hero__actions{display:grid}.mg-btn{width:100%}.mg-trust-row{display:grid;grid-template-columns:1fr}.mg-grid--5,.mg-grid--4,.mg-grid--3,.mg-steps,.site-footer__grid{grid-template-columns:1fr}.mg-service-card{min-height:auto}.mg-cycle-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mg-cycle-node>div{width:82px;height:82px}.mg-area-panel{grid-template-columns:58px 1fr;column-gap:15px;padding:22px}.mg-area-panel>div{width:56px;height:56px}.mg-about__visual{min-height:280px}.mg-contact-band{padding:42px 0}.entry-content th,.entry-content td{display:block;width:100%}.site-footer__bottom{display:block}.site-footer__bottom span{display:block;margin-top:8px}}

/* Contact page v0.3.1: full-width form layout */
.mg-contact-layout{display:grid;gap:28px}.mg-contact-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;align-items:stretch}.mg-contact-summary .mg-contact-box{display:flex;flex-direction:column;justify-content:center}.mg-contact-form-card{width:100%;max-width:none;padding:34px 38px}.mg-contact-form-card>h2{font-size:clamp(1.55rem,2.5vw,2rem);margin-bottom:8px}.mg-contact-form-card>.mg-form-intro{margin-top:0;color:var(--mg-muted);margin-bottom:26px}.mg-contact-form-card .wpcf7{width:100%;max-width:none}.mg-contact-form-card .wpcf7-form{display:grid;gap:20px}.mg-contact-form-card .wpcf7-form>p{margin:0}.mg-contact-form-card .wpcf7-form label{display:block;font-weight:800;color:var(--mg-navy-900)}.mg-contact-form-card .wpcf7-form-control-wrap{display:block;margin-top:8px}.mg-contact-form-card input[type="text"],.mg-contact-form-card input[type="email"],.mg-contact-form-card input[type="tel"],.mg-contact-form-card input[type="date"],.mg-contact-form-card input[type="url"],.mg-contact-form-card select,.mg-contact-form-card textarea{width:100%;max-width:none;border:1px solid #cddfea;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:var(--mg-ink);outline:none;transition:border-color .2s,box-shadow .2s}.mg-contact-form-card textarea{min-height:170px;resize:vertical}.mg-contact-form-card input:focus,.mg-contact-form-card select:focus,.mg-contact-form-card textarea:focus{border-color:var(--mg-blue-700);box-shadow:0 0 0 3px rgba(8,120,201,.12)}.mg-contact-form-card input[type="file"]{display:block;width:100%;margin-top:8px;padding:12px;border:1px dashed #b9d7e8;border-radius:12px;background:var(--mg-sky-50)}.mg-contact-form-card .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:8px;font-weight:600;color:var(--mg-ink)}.mg-contact-form-card .wpcf7-submit{appearance:none;border:0;border-radius:999px;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:#fff;font-weight:850;font-size:1rem;padding:14px 30px;min-width:260px;cursor:pointer;box-shadow:0 9px 26px rgba(8,120,201,.23)}.mg-contact-form-card .wpcf7-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}.mg-contact-form-card .required{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e54b4b;color:#fff;font-size:.7rem;line-height:1.6;vertical-align:.08em}.mg-contact-form-card .form-note{margin-top:8px!important;color:var(--mg-muted);font-size:.85rem}.mg-contact-form-card .wpcf7-response-output{margin:18px 0 0!important;border-radius:10px;padding:12px 14px!important}.mg-contact-side-note{padding:28px;border-radius:22px;background:var(--mg-sky-50);border:1px solid var(--mg-line)}.mg-contact-side-note h2{margin-top:0;color:var(--mg-navy-900)}.mg-contact-side-note ul{margin:12px 0 0;padding-left:1.2em;color:var(--mg-muted)}
@media(max-width:780px){.mg-contact-summary{grid-template-columns:1fr}.mg-contact-form-card{padding:26px 20px}.mg-contact-form-card .wpcf7-submit{width:100%;min-width:0}}


/* v0.4.0 top-page visual enhancements */
.mg-hero.has-image{background-position:center right;background-size:cover}
.mg-hero.has-image .mg-hero__content{padding:22px 0}
.mg-hero.has-image .mg-hero__copy{max-width:600px;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.mg-section--reasons .mg-grid{gap:24px}
.mg-card-badge{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:34px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:#fff;font-size:.8rem;font-weight:900;letter-spacing:.08em;box-shadow:0 10px 24px rgba(3,42,80,.16)}
.mg-card-accent{display:inline-flex;margin-top:16px;padding:8px 14px;border-radius:999px;background:var(--mg-sky-50);color:var(--mg-blue-700);font-size:.78rem;font-weight:800;letter-spacing:.04em;border:1px solid #d5ecf8}
.mg-reason-card{position:relative;overflow:hidden;padding:34px 26px 28px;text-align:left;min-height:290px;background:linear-gradient(180deg,#fff 0%,#f9fdff 100%)}
.mg-reason-card:before{content:"";position:absolute;right:-48px;top:-54px;width:155px;height:155px;border-radius:50%;background:radial-gradient(circle, rgba(57,185,232,.18) 0%, rgba(57,185,232,0) 68%)}
.mg-reason-card__icon-wrap{display:flex;justify-content:flex-start;margin-bottom:18px}
.mg-reason-card__icon{width:88px;height:88px;margin:0;border-radius:28px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));box-shadow:0 18px 36px rgba(8,120,201,.22), inset 0 1px 0 rgba(255,255,255,.22)}
.mg-reason-card__icon .mg-icon{width:42px;height:42px}
.mg-reason-card h3{font-size:1.18rem;line-height:1.5;margin:0 0 12px;color:var(--mg-navy-950)}
.mg-reason-card p{margin:0;color:var(--mg-muted);font-size:.94rem;line-height:1.9}
.mg-circulation__points{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}
.mg-circulation__points span{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(120,201,238,.6);color:var(--mg-navy-900);font-size:.84rem;font-weight:800;box-shadow:0 8px 20px rgba(8,120,201,.08)}
.mg-circulation__points .mg-icon{color:var(--mg-blue-700)}
.mg-cycle-panel{padding:20px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.58));border:1px solid rgba(92,183,229,.28);box-shadow:0 20px 55px rgba(5,72,122,.08);backdrop-filter:blur(10px)}
.mg-cycle-flow{padding:22px 18px;border:none;background:transparent;box-shadow:none;backdrop-filter:none}
.mg-cycle-node>div{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f3fbff 100%)}
.mg-cycle-node>div:before{content:"";position:absolute;inset:auto -10px -16px -10px;height:38px;background:linear-gradient(180deg,rgba(57,185,232,.05),rgba(57,185,232,.18));border-radius:50%}
.mg-cycle-node .mg-icon{position:relative;z-index:1}
.mg-cycle-caption{margin:4px 12px 8px;text-align:center;color:var(--mg-muted);font-size:.94rem;line-height:1.8}
.mg-steps{position:relative;align-items:stretch}
.mg-step{position:relative;text-align:left;padding:34px 24px 28px;background:linear-gradient(180deg,#fff 0%,#f9fcff 100%);border-radius:28px;min-height:280px;overflow:visible}
.mg-step:before{display:none}
.mg-step__num{position:absolute;top:-14px;left:22px;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:#fff;font-size:.88rem;font-weight:900;box-shadow:0 14px 30px rgba(8,120,201,.24)}
.mg-step__icon{width:92px;height:92px;margin:20px 0 20px;border-radius:28px;background:linear-gradient(180deg,#edf8ff,#d8f0fb);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 10px 24px rgba(8,120,201,.08)}
.mg-step__icon .mg-icon{width:42px;height:42px}
.mg-step h3{margin:0 0 10px;font-size:1.14rem;line-height:1.5;color:var(--mg-navy-950)}
.mg-step p{margin:0;color:var(--mg-muted);font-size:.93rem;line-height:1.9}
.mg-step__arrow{position:absolute;right:-18px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--mg-blue-700);font-size:1.12rem;font-weight:900;border:1px solid #cfe6f3;box-shadow:0 8px 20px rgba(5,72,122,.10);z-index:2}
.mg-about__visual.has-image{background-position:center;background-size:cover}
@media(max-width:1120px){.mg-step__arrow{display:none}}
@media(max-width:980px){.mg-hero.has-image .mg-hero__content{background:rgba(255,255,255,.82);padding:28px;border-radius:24px;backdrop-filter:blur(6px)}.mg-reason-card,.mg-step{min-height:auto}}
@media(max-width:680px){.mg-card-badge{top:14px;right:14px}.mg-reason-card{text-align:left}.mg-cycle-caption{margin:8px 4px 0}.mg-step{padding:30px 20px 24px}.mg-step__num{left:18px}}


/* v0.4.2 brand page */
.mg-brand-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eefaff 0%,#cdeeff 48%,#8bd0f0 100%);border-bottom:1px solid var(--mg-line)}
.mg-brand-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.72),transparent 26%)}
.mg-brand-hero__inner{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;position:relative;z-index:1;padding:82px 0}
.mg-brand-hero__copy{max-width:720px}.mg-brand-hero h1{margin:0;color:var(--mg-navy-950);font-size:clamp(2.8rem,5.5vw,5.2rem);line-height:1.12;letter-spacing:.01em}.mg-brand-hero__lead{margin:24px 0 0;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:2;color:#35566f;font-weight:650}.mg-brand-hero__art{height:360px;position:relative}.mg-brand-sun{position:absolute;right:8%;top:0;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.58);box-shadow:0 0 0 32px rgba(255,255,255,.08)}.mg-brand-wave{position:absolute;left:0;right:-16%;height:78px;border-radius:50%;transform:rotate(-5deg)}.mg-brand-wave--one{bottom:108px;background:rgba(22,148,216,.25)}.mg-brand-wave--two{bottom:58px;background:rgba(8,120,201,.40);transform:rotate(2deg)}.mg-brand-wave--three{bottom:10px;background:rgba(3,59,112,.70);transform:rotate(-2deg)}.mg-brand-orbit{position:absolute;right:27%;top:35%;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:var(--mg-blue-700);box-shadow:0 20px 45px rgba(3,42,80,.15)}.mg-brand-orbit .mg-icon{width:62px;height:62px}.mg-brand-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.mg-brand-copy-card{position:relative;padding:36px 38px 34px;border-radius:26px;background:linear-gradient(180deg,#fff,#f7fcff);border:1px solid var(--mg-line);box-shadow:var(--mg-shadow)}.mg-brand-copy-card__icon{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff;margin-bottom:22px}.mg-brand-copy-card__icon .mg-icon{width:40px;height:40px}.mg-brand-copy-card p{color:var(--mg-muted);font-size:1rem;line-height:2;margin:0 0 12px}.mg-brand-manifesto{padding:88px 0;background:linear-gradient(135deg,var(--mg-navy-950),var(--mg-navy-800));color:#fff;position:relative;overflow:hidden}.mg-brand-manifesto:after{content:"";position:absolute;right:-110px;top:-140px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018)}.mg-brand-manifesto .mg-eyebrow{color:#8dd9f5}.mg-brand-manifesto__head{max-width:760px;margin-bottom:44px;position:relative;z-index:1}.mg-brand-manifesto__head h2{margin:0;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.3}.mg-brand-manifesto__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}.mg-brand-manifesto__grid article{padding:30px 28px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.mg-brand-manifesto__grid article>span{display:inline-flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;background:#fff;color:var(--mg-navy-900);font-weight:900}.mg-brand-manifesto__grid h3{font-size:1.3rem;margin:20px 0 10px}.mg-brand-manifesto__grid p{margin:0;color:rgba(255,255,255,.78);line-height:1.9}.mg-brand-ocean{padding:96px 0;background:linear-gradient(180deg,#f4fbff,#dff4fd);position:relative;overflow:hidden}.mg-brand-ocean:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-55px;height:110px;border-radius:50%;background:rgba(40,165,222,.18)}.mg-brand-ocean__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;position:relative;z-index:1}.mg-brand-ocean__visual{min-height:360px;position:relative;display:grid;place-items:center}.mg-brand-ocean__circle{width:240px;height:240px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#34b5e4,#07538f);box-shadow:0 28px 60px rgba(8,120,201,.24),0 0 0 34px rgba(57,185,232,.12),0 0 0 70px rgba(57,185,232,.06)}.mg-brand-ocean__circle .mg-icon{width:105px;height:105px}.mg-brand-ocean__waves{position:absolute;left:2%;right:2%;bottom:6%;color:#5dc3e9;opacity:.75}.mg-brand-ocean__waves .mg-icon{width:100%;height:100px}.mg-brand-ocean__copy h2{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1.25;color:var(--mg-navy-950);margin:0 0 22px}.mg-brand-ocean__copy p{color:var(--mg-muted);line-height:2}.mg-brand-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.mg-brand-tags span{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #cce7f5;color:var(--mg-navy-900);font-weight:800;font-size:.84rem;box-shadow:0 8px 18px rgba(8,120,201,.06)}.mg-brand-tags .mg-icon{color:var(--mg-blue-700)}.mg-brand-message{background:#fff}.mg-brand-message__box{text-align:center;padding:58px 40px;border-radius:30px;background:linear-gradient(135deg,#f7fcff,#e8f7ff);border:1px solid var(--mg-line);box-shadow:var(--mg-shadow)}.mg-brand-message__box h2{margin:0 0 16px;font-size:clamp(2.2rem,4vw,3.8rem);color:var(--mg-navy-950)}.mg-brand-message__box p{max-width:820px;margin:0 auto;color:var(--mg-muted);line-height:2}.mg-brand-message__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
@media(max-width:900px){.mg-brand-hero__inner,.mg-brand-split,.mg-brand-ocean__inner{grid-template-columns:1fr}.mg-brand-hero__art{height:260px}.mg-brand-manifesto__grid{grid-template-columns:1fr}.mg-brand-ocean__visual{min-height:300px}.mg-brand-split,.mg-brand-ocean__inner{gap:36px}}
@media(max-width:680px){.mg-brand-hero__inner{min-height:auto;padding:64px 0}.mg-brand-hero__lead br{display:none}.mg-brand-hero__art{height:210px}.mg-brand-sun{width:120px;height:120px}.mg-brand-orbit{width:92px;height:92px}.mg-brand-orbit .mg-icon{width:48px;height:48px}.mg-brand-copy-card{padding:28px 22px}.mg-brand-manifesto,.mg-brand-ocean{padding:68px 0}.mg-brand-ocean__circle{width:180px;height:180px}.mg-brand-ocean__circle .mg-icon{width:82px;height:82px}.mg-brand-message__box{padding:40px 22px}.mg-brand-message__actions{display:grid}.mg-brand-message__actions .mg-btn{width:100%}}


/* v0.5.0 service pages */
.mg-service-hero{position:relative;overflow:hidden;padding:92px 0 82px;background:linear-gradient(125deg,#eef9ff 0%,#d9f2ff 55%,#bce6fb 100%)}
.mg-service-hero:after{content:"";position:absolute;right:-70px;top:-110px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(8,120,201,.18);box-shadow:0 0 0 65px rgba(57,185,232,.05),0 0 0 130px rgba(57,185,232,.035)}
.mg-service-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:60px;align-items:center}.mg-service-hero h1{margin:0 0 20px;color:var(--mg-navy-950);font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.15}.mg-service-hero__lead{font-size:1.1rem;color:#35566f;max-width:720px}.mg-service-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.mg-service-hero__visual{min-height:310px;display:grid;place-items:center;position:relative}.mg-service-hero__icon{width:190px;height:190px;border-radius:46px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));box-shadow:0 28px 60px rgba(5,72,122,.22);transform:rotate(-3deg)}.mg-service-hero__icon .mg-icon{width:94px;height:94px}.mg-service-hero__visual:before,.mg-service-hero__visual:after{content:"";position:absolute;height:24px;border-radius:50%;background:rgba(255,255,255,.7);transform:rotate(-5deg)}.mg-service-hero__visual:before{width:290px;bottom:36px}.mg-service-hero__visual:after{width:220px;bottom:5px;background:rgba(57,185,232,.28)}
.mg-service-section{padding:78px 0}.mg-service-section--tint{background:linear-gradient(180deg,#f7fcff,#edf8fe)}.mg-service-head{max-width:770px;margin-bottom:32px}.mg-service-head h2{margin:0 0 10px;font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.3;color:var(--mg-navy-950)}.mg-service-head p{margin:0;color:var(--mg-muted)}
.mg-service-troubles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mg-service-trouble{position:relative;padding:26px 24px 25px;border-radius:22px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 12px 30px rgba(5,72,122,.06)}.mg-service-trouble:before{content:"✓";display:grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:50%;background:var(--mg-sky-100);color:var(--mg-blue-700);font-weight:900}.mg-service-trouble h3{margin:0;color:var(--mg-navy-900);font-size:1.03rem;line-height:1.55}
.mg-service-scope{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mg-service-scope__item{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;padding:24px;border:1px solid var(--mg-line);border-radius:20px;background:#fff}.mg-service-scope__icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--mg-sky-100);color:var(--mg-blue-700)}.mg-service-scope__icon .mg-icon{width:32px;height:32px}.mg-service-scope__item h3{margin:2px 0 7px;color:var(--mg-navy-900)}.mg-service-scope__item p{margin:0;color:var(--mg-muted);font-size:.93rem}
.mg-service-strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mg-service-strength{position:relative;overflow:hidden;padding:30px 26px;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fcff);border:1px solid #d7eaf4;box-shadow:0 16px 36px rgba(5,72,122,.07)}.mg-service-strength__num{display:block;color:var(--mg-aqua);font-size:2rem;font-weight:900;line-height:1;margin-bottom:18px}.mg-service-strength h3{margin:0 0 10px;color:var(--mg-navy-950);font-size:1.15rem}.mg-service-strength p{margin:0;color:var(--mg-muted);font-size:.94rem}
.mg-service-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:svc}.mg-service-flow__item{position:relative;padding:28px 22px 24px;background:#fff;border:1px solid var(--mg-line);border-radius:22px}.mg-service-flow__item:before{counter-increment:svc;content:"0" counter(svc);display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));font-size:.78rem;font-weight:900}.mg-service-flow__item h3{margin:0 0 8px;color:var(--mg-navy-900)}.mg-service-flow__item p{margin:0;color:var(--mg-muted);font-size:.9rem}
.mg-service-note{padding:28px 30px;border-radius:22px;background:#fff;border-left:5px solid var(--mg-blue-700);box-shadow:0 12px 30px rgba(5,72,122,.06)}.mg-service-note h3{margin:0 0 8px;color:var(--mg-navy-900)}.mg-service-note p{margin:0;color:var(--mg-muted)}
.mg-service-faq{display:grid;gap:14px}.mg-service-faq details{padding:20px 22px;border:1px solid var(--mg-line);border-radius:18px;background:#fff}.mg-service-faq summary{cursor:pointer;font-weight:850;color:var(--mg-navy-900)}.mg-service-faq details p{margin:12px 0 0;color:var(--mg-muted)}
.mg-service-related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mg-service-related a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border:1px solid var(--mg-line);border-radius:18px;background:#fff;color:var(--mg-navy-900);font-weight:800}.mg-service-related a:hover{border-color:#9bd6f1;box-shadow:0 10px 24px rgba(8,120,201,.08)}
.mg-services-index{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mg-services-index__card{padding:28px 25px;border-radius:24px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 34px rgba(5,72,122,.06)}.mg-services-index__icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mg-sky-100),#fff);border:1px solid #d9edf7;color:var(--mg-blue-700);margin-bottom:18px}.mg-services-index__icon .mg-icon{width:37px;height:37px}.mg-services-index__card h2{margin:0 0 8px;font-size:1.2rem;color:var(--mg-navy-900)}.mg-services-index__card p{margin:0 0 16px;color:var(--mg-muted);font-size:.93rem}.mg-services-index__card a{font-weight:850}
@media(max-width:980px){.mg-service-hero__inner{grid-template-columns:1fr}.mg-service-hero__visual{display:none}.mg-service-troubles,.mg-service-strengths,.mg-services-index{grid-template-columns:repeat(2,1fr)}.mg-service-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.mg-service-hero{padding:64px 0}.mg-service-troubles,.mg-service-scope,.mg-service-strengths,.mg-service-flow,.mg-service-related,.mg-services-index{grid-template-columns:1fr}.mg-service-section{padding:58px 0}.mg-service-hero__actions{display:grid}.mg-service-scope__item{grid-template-columns:54px 1fr}.mg-service-scope__icon{width:54px;height:54px}}


/* v0.6.0 brighter image-rich layouts */
.mg-home-gallery{margin-top:-58px;padding:0 0 26px;position:relative;z-index:2}
.mg-home-gallery__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.mg-home-gallery__item{position:relative;overflow:hidden;border-radius:28px;min-height:220px;box-shadow:0 20px 45px rgba(5,72,122,.14);background:#fff;border:1px solid rgba(255,255,255,.65)}
.mg-home-gallery__item.is-large{grid-row:span 2;min-height:458px}
.mg-home-gallery__item img,.mg-service-card__photo img,.mg-circulation__photo img,.mg-flow-banner__photo img,.mg-page-hero__photo img,.mg-media-card img,.mg-service-photo-card img,.mg-services-index__photo img{display:block;width:100%;height:100%;object-fit:cover}
.mg-home-gallery__item:after,.mg-service-photo-card:after,.mg-media-card:after,.mg-page-hero__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,42,80,0) 35%, rgba(3,42,80,.62) 100%)}
.mg-home-gallery__item figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:5px}.mg-home-gallery__item figcaption strong{font-size:1.12rem}.mg-home-gallery__item figcaption span{font-size:.9rem;color:rgba(255,255,255,.88)}
.mg-service-card{overflow:hidden;padding-top:0}.mg-service-card__photo{margin:0 -28px 20px;min-height:150px;max-height:160px;overflow:hidden}.mg-service-card__photo img{height:160px}.mg-service-card__icon{margin-top:-60px;position:relative;background:#fff;box-shadow:0 10px 24px rgba(5,72,122,.12)}
.mg-reason-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center;margin-bottom:28px}.mg-reason-feature__copy{padding:12px 8px}.mg-reason-feature__copy h3{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.25;margin:0 0 14px;color:var(--mg-navy-950)}.mg-reason-feature__copy p{margin:0;color:var(--mg-muted);line-height:1.9}.mg-reason-feature__photo{position:relative;overflow:hidden;border-radius:30px;min-height:330px;box-shadow:0 18px 40px rgba(5,72,122,.10)}
.mg-circulation__photo{margin:20px 0 10px;border-radius:24px;overflow:hidden;box-shadow:0 16px 36px rgba(5,72,122,.10)}.mg-circulation__photo img{height:235px;object-fit:cover}
.mg-flow-banner{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:center;margin:0 0 30px}.mg-flow-banner__photo{overflow:hidden;border-radius:30px;box-shadow:0 18px 38px rgba(5,72,122,.10);min-height:280px}.mg-flow-banner__copy{padding:22px 24px;border-radius:24px;background:linear-gradient(135deg,#fff,#f6fbff);border:1px solid var(--mg-line);box-shadow:0 12px 26px rgba(5,72,122,.05)}.mg-flow-banner__copy h3{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.35;color:var(--mg-navy-950)}.mg-flow-banner__copy p{margin:0;color:var(--mg-muted);line-height:1.9}
.mg-page-hero--photo{padding:78px 0 58px}.mg-page-hero__split{display:grid;grid-template-columns:1fr .95fr;gap:30px;align-items:center;position:relative;z-index:1}.mg-page-hero__photo{position:relative;overflow:hidden;border-radius:28px;min-height:300px;box-shadow:0 18px 42px rgba(5,72,122,.14)}.mg-page-hero__photo img{height:100%}.mg-page-hero__photo:after{background:linear-gradient(180deg,rgba(3,42,80,0) 40%, rgba(3,42,80,.22) 100%)}
.mg-page-media-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:28px;align-items:start}.mg-media-card{position:relative;overflow:hidden;border-radius:26px;min-height:420px;box-shadow:0 18px 40px rgba(5,72,122,.10)}.mg-media-card img{height:100%}.mg-media-card figcaption{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;color:#fff;font-weight:700;line-height:1.8}
.mg-brand-photo-strip{padding:24px 0 8px;background:linear-gradient(180deg,#dff4fd,#fff)}
.mg-service-hero__visual.has-image{min-height:340px;overflow:hidden;border-radius:34px;background-size:cover;background-position:center;box-shadow:0 22px 48px rgba(5,72,122,.14);align-items:flex-end;justify-items:flex-start;padding:22px}.mg-service-hero__visual.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,42,80,0) 32%, rgba(3,42,80,.45) 100%)}.mg-service-hero__visual.has-image .mg-service-hero__icon{position:relative;z-index:1;width:108px;height:108px;border-radius:28px;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.mg-service-photo-strip{margin-top:-38px;padding:0 0 8px;position:relative;z-index:2}.mg-service-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mg-service-photo-card{position:relative;overflow:hidden;min-height:220px;border-radius:24px;box-shadow:0 16px 34px rgba(5,72,122,.10)}.mg-service-photo-card figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;font-weight:800;letter-spacing:.03em}
.mg-services-index__card{overflow:hidden;padding-top:0}.mg-services-index__photo{margin:0 -25px 20px;min-height:160px;overflow:hidden}.mg-services-index__photo img{height:165px}.mg-services-index__icon{margin-top:-54px;position:relative;background:#fff;box-shadow:0 10px 24px rgba(5,72,122,.12)}
@media(max-width:1120px){.mg-home-gallery__grid{grid-template-columns:1fr 1fr}.mg-home-gallery__item.is-large{grid-row:auto;grid-column:1/-1;min-height:320px}.mg-reason-feature,.mg-flow-banner,.mg-page-media-grid,.mg-page-hero__split{grid-template-columns:1fr}.mg-service-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.mg-home-gallery{margin-top:-34px}.mg-home-gallery__item{min-height:200px}.mg-page-hero__photo{min-height:240px}.mg-media-card{min-height:340px}.mg-service-photo-strip{margin-top:0;padding-top:24px}.mg-service-hero__visual.has-image{display:grid}}
@media(max-width:680px){.mg-home-gallery__grid,.mg-service-photo-grid{grid-template-columns:1fr}.mg-home-gallery__item.is-large{min-height:260px}.mg-home-gallery__item{min-height:210px}.mg-service-card__photo{margin-left:-22px;margin-right:-22px}.mg-service-card__photo img{height:150px}.mg-service-hero__visual.has-image{min-height:250px;border-radius:24px;padding:16px}.mg-media-card{min-height:280px}.mg-page-hero--photo{padding:62px 0 40px}}


/* v0.6.1 news section + circular economy redesign */
.mg-news-section{
  padding:34px 0 42px;
  background:#fff;
  border-bottom:1px solid var(--mg-line);
}
.mg-news-section__head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin-bottom:18px;
}
.mg-news-section__head .mg-title{margin:3px 0 0;font-size:clamp(1.8rem,3vw,2.5rem)}
.mg-news-section__more{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--mg-blue-700);
  font-weight:800;
}
.mg-news-list{
  border-top:1px solid var(--mg-line);
}
.mg-news-item{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:26px;
  align-items:center;
  padding:18px 4px;
  border-bottom:1px solid var(--mg-line);
}
.mg-news-item time{
  color:var(--mg-blue-700);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.06em;
}
.mg-news-item a,.mg-news-item span{
  color:var(--mg-navy-950);
  font-weight:700;
  line-height:1.65;
}
.mg-news-item a:hover{color:var(--mg-blue-700)}

.mg-circulation{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.98),rgba(255,255,255,0) 31%),
    radial-gradient(circle at 92% 18%,rgba(82,197,235,.25),rgba(82,197,235,0) 28%),
    linear-gradient(135deg,#effaff 0%,#ddf4ff 52%,#c6ebfa 100%);
}
.mg-circulation:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-220px;
  bottom:-300px;
  border:1px solid rgba(8,120,201,.16);
  box-shadow:0 0 0 70px rgba(8,120,201,.035),0 0 0 140px rgba(8,120,201,.025);
}
.mg-circulation__head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:end;
  margin-bottom:34px;
}
.mg-circulation__head .mg-lead{max-width:720px;margin-bottom:0}
.mg-circulation__stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.mg-circulation__stats span{
  min-height:90px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:3px;
  border-radius:22px;
  background:rgba(255,255,255,.80);
  border:1px solid rgba(96,190,230,.35);
  color:var(--mg-navy-900);
  font-size:.8rem;
  font-weight:800;
  box-shadow:0 12px 28px rgba(5,72,122,.06);
  backdrop-filter:blur(8px);
}
.mg-circulation__stats strong{
  color:var(--mg-blue-700);
  font-size:1.28rem;
  line-height:1;
}
.mg-circulation-showcase{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
}
.mg-circulation-showcase__photo{
  position:relative;
  overflow:hidden;
  min-height:520px;
  margin:0;
  border-radius:34px;
  box-shadow:0 26px 60px rgba(5,72,122,.16);
}
.mg-circulation-showcase__photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,34,64,.02) 35%,rgba(3,42,80,.72) 100%);
}
.mg-circulation-showcase__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mg-circulation-showcase__photo figcaption{
  position:absolute;
  z-index:1;
  left:30px;
  right:30px;
  bottom:28px;
  color:#fff;
}
.mg-circulation-showcase__photo figcaption span{
  display:block;
  margin-bottom:8px;
  color:#9ee6ff;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
}
.mg-circulation-showcase__photo figcaption strong{
  display:block;
  font-size:clamp(1.8rem,3.4vw,3.2rem);
  line-height:1.28;
}
.mg-circulation-showcase__content{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.mg-cycle-track{
  display:grid;
  gap:11px;
  padding:22px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(96,190,230,.35);
  box-shadow:0 20px 48px rgba(5,72,122,.08);
  backdrop-filter:blur(10px);
}
.mg-cycle-track__item{
  display:grid;
  grid-template-columns:42px 64px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:74px;
  padding:7px 12px 7px 5px;
  border-radius:20px;
  transition:.2s ease;
}
.mg-cycle-track__item:hover{background:#f3fbff;transform:translateX(3px)}
.mg-cycle-track__number{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--mg-navy-900);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
}
.mg-cycle-track__icon{
  width:60px;
  height:60px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:var(--mg-blue-700);
  background:linear-gradient(145deg,#fff,#dff5ff);
  border:1px solid #caeafa;
}
.mg-cycle-track__icon .mg-icon{width:31px;height:31px}
.mg-cycle-track__item strong{
  display:block;
  color:var(--mg-navy-950);
  font-size:1rem;
  margin-bottom:4px;
}
.mg-cycle-track__item small{
  display:block;
  color:var(--mg-muted);
  font-size:.82rem;
  line-height:1.5;
}
.mg-circulation-message{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:18px;
  align-items:center;
  padding:22px 24px;
  border-radius:28px;
  color:#fff;
  background:linear-gradient(135deg,var(--mg-navy-950),var(--mg-blue-700));
  box-shadow:0 18px 38px rgba(3,42,80,.18);
}
.mg-circulation-message__mark{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:rgba(255,255,255,.13);
}
.mg-circulation-message__mark .mg-icon{width:42px;height:42px}
.mg-circulation-message strong{display:block;font-size:1.12rem;margin-bottom:7px}
.mg-circulation-message p{margin:0;color:rgba(255,255,255,.82);font-size:.88rem;line-height:1.7}

@media(max-width:980px){
  .mg-circulation__head,.mg-circulation-showcase{grid-template-columns:1fr}
  .mg-circulation__stats{grid-template-columns:repeat(4,1fr)}
  .mg-circulation-showcase__photo{min-height:390px}
}
@media(max-width:680px){
  .mg-news-section__head{align-items:flex-start}
  .mg-news-section__more{font-size:.82rem}
  .mg-news-item{grid-template-columns:1fr;gap:5px;padding:15px 2px}
  .mg-circulation__stats{grid-template-columns:repeat(2,1fr)}
  .mg-circulation-showcase__photo{min-height:320px;border-radius:24px}
  .mg-circulation-showcase__photo figcaption{left:20px;right:20px;bottom:20px}
  .mg-cycle-track{padding:14px;border-radius:24px}
  .mg-cycle-track__item{grid-template-columns:34px 52px 1fr;gap:10px;padding:6px}
  .mg-cycle-track__number{width:32px;height:32px}
  .mg-cycle-track__icon{width:50px;height:50px}
  .mg-circulation-message{grid-template-columns:1fr}
}


/* v0.7.0 flow / customer / sdgs pages */
.mg-section__actions{margin-top:30px;display:flex;gap:12px}.mg-section__actions--center{justify-content:center}
.mg-flow-page{padding:78px 0 88px;background:linear-gradient(180deg,#fff,#f6fbff)}
.mg-flow-page__intro{max-width:820px;margin:0 auto 46px;text-align:center}
.mg-flow-page__timeline{max-width:980px;margin:0 auto;display:grid;gap:18px}
.mg-flow-detail{position:relative;display:grid;grid-template-columns:70px 92px 1fr;gap:22px;align-items:start;padding:28px 30px;border:1px solid var(--mg-line);border-radius:28px;background:#fff;box-shadow:0 14px 34px rgba(5,72,122,.06)}
.mg-flow-detail:not(:last-child):after{content:"";position:absolute;left:64px;top:100%;width:2px;height:20px;background:linear-gradient(var(--mg-blue-600),#bfe7f8)}
.mg-flow-detail__num{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--mg-navy-900),var(--mg-blue-700));color:#fff;font-size:.82rem;font-weight:900;box-shadow:0 12px 25px rgba(5,72,122,.16)}
.mg-flow-detail__icon{width:82px;height:82px;border-radius:24px;display:grid;place-items:center;color:var(--mg-blue-700);background:linear-gradient(145deg,#fff,#def4ff);border:1px solid #cbe8f6}.mg-flow-detail__icon .mg-icon{width:39px;height:39px}
.mg-flow-detail__body h3{margin:3px 0 10px;color:var(--mg-navy-950);font-size:1.35rem}.mg-flow-detail__body p{margin:0;color:var(--mg-muted);line-height:1.9}
.mg-flow-detail__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.mg-flow-detail__actions a{font-weight:850}
.mg-flow-tip{display:flex;gap:8px;align-items:flex-start;margin-top:14px!important;padding:13px 15px;border-radius:16px;background:var(--mg-sky-50);color:var(--mg-navy-900)!important}.mg-flow-tip .mg-icon{flex:none;color:var(--mg-blue-700)}
.mg-flow-page__visual{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;margin-top:60px;padding:28px;border-radius:32px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 18px 42px rgba(5,72,122,.07)}
.mg-flow-page__visual figure{margin:0;min-height:340px;overflow:hidden;border-radius:24px}.mg-flow-page__visual img{width:100%;height:100%;object-fit:cover;display:block}.mg-flow-page__visual h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.3;color:var(--mg-navy-950);margin:6px 0 14px}.mg-flow-page__visual p{color:var(--mg-muted);line-height:1.9}
.mg-customer-page{padding:78px 0 88px;background:linear-gradient(180deg,#fff,#f4fbff)}
.mg-voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.mg-voice-card{position:relative;padding:34px 32px;border-radius:28px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 36px rgba(5,72,122,.06);overflow:hidden}
.mg-voice-card__quote{position:absolute;right:20px;top:-14px;font-size:7rem;line-height:1;color:#d9f2fd;font-family:Georgia,serif;font-weight:900}
.mg-voice-card__meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.mg-voice-card__meta strong{font-size:1rem;color:var(--mg-navy-950)}.mg-voice-card__meta span{font-size:.78rem;color:var(--mg-muted)}
.mg-voice-card h3{position:relative;z-index:1;font-size:1.35rem;line-height:1.55;color:var(--mg-navy-950);margin:0 0 14px}.mg-voice-card p{position:relative;z-index:1;margin:0;color:var(--mg-muted);line-height:1.9}.mg-voice-card__tag{display:inline-flex;margin-top:18px;padding:8px 13px;border-radius:999px;background:var(--mg-sky-50);color:var(--mg-blue-700);font-size:.78rem;font-weight:850}
.mg-customer-highlight{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-top:56px;padding:30px;border-radius:32px;background:linear-gradient(135deg,#eaf8ff,#fff);border:1px solid var(--mg-line)}
.mg-customer-highlight figure{margin:0;overflow:hidden;border-radius:24px;min-height:360px}.mg-customer-highlight img{width:100%;height:100%;object-fit:cover}.mg-customer-highlight h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.35;color:var(--mg-navy-950);margin:6px 0 18px}.mg-customer-points{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.mg-customer-points span{display:flex;align-items:center;gap:8px;padding:12px 13px;border-radius:14px;background:#fff;color:var(--mg-navy-900);font-size:.84rem;font-weight:800}.mg-customer-points .mg-icon{color:var(--mg-blue-700)}
.mg-sdgs-intro{padding:66px 0;background:#fff}.mg-sdgs-intro__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center}
.mg-sdgs-page{padding:78px 0 88px;background:linear-gradient(180deg,#f4fbff,#fff)}
.mg-sdgs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mg-sdgs-card{position:relative;min-height:310px;padding:28px 25px;border-radius:26px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 34px rgba(5,72,122,.06);overflow:hidden}
.mg-sdgs-card:after{content:"";position:absolute;right:-60px;top:-70px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(57,185,232,.18),rgba(57,185,232,0) 70%)}
.mg-sdgs-card__no{position:absolute;right:19px;top:18px;color:#b7def1;font-size:1.5rem;font-weight:900}.mg-sdgs-card__icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));margin-bottom:18px;box-shadow:0 12px 28px rgba(5,72,122,.16)}.mg-sdgs-card__icon .mg-icon{width:36px;height:36px}
.mg-sdgs-card h3{margin:0 0 12px;color:var(--mg-navy-950);font-size:1.18rem}.mg-sdgs-card p{margin:0;color:var(--mg-muted);line-height:1.85;font-size:.92rem}.mg-sdgs-goals{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.mg-sdgs-goals span{padding:6px 9px;border-radius:8px;background:#edf9ff;color:var(--mg-blue-700);font-size:.68rem;font-weight:900;letter-spacing:.05em}
.mg-sdgs-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;margin-top:58px;padding:30px;border-radius:32px;background:linear-gradient(135deg,#fff,#e9f8ff);border:1px solid var(--mg-line);box-shadow:0 18px 42px rgba(5,72,122,.07)}.mg-sdgs-feature figure{margin:0;overflow:hidden;border-radius:24px;min-height:360px}.mg-sdgs-feature img{width:100%;height:100%;object-fit:cover}.mg-sdgs-feature h2{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.35;color:var(--mg-navy-950);margin:6px 0 16px}.mg-sdgs-feature p{color:var(--mg-muted);line-height:1.9}
@media(max-width:980px){.mg-flow-page__visual,.mg-customer-highlight,.mg-sdgs-intro__grid,.mg-sdgs-feature{grid-template-columns:1fr}.mg-sdgs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.mg-flow-detail{grid-template-columns:48px 1fr;padding:22px 18px}.mg-flow-detail__icon{grid-row:2;grid-column:1;width:46px;height:46px;border-radius:14px}.mg-flow-detail__icon .mg-icon{width:25px;height:25px}.mg-flow-detail__body{grid-column:2;grid-row:1 / span 2}.mg-flow-detail:not(:last-child):after{left:42px}.mg-flow-page__visual{padding:20px}.mg-flow-page__visual figure{min-height:240px}.mg-voice-grid,.mg-sdgs-grid{grid-template-columns:1fr}.mg-voice-card{padding:28px 22px}.mg-customer-highlight{padding:20px}.mg-customer-highlight figure,.mg-sdgs-feature figure{min-height:250px}.mg-customer-points{grid-template-columns:1fr}.mg-sdgs-feature{padding:20px}}


/* v0.8.0 FAQ routes + case studies CMS */
.mg-home-cases{background:#fff}
.mg-home-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mg-home-case-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 36px rgba(5,72,122,.07)}
.mg-home-case-card__image{display:block;height:220px;overflow:hidden}.mg-home-case-card__image img,.mg-home-case-card--sample>img{width:100%;height:100%;object-fit:cover;display:block}.mg-home-case-card--sample>img{height:220px}
.mg-home-case-card__body{padding:24px}.mg-home-case-card__meta,.mg-case-card__meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.mg-home-case-card__meta time,.mg-case-card__meta time{font-size:.75rem;color:var(--mg-muted)}.mg-home-case-card__meta span,.mg-case-card__meta span{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--mg-sky-50);color:var(--mg-blue-700);font-size:.7rem;font-weight:850}
.mg-home-case-card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.55;color:var(--mg-navy-950)}.mg-home-case-card p{margin:0 0 16px;color:var(--mg-muted);font-size:.9rem;line-height:1.8}.mg-home-case-card__link{font-weight:850}
.mg-home-faq{background:linear-gradient(135deg,#eaf8ff,#f8fdff)}.mg-home-faq__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.mg-home-faq__copy p{color:var(--mg-muted);line-height:1.9}.mg-home-faq__preview{display:grid;gap:12px}.mg-home-faq__preview details{background:#fff;border:1px solid var(--mg-line);border-radius:18px;padding:0 20px;box-shadow:0 10px 24px rgba(5,72,122,.04)}.mg-home-faq__preview summary{cursor:pointer;padding:18px 0;color:var(--mg-navy-950);font-weight:850}.mg-home-faq__preview p{margin:0;padding:0 0 18px;color:var(--mg-muted);line-height:1.75}

.mg-case-archive{padding:70px 0 90px;background:linear-gradient(180deg,#fff,#f5fbff)}
.mg-case-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.mg-case-filters a{padding:9px 14px;border-radius:999px;border:1px solid var(--mg-line);background:#fff;font-size:.82rem;font-weight:800}.mg-case-filters a.is-active{background:var(--mg-navy-900);border-color:var(--mg-navy-900);color:#fff}
.mg-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mg-case-card{overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 36px rgba(5,72,122,.07)}.mg-case-card__image{display:block;height:240px;overflow:hidden}.mg-case-card__image img{width:100%;height:100%;object-fit:cover;display:block}.mg-case-card__body{padding:24px}.mg-case-card h2{font-size:1.22rem;line-height:1.55;margin:0 0 10px}.mg-case-card h2 a{color:var(--mg-navy-950)}.mg-case-card p{color:var(--mg-muted);font-size:.92rem;line-height:1.8}.mg-case-card__link{font-weight:850}.mg-case-pagination{margin-top:38px}.mg-case-pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mg-case-pagination .page-numbers{padding:9px 13px;border:1px solid var(--mg-line);border-radius:10px;background:#fff}.mg-case-pagination .current{background:var(--mg-navy-900);color:#fff}
.mg-case-empty{padding:48px;text-align:center;border-radius:24px;background:#fff;border:1px solid var(--mg-line)}
.mg-case-single__hero{padding:74px 0 58px;background:linear-gradient(135deg,#edf9ff,#d9f2fd)}.mg-case-single__hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:center}.mg-case-single__hero h1{font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.25;margin:0 0 18px;color:var(--mg-navy-950)}.mg-case-single__hero p{color:var(--mg-muted);line-height:1.9}.mg-case-single__hero figure{margin:0;overflow:hidden;border-radius:28px;min-height:330px;box-shadow:0 18px 42px rgba(5,72,122,.12)}.mg-case-single__hero img{width:100%;height:100%;object-fit:cover}
.mg-case-single__content{padding:70px 0 90px}.mg-case-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:46px;align-items:start}.mg-case-single__article{font-size:1rem;line-height:2;color:var(--mg-ink)}.mg-case-single__article h2,.mg-case-single__article h3{color:var(--mg-navy-950);margin-top:2em}.mg-case-single__article img{max-width:100%;height:auto;border-radius:20px}.mg-case-single__aside{position:sticky;top:110px}.mg-case-back{display:inline-block;margin-top:16px;font-weight:800}

@media(max-width:980px){.mg-home-case-grid,.mg-case-grid{grid-template-columns:repeat(2,1fr)}.mg-home-faq__inner,.mg-case-single__hero-grid,.mg-case-single__layout{grid-template-columns:1fr}.mg-case-single__aside{position:static}}
@media(max-width:680px){.mg-home-case-grid,.mg-case-grid{grid-template-columns:1fr}.mg-home-case-card__image,.mg-case-card__image{height:210px}.mg-home-faq__inner{gap:28px}}


/* v0.9.0 structured case-study fields + before/after */
.mg-case-facts{padding:28px 0;background:#fff;border-bottom:1px solid var(--mg-line)}
.mg-case-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mg-case-fact{min-height:118px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#fff,#f5fbff);border:1px solid var(--mg-line);box-shadow:0 10px 24px rgba(5,72,122,.04)}
.mg-case-fact__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e6f6ff;color:var(--mg-blue-700);margin-bottom:12px}.mg-case-fact__icon .mg-icon{width:24px;height:24px}
.mg-case-fact span{display:block;color:var(--mg-muted);font-size:.72rem;font-weight:800;margin-bottom:4px}.mg-case-fact strong{display:block;color:var(--mg-navy-950);font-size:.94rem;line-height:1.55}
.mg-case-before-after{padding:72px 0;background:linear-gradient(180deg,#edf9ff,#fff)}
.mg-before-after-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.mg-before-after-grid figure{position:relative;margin:0;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 16px 38px rgba(5,72,122,.08)}
.mg-before-after-grid figure>span{position:absolute;z-index:2;left:16px;top:16px;padding:8px 12px;border-radius:999px;background:rgba(3,42,80,.88);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.mg-before-after-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mg-before-after-grid figcaption{padding:13px 16px;color:var(--mg-navy-900);font-weight:800}
.mg-case-point{margin:0 0 30px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#eefaff,#fff);border:1px solid #cfe8f5}
.mg-case-point h2{margin:6px 0 10px!important}.mg-case-point p{margin:0}
.mg-case-extra-photo{margin:0 0 32px}.mg-case-extra-photo img{width:100%;height:auto;border-radius:22px}.mg-case-extra-photo figcaption{margin-top:8px;color:var(--mg-muted);font-size:.8rem}
@media(max-width:980px){.mg-case-facts__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.mg-case-facts__grid,.mg-before-after-grid{grid-template-columns:1fr}.mg-case-fact{min-height:auto}}


/* v1.0.0 header / footer information architecture */
.site-header{overflow:visible}
.site-header__inner{min-height:76px}
.site-nav--enhanced{position:static}
.mg-main-nav{list-style:none;display:flex;gap:17px;align-items:center;margin:0;padding:0}
.mg-main-nav>li{position:relative}
.mg-main-nav>li>a{display:block;color:var(--mg-ink);font-size:.82rem;font-weight:800;white-space:nowrap;padding:28px 0 24px}
.mg-main-nav>li>a:after{bottom:14px}
.mg-nav-has-submenu{display:flex;align-items:center}
.mg-submenu-toggle{display:none}
.mg-nav-dropdown{
  visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none;
  position:absolute;z-index:150;top:68px;left:50%;width:760px;
  display:grid;grid-template-columns:250px 1fr;gap:18px;
  padding:22px;border-radius:24px;background:#fff;border:1px solid var(--mg-line);
  box-shadow:0 24px 60px rgba(3,42,80,.16);
  transition:.18s ease;
}
.mg-nav-has-submenu:hover .mg-nav-dropdown,.mg-nav-has-submenu:focus-within .mg-nav-dropdown{visibility:visible;opacity:1;transform:translate(-22%,0);pointer-events:auto}
.mg-nav-dropdown__intro{padding:18px;border-radius:18px;background:linear-gradient(145deg,#ecf9ff,#d9f2fd)}
.mg-nav-dropdown__intro strong{display:block;margin:5px 0 9px;color:var(--mg-navy-950);font-size:1.2rem}.mg-nav-dropdown__intro p{font-size:.82rem;line-height:1.7;color:var(--mg-muted)}.mg-nav-dropdown__intro>a{font-size:.8rem;font-weight:850}
.mg-nav-dropdown__links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.mg-nav-dropdown__links>a{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:14px;color:var(--mg-navy-900);font-size:.78rem;font-weight:800;background:#fbfdff;border:1px solid transparent}
.mg-nav-dropdown__links>a:hover{background:#eef9ff;border-color:#d5ebf6}.mg-nav-dropdown__links .mg-icon{width:22px;height:22px;color:var(--mg-blue-700)}

.site-header__subbar{background:linear-gradient(90deg,var(--mg-navy-950),#075c9a);border-top:1px solid rgba(255,255,255,.08)}
.site-header__subbar-inner{min-height:34px;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.site-header__subbar-label{margin-right:auto;color:#7ed8fa;font-size:.62rem;font-weight:900;letter-spacing:.18em}
.site-header__subbar nav{display:flex;align-items:center;gap:22px}
.site-header__subbar a{color:rgba(255,255,255,.82);font-size:.7rem;font-weight:750;white-space:nowrap}.site-header__subbar a:hover{color:#fff}.site-header__subbar a.is-sdgs{color:#b8f2dd;font-weight:900}

.mg-sdgs-banner{position:relative;display:grid;grid-template-columns:92px 1fr 54px;gap:20px;align-items:center;margin:0 0 52px;padding:24px 28px;border-radius:28px;color:#fff;background:linear-gradient(120deg,#074b82 0%,#087fc1 48%,#12a58a 100%);box-shadow:0 20px 44px rgba(0,0,0,.13);overflow:hidden}
.mg-sdgs-banner:before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#e5243b 0 6%,#dda63a 6% 12%,#4c9f38 12% 18%,#c5192d 18% 24%,#ff3a21 24% 30%,#26bde2 30% 36%,#fcc30b 36% 42%,#a21942 42% 48%,#fd6925 48% 54%,#dd1367 54% 60%,#fd9d24 60% 66%,#bf8b2e 66% 72%,#3f7e44 72% 78%,#0a97d9 78% 84%,#56c02b 84% 90%,#00689d 90% 95%,#19486a 95% 100%)}
.mg-sdgs-banner__visual{display:grid;place-items:center}.mg-sdgs-banner__ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 9px rgba(255,255,255,.06)}.mg-sdgs-banner__ring .mg-icon{width:42px;height:42px}
.mg-sdgs-banner__copy{display:flex;flex-direction:column;gap:4px}.mg-sdgs-banner__copy small{color:#aee8fb;font-size:.68rem;font-weight:900;letter-spacing:.14em}.mg-sdgs-banner__copy strong{font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.35}.mg-sdgs-banner__copy>span{color:rgba(255,255,255,.84);font-size:.82rem}.mg-sdgs-banner__arrow{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--mg-blue-700);font-size:1.3rem;font-weight:900}

.site-footer{padding-top:78px}
.site-footer__grid--expanded{grid-template-columns:1.25fr .95fr .85fr .9fr;gap:44px}
.site-footer__nav h3{margin:0 0 18px;color:#fff;font-size:.95rem}
.site-footer__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer__nav a{color:rgba(255,255,255,.76);font-size:.8rem;line-height:1.55}.site-footer__nav a:hover{color:#fff}
.site-footer__hours{font-size:.78rem;color:rgba(255,255,255,.68)}

@media(max-width:1180px){
 .mg-main-nav{gap:12px}.mg-main-nav>li>a{font-size:.76rem}.header-contact{padding:8px 10px}.header-phone{font-size:1.06rem}
 .site-header__subbar nav{gap:15px}
}
@media(max-width:980px){
 .site-header__inner{min-height:68px}
 .site-nav--enhanced{display:none;position:absolute;left:0;right:0;top:68px;padding:14px 20px 22px;background:#fff;border-bottom:1px solid var(--mg-line);box-shadow:var(--mg-shadow);max-height:calc(100vh - 68px);overflow:auto}
 .site-nav--enhanced.is-open{display:block}
 .mg-main-nav{display:grid;gap:0}
 .mg-main-nav>li{display:block;border-bottom:1px solid var(--mg-line)}
 .mg-main-nav>li>a{display:block;padding:14px 0;font-size:.9rem}
 .mg-main-nav>li>a:after{display:none}
 .mg-nav-has-submenu{position:relative}
 .mg-submenu-toggle{display:block;position:absolute;right:0;top:7px;width:42px;height:42px;border:0;background:#eef8fd;border-radius:12px;color:var(--mg-navy-900);font-size:1.2rem}
 .mg-nav-dropdown{visibility:visible;opacity:1;transform:none;pointer-events:auto;position:static;width:auto;display:none;grid-template-columns:1fr;margin:0 0 12px;padding:12px;border-radius:16px;box-shadow:none}
 .mg-nav-has-submenu.is-open .mg-nav-dropdown{display:grid}
 .mg-nav-has-submenu:hover .mg-nav-dropdown,.mg-nav-has-submenu:focus-within .mg-nav-dropdown{transform:none}
 .mg-nav-dropdown__links{grid-template-columns:1fr}
 .site-header__subbar{display:none}
 .site-footer__grid--expanded{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
 .header-contact{margin-left:auto}.header-phone{font-size:.92rem}
 .mg-sdgs-banner{grid-template-columns:62px 1fr 38px;gap:14px;padding:19px 18px;border-radius:22px}.mg-sdgs-banner__ring{width:58px;height:58px}.mg-sdgs-banner__ring .mg-icon{width:32px;height:32px}.mg-sdgs-banner__arrow{width:36px;height:36px}
 .site-footer__grid--expanded{grid-template-columns:1fr;gap:34px}
}
\n/* v1.1.0 editable content */\n.mg-page-editor-section{padding:58px 0;background:#fff;border-bottom:1px solid var(--mg-line)}.mg-page-editor-content{max-width:980px;line-height:1.95;color:var(--mg-ink)}.mg-page-editor-content>:first-child{margin-top:0}.mg-page-editor-content>:last-child{margin-bottom:0}.mg-page-editor-content h2,.mg-page-editor-content h3,.mg-page-editor-content h4{color:var(--mg-navy-950);line-height:1.45}.mg-page-editor-content h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:1.8em 0 .7em}.mg-page-editor-content h3{font-size:1.3rem}.mg-page-editor-content p{margin:0 0 1.2em}.mg-page-editor-content img{max-width:100%;height:auto;border-radius:20px}.mg-page-editor-content .wp-block-button__link{border-radius:999px;background:var(--mg-blue-700);font-weight:800}.mg-faq__answer{padding:0 0 18px;color:var(--mg-muted);line-height:1.8}.mg-voice-card__content{position:relative;z-index:1;color:var(--mg-muted);line-height:1.9}.mg-service-faq-more{margin-top:18px;text-align:right;font-weight:850}@media(max-width:680px){.mg-page-editor-section{padding:44px 0}}\n

/* v1.1.1 FAQ category navigation + grouped display */
.mg-faq-page{padding:66px 0 86px;background:linear-gradient(180deg,#f8fdff,#fff)}
.mg-faq-category-nav{
  position:sticky;
  top:108px;
  z-index:20;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:42px;
  padding:14px;
  border:1px solid var(--mg-line);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 30px rgba(5,72,122,.07);
  backdrop-filter:blur(10px);
}
.mg-faq-category-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 15px;
  border-radius:999px;
  color:var(--mg-navy-900);
  background:#f1f9fd;
  border:1px solid #dceef7;
  font-size:.82rem;
  font-weight:850;
}
.mg-faq-category-nav a:hover,.mg-faq-category-nav a.is-active{
  color:#fff;
  background:linear-gradient(135deg,var(--mg-blue-600),var(--mg-navy-900));
  border-color:transparent;
}
.mg-faq-groups{display:grid;gap:50px}
.mg-faq-group{scroll-margin-top:170px}
.mg-faq-group__head{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:18px}
.mg-faq-group__head h2{margin:0;color:var(--mg-navy-950);font-size:clamp(1.6rem,3vw,2.35rem)}
.mg-faq-group__head p{margin:5px 0 0;color:var(--mg-muted);line-height:1.8}
.mg-faq--grouped{gap:12px}
.mg-faq--grouped details{
  overflow:hidden;
  padding:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(5,72,122,.045);
}
.mg-faq--grouped summary{
  display:flex;
  align-items:center;
  gap:13px;
  padding:19px 20px;
}
.mg-faq-q,.mg-faq-a{
  flex:none;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  font-size:.88rem;
  font-weight:950;
}
.mg-faq-q{color:#fff;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900))}
.mg-faq-a{color:var(--mg-blue-700);background:#e9f7fe}
.mg-faq--grouped .mg-faq__answer{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:13px;
  padding:0 20px 20px;
  color:var(--mg-muted);
}
.mg-faq--grouped .mg-faq__answer>div>:first-child{margin-top:5px}
.mg-faq--grouped .mg-faq__answer>div>:last-child{margin-bottom:0}
.mg-faq-contact{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:54px;
  padding:30px 32px;
  border-radius:28px;
  background:linear-gradient(135deg,#e9f8ff,#fff);
  border:1px solid var(--mg-line);
}
.mg-faq-contact h2{margin:5px 0 8px;color:var(--mg-navy-950);font-size:clamp(1.45rem,2.6vw,2.15rem)}
.mg-faq-contact p{margin:0;color:var(--mg-muted)}
@media(max-width:980px){
  .mg-faq-category-nav{top:78px}
}
@media(max-width:680px){
  .mg-faq-page{padding:48px 0 68px}
  .mg-faq-category-nav{position:relative;top:auto;flex-wrap:nowrap;overflow-x:auto;margin-left:-4px;margin-right:-4px;padding:10px;border-radius:16px}
  .mg-faq-category-nav a{white-space:nowrap}
  .mg-faq-group{scroll-margin-top:90px}
  .mg-faq-contact{display:grid;padding:24px 20px}
  .mg-faq-contact .mg-btn{width:100%}
}


/* v1.1.4 news archive / single */
.mg-news-archive{padding:68px 0 90px;background:linear-gradient(180deg,#fff,#f7fcff)}
.mg-news-archive__list{border-top:1px solid var(--mg-line)}
.mg-news-archive__item{display:grid;grid-template-columns:150px minmax(0,1fr) 46px;gap:28px;align-items:center;padding:25px 6px;border-bottom:1px solid var(--mg-line)}
.mg-news-archive__meta{display:grid;gap:7px}.mg-news-archive__meta time{color:var(--mg-blue-700);font-size:.82rem;font-weight:850;letter-spacing:.06em}.mg-news-archive__meta span{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eaf8ff;color:var(--mg-navy-900);font-size:.68rem;font-weight:800}
.mg-news-archive__body h2{margin:0 0 7px;font-size:1.15rem;line-height:1.55}.mg-news-archive__body h2 a{color:var(--mg-navy-950)}.mg-news-archive__body p{margin:0;color:var(--mg-muted);font-size:.88rem;line-height:1.7}
.mg-news-archive__arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf8fd;color:var(--mg-blue-700);font-weight:900}.mg-news-archive__item:hover .mg-news-archive__arrow{background:var(--mg-blue-700);color:#fff}
.mg-news-empty{text-align:center;padding:56px 20px;border-radius:26px;background:#fff;border:1px solid var(--mg-line)}
.mg-news-single__hero{padding:72px 0 56px;background:linear-gradient(135deg,#eefaff,#d9f2fd)}.mg-news-single__hero-inner{max-width:900px}.mg-news-single__meta{display:flex;gap:12px;align-items:center;margin-bottom:14px}.mg-news-single__meta time{color:var(--mg-blue-700);font-size:.82rem;font-weight:850}.mg-news-single__meta span{padding:6px 10px;border-radius:999px;background:#fff;color:var(--mg-navy-900);font-size:.7rem;font-weight:800}.mg-news-single__hero h1{margin:0;color:var(--mg-navy-950);font-size:clamp(2rem,4vw,3.5rem);line-height:1.35}
.mg-news-single__content{padding:64px 0 90px}.mg-news-single__article{max-width:900px;margin:0 auto;color:var(--mg-ink);line-height:2}.mg-news-single__article h2,.mg-news-single__article h3{color:var(--mg-navy-950);margin-top:1.8em}.mg-news-single__article img{max-width:100%;height:auto;border-radius:20px}.mg-news-single__image{margin:0 0 34px}.mg-news-single__back{max-width:900px;margin:42px auto 0}
@media(max-width:680px){.mg-news-archive__item{grid-template-columns:1fr 40px;gap:12px;padding:20px 2px}.mg-news-archive__meta{grid-column:1 / -1;display:flex;align-items:center;gap:9px}.mg-news-archive__body{grid-column:1}.mg-news-archive__arrow{grid-column:2}}


/* v1.1.5 case archive image-first layout */
.mg-case-grid--image-first{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.mg-case-card--visual{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--mg-line);border-radius:28px;box-shadow:0 16px 38px rgba(5,72,122,.07);transition:transform .2s ease,box-shadow .2s ease}
.mg-case-card--visual:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(5,72,122,.12)}
.mg-case-card--visual .mg-case-card__image{position:relative;display:block;height:260px;overflow:hidden;background:#eaf6fb}
.mg-case-card--visual .mg-case-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.mg-case-card--visual:hover .mg-case-card__image img{transform:scale(1.035)}
.mg-case-card__category{position:absolute;left:16px;bottom:16px;display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(3,42,80,.9);color:#fff;font-size:.72rem;font-weight:850;backdrop-filter:blur(6px)}
.mg-case-card--visual .mg-case-card__body{display:flex;flex:1;flex-direction:column;padding:24px}
.mg-case-card--visual .mg-case-card__meta{margin-bottom:12px}
.mg-case-card--visual h2{margin:0 0 12px;font-size:1.25rem;line-height:1.55}
.mg-case-card--visual h2 a{color:var(--mg-navy-950)}
.mg-case-card__facts{display:grid;gap:7px;margin:0 0 14px}
.mg-case-card__facts span{display:flex;align-items:flex-start;gap:7px;color:var(--mg-muted);font-size:.8rem;line-height:1.55}
.mg-case-card__facts .mg-icon{flex:none;width:17px;height:17px;margin-top:2px;color:var(--mg-blue-700)}
.mg-case-card--visual p{margin:0 0 18px;color:var(--mg-muted);font-size:.9rem;line-height:1.8}
.mg-case-card--visual .mg-case-card__link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid var(--mg-line);font-weight:850}
@media(max-width:980px){.mg-case-grid--image-first{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.mg-case-grid--image-first{grid-template-columns:1fr}.mg-case-card--visual .mg-case-card__image{height:235px}}


/* v1.1.6 company profile / licenses / philosophy / principles */
.mg-company-profile{padding:76px 0 84px;background:#fff}
.mg-company-profile__layout{display:grid;grid-template-columns:1.12fr .88fr;gap:34px;align-items:stretch}
.mg-company-table-wrap{overflow:hidden;border:1px solid var(--mg-line);border-radius:28px;background:#fff;box-shadow:0 16px 40px rgba(5,72,122,.06)}
.mg-company-table{margin:0;border:0}
.mg-company-table th{width:175px;background:#f3faff;color:var(--mg-navy-950)}
.mg-company-table th,.mg-company-table td{padding:17px 20px;border-color:#e3eef4}
.mg-company-profile__photo{position:relative;margin:0;overflow:hidden;min-height:520px;border-radius:28px;box-shadow:0 20px 48px rgba(5,72,122,.12)}
.mg-company-profile__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,42,80,0) 40%,rgba(3,42,80,.76))}
.mg-company-profile__photo img{width:100%;height:100%;object-fit:cover;display:block}
.mg-company-profile__photo figcaption{position:absolute;z-index:1;left:26px;right:26px;bottom:25px;color:#fff}
.mg-company-profile__photo figcaption span{display:block;margin-bottom:6px;color:#a6e9ff;font-size:.76rem;font-weight:850;letter-spacing:.08em}
.mg-company-profile__photo figcaption strong{font-size:1.6rem;line-height:1.4}

.mg-company-license{padding:80px 0;background:linear-gradient(180deg,#f0faff,#e4f6fe)}
.mg-license-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:24px;max-width:1050px;margin:0 auto}
.mg-license-card{padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(91,178,220,.3);box-shadow:0 16px 38px rgba(5,72,122,.07)}
.mg-license-card__icon{width:68px;height:68px;display:grid;place-items:center;margin-bottom:18px;border-radius:20px;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff}
.mg-license-card__icon .mg-icon{width:34px;height:34px}
.mg-license-card>div>span{color:var(--mg-blue-700);font-size:.76rem;font-weight:900;letter-spacing:.08em}
.mg-license-card h3{margin:5px 0 18px;color:var(--mg-navy-950);font-size:1.35rem}
.mg-license-card dl{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mg-license-card dl div{padding:14px 15px;border-radius:16px;background:#f4fbff}
.mg-license-card dt{margin-bottom:4px;color:var(--mg-muted);font-size:.72rem;font-weight:800}
.mg-license-card dd{margin:0;color:var(--mg-navy-950);font-weight:850}
.mg-license-number{margin:0;padding:16px;border-radius:16px;background:#f4fbff;color:var(--mg-navy-950);font-weight:900;letter-spacing:.02em}

.mg-company-philosophy{position:relative;padding:96px 0;background:linear-gradient(135deg,#052f53 0%,#075f98 55%,#0783b3 100%);overflow:hidden}
.mg-company-philosophy:before,.mg-company-philosophy:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.11)}
.mg-company-philosophy:before{width:600px;height:600px;right:-250px;top:-290px}
.mg-company-philosophy:after{width:420px;height:420px;left:-250px;bottom:-270px}
.mg-company-philosophy__panel{position:relative;z-index:1;max-width:900px;margin:0 auto;text-align:center;color:#fff}
.mg-company-philosophy__panel .mg-eyebrow{color:#80dcfa}
.mg-company-philosophy__label{margin:8px 0;color:rgba(255,255,255,.72);font-weight:800}
.mg-company-philosophy__panel h2{margin:10px 0 22px;font-size:clamp(2.25rem,5vw,4.8rem);line-height:1.3;color:#fff;letter-spacing:.04em}
.mg-company-philosophy__panel h2 em{font-style:normal;color:#70e0f6}
.mg-company-philosophy__panel>p:last-of-type{max-width:720px;margin:0 auto 24px;color:rgba(255,255,255,.82);line-height:2}
.mg-company-philosophy__panel>a{display:inline-flex;gap:12px;align-items:center;color:#fff;font-weight:850;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}

.mg-company-principles{padding:86px 0 94px;background:#fff}
.mg-principle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.mg-principle-card{position:relative;min-height:285px;padding:24px 20px;border:1px solid var(--mg-line);border-radius:24px;background:linear-gradient(145deg,#fff,#f7fcff);overflow:hidden;transition:.2s ease}
.mg-principle-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(5,72,122,.09)}
.mg-principle-card__number{position:absolute;right:14px;top:10px;color:#d6edf7;font-size:2.2rem;font-weight:950}
.mg-principle-card__icon{position:relative;z-index:1;width:60px;height:60px;display:grid;place-items:center;margin-bottom:18px;border-radius:18px;background:#e7f6fd;color:var(--mg-blue-700)}
.mg-principle-card__icon .mg-icon{width:31px;height:31px}
.mg-principle-card h3{position:relative;z-index:1;margin:0 0 10px;color:var(--mg-navy-950);font-size:1.08rem}
.mg-principle-card p{position:relative;z-index:1;margin:0;color:var(--mg-muted);font-size:.84rem;line-height:1.8}

.mg-company-links{padding:60px 0 86px;background:#f4fbff}
.mg-company-links__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mg-company-links__grid>a{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;padding:24px;border-radius:22px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 12px 28px rgba(5,72,122,.045)}
.mg-company-links__grid>a .mg-eyebrow{grid-column:1}
.mg-company-links__grid>a strong{grid-column:1;color:var(--mg-navy-950);font-size:1.06rem}
.mg-company-links__grid>a>span:last-child{grid-column:2;grid-row:1 / span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf8fd;color:var(--mg-blue-700);font-weight:900}

@media(max-width:1100px){.mg-principle-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){
 .mg-company-profile__layout,.mg-license-grid{grid-template-columns:1fr}
 .mg-company-profile__photo{min-height:380px}
 .mg-company-links__grid{grid-template-columns:1fr}
}
@media(max-width:680px){
 .mg-company-profile{padding:54px 0 62px}
 .mg-company-table th{width:118px}.mg-company-table th,.mg-company-table td{padding:14px 12px;font-size:.85rem}
 .mg-company-profile__photo{min-height:300px}
 .mg-license-card{padding:22px}.mg-license-card dl{grid-template-columns:1fr}
 .mg-company-philosophy{padding:72px 0}
 .mg-principle-grid{grid-template-columns:1fr}
 .mg-principle-card{min-height:auto}
}


/* v1.1.7 company admin-managed license links */
.mg-license-link{display:inline-flex;align-items:center;gap:6px;color:var(--mg-blue-700);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.mg-license-link:hover{color:var(--mg-navy-950)}
.mg-license-link span{font-size:.8em;text-decoration:none}


/* v1.2.0 service hub */
.mg-service-hub-hero{padding:58px 0 64px;background:linear-gradient(135deg,#edf9ff 0%,#fff 58%,#e5f7ff 100%);overflow:hidden}
.mg-service-hub-hero__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.mg-service-hub-hero__copy h1{margin:7px 0 18px;color:var(--mg-navy-950);font-size:clamp(3rem,6vw,6rem);line-height:1.05;letter-spacing:.02em}
.mg-service-hub-hero__copy>p{max-width:650px;margin:0;color:var(--mg-muted);font-size:1.04rem;line-height:1.95}
.mg-service-hub-hero__actions{display:flex;align-items:center;gap:22px;margin-top:28px}
.mg-service-hub-hero__phone{display:flex;flex-direction:column}.mg-service-hub-hero__phone small{color:var(--mg-muted);font-size:.7rem}.mg-service-hub-hero__phone strong{color:var(--mg-navy-950);font-size:1.28rem}
.mg-service-hub-hero__photo{position:relative;margin:0;min-height:500px;overflow:hidden;border-radius:34px;box-shadow:0 24px 58px rgba(5,72,122,.15)}
.mg-service-hub-hero__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,42,80,.58))}
.mg-service-hub-hero__photo img{width:100%;height:100%;object-fit:cover;display:block}
.mg-service-hub-hero__photo figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;display:flex;gap:7px;flex-wrap:wrap}
.mg-service-hub-hero__photo figcaption span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--mg-navy-900);font-size:.65rem;font-weight:900;letter-spacing:.07em}

.mg-service-intro{padding:72px 0;background:#fff}
.mg-service-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.mg-service-example-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mg-service-example-list span{display:flex;gap:9px;align-items:flex-start;padding:15px;border-radius:16px;background:#f4fbff;border:1px solid var(--mg-line);color:var(--mg-navy-900);font-size:.85rem;font-weight:800;line-height:1.55}
.mg-service-example-list .mg-icon{flex:none;width:19px;height:19px;color:var(--mg-blue-700)}

.mg-service-menu-section{padding:82px 0 92px;background:linear-gradient(180deg,#f1faff,#fff)}
.mg-service-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mg-service-menu-card{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 14px 34px rgba(5,72,122,.06);transition:.22s ease}
.mg-service-menu-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(5,72,122,.12)}
.mg-service-menu-card__photo{position:relative;display:block;height:225px;overflow:hidden}
.mg-service-menu-card__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.mg-service-menu-card:hover .mg-service-menu-card__photo img{transform:scale(1.035)}
.mg-service-menu-card__number{position:absolute;left:15px;top:15px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(3,42,80,.9);color:#fff;font-size:.72rem;font-weight:900}
.mg-service-menu-card__body{position:relative;display:flex;flex:1;flex-direction:column;padding:25px 24px}
.mg-service-menu-card__icon{position:absolute;right:20px;top:-31px;width:62px;height:62px;display:grid;place-items:center;border-radius:20px;background:#fff;color:var(--mg-blue-700);box-shadow:0 10px 24px rgba(5,72,122,.12)}
.mg-service-menu-card__icon .mg-icon{width:31px;height:31px}
.mg-service-menu-card h3{margin:0 58px 10px 0;color:var(--mg-navy-950);font-size:1.25rem;line-height:1.5}.mg-service-menu-card h3 a{color:inherit}
.mg-service-menu-card p{margin:0 0 18px;color:var(--mg-muted);font-size:.9rem;line-height:1.8}
.mg-service-menu-card__link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--mg-line);font-weight:850}

.mg-service-quality{padding:88px 0;background:#fff}
.mg-service-quality__top{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin-bottom:34px}
.mg-service-quality__top figure{margin:0;min-height:390px;overflow:hidden;border-radius:30px;box-shadow:0 18px 42px rgba(5,72,122,.1)}
.mg-service-quality__top figure img{width:100%;height:100%;object-fit:cover}
.mg-service-quality__top h2,.mg-service-circulation h2{margin:6px 0 16px;color:var(--mg-navy-950);font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.32}
.mg-service-quality__top p,.mg-service-circulation p{color:var(--mg-muted);line-height:1.9}
.mg-service-quality__badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.mg-service-quality__badges span{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#eef9ff;color:var(--mg-navy-900);font-size:.76rem;font-weight:850}.mg-service-quality__badges .mg-icon{width:18px;height:18px;color:var(--mg-blue-700)}
.mg-service-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mg-service-feature-card{padding:27px 24px;border-radius:25px;background:linear-gradient(145deg,#fff,#f4fbff);border:1px solid var(--mg-line)}
.mg-service-feature-card__icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:17px;border-radius:18px;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff}.mg-service-feature-card__icon .mg-icon{width:29px;height:29px}
.mg-service-feature-card h3{margin:5px 0 11px;color:var(--mg-navy-950);font-size:1.2rem;line-height:1.55}.mg-service-feature-card p{margin:0 0 15px;color:var(--mg-muted);font-size:.88rem;line-height:1.82}.mg-service-feature-card>a{font-size:.82rem;font-weight:850}

.mg-service-circulation{padding:84px 0;background:linear-gradient(135deg,#e7f8ff,#fff)}
.mg-service-circulation__grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.mg-service-circulation figure{margin:0;min-height:400px;overflow:hidden;border-radius:30px;box-shadow:0 18px 42px rgba(5,72,122,.1)}.mg-service-circulation figure img{width:100%;height:100%;object-fit:cover}
.mg-service-cycle-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.mg-service-cycle-mini span{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:14px;background:#fff;color:var(--mg-navy-900);font-size:.72rem;font-weight:850;text-align:center}.mg-service-cycle-mini strong{color:var(--mg-blue-700);font-size:1rem}

.mg-service-link-band{padding:50px 0;background:#fff}
.mg-service-link-band__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mg-service-link-band__grid>a{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:20px;border-radius:20px;background:#f5fbff;border:1px solid var(--mg-line)}
.mg-service-link-band__grid>a .mg-eyebrow{grid-column:1}.mg-service-link-band__grid>a strong{grid-column:1;color:var(--mg-navy-950)}.mg-service-link-band__grid>a>span:last-child{grid-column:2;grid-row:1/span 2;color:var(--mg-blue-700);font-weight:900}

@media(max-width:980px){
 .mg-service-hub-hero__grid,.mg-service-intro__grid,.mg-service-quality__top,.mg-service-circulation__grid{grid-template-columns:1fr}
 .mg-service-hub-hero__photo{min-height:380px}
 .mg-service-menu-grid{grid-template-columns:repeat(2,1fr)}
 .mg-service-feature-grid{grid-template-columns:1fr}
 .mg-service-link-band__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
 .mg-service-hub-hero{padding:42px 0 48px}.mg-service-hub-hero__copy h1{font-size:3.15rem}.mg-service-hub-hero__actions{display:grid;gap:14px}.mg-service-hub-hero__photo{min-height:290px;border-radius:24px}
 .mg-service-intro{padding:54px 0}.mg-service-example-list{grid-template-columns:1fr}
 .mg-service-menu-section{padding:58px 0 68px}.mg-service-menu-grid{grid-template-columns:1fr}.mg-service-menu-card__photo{height:220px}
 .mg-service-quality{padding:62px 0}.mg-service-quality__top figure,.mg-service-circulation figure{min-height:280px}
 .mg-service-cycle-mini{grid-template-columns:repeat(2,1fr)}
 .mg-service-link-band__grid{grid-template-columns:1fr}
}


/* v1.3.0 Tokyo 23 wards SEO pages */
.mg-t23-archive-hero{padding:78px 0 70px;background:linear-gradient(135deg,#e9f8ff,#fff 58%,#daf3fd)}
.mg-t23-archive-hero h1{max-width:900px;margin:8px 0 18px;color:var(--mg-navy-950);font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.25}
.mg-t23-archive-hero p{max-width:800px;color:var(--mg-muted);font-size:1rem;line-height:1.9}
.mg-t23-switch{display:inline-flex;gap:10px;align-items:center;margin-top:18px;font-weight:850}
.mg-t23-archive{padding:76px 0 92px;background:#fff}
.mg-t23-ward-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.mg-t23-ward-card{display:flex;min-height:145px;flex-direction:column;padding:20px;border-radius:20px;background:linear-gradient(145deg,#fff,#f2faff);border:1px solid var(--mg-line);box-shadow:0 10px 24px rgba(5,72,122,.04);transition:.2s ease}
.mg-t23-ward-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(5,72,122,.09)}
.mg-t23-ward-card small{color:var(--mg-blue-700);font-weight:900;letter-spacing:.08em}.mg-t23-ward-card strong{margin-top:8px;color:var(--mg-navy-950);font-size:1.25rem}.mg-t23-ward-card span{margin-top:auto;color:var(--mg-muted);font-size:.75rem;font-weight:800}
.mg-t23-ward-card.is-preparing{opacity:.48}
.mg-t23-archive-note{padding:55px 0;background:#eaf8fe}.mg-t23-archive-note__inner{display:grid;grid-template-columns:74px 1fr auto;gap:24px;align-items:center}.mg-t23-archive-note__inner>div:first-child{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:var(--mg-navy-900);color:#fff}.mg-t23-archive-note__inner .mg-icon{width:34px;height:34px}.mg-t23-archive-note h2{margin:5px 0 4px;color:var(--mg-navy-950);font-size:1.55rem}.mg-t23-archive-note p{margin:0;color:var(--mg-muted);line-height:1.7}

.mg-t23-hero{padding:58px 0;background:linear-gradient(135deg,#f0faff,#fff 60%,#e4f6fd)}.mg-t23-hero__grid{display:grid;grid-template-columns:1fr .78fr;gap:42px;align-items:center}.mg-t23-breadcrumb{display:inline-block;margin-bottom:20px;font-size:.76rem;font-weight:800}.mg-t23-hero h1{margin:8px 0 18px;color:var(--mg-navy-950);font-size:clamp(2.2rem,4.7vw,4.3rem);line-height:1.3}.mg-t23-hero p{color:var(--mg-muted);line-height:1.9}.mg-t23-hero figure{margin:0;min-height:380px;overflow:hidden;border-radius:28px;box-shadow:0 20px 46px rgba(5,72,122,.12)}.mg-t23-hero figure img{width:100%;height:100%;object-fit:cover}.mg-t23-hero__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.mg-t23-hero__meta span,.mg-t23-hero__meta a{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--mg-line);color:var(--mg-navy-900);font-size:.74rem;font-weight:800}.mg-t23-hero__meta .mg-icon{width:16px;height:16px;color:var(--mg-blue-700)}

.mg-t23-content{padding:72px 0 90px;background:#fff}.mg-t23-content__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:start}.mg-t23-main{display:grid;gap:20px}.mg-t23-section{position:relative;padding:30px 32px;border:1px solid var(--mg-line);border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(5,72,122,.04)}.mg-t23-section__icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;border-radius:16px;background:#eaf8fe;color:var(--mg-blue-700)}.mg-t23-section__icon .mg-icon{width:27px;height:27px}.mg-t23-section h2{margin:0 0 13px;color:var(--mg-navy-950);font-size:1.45rem;line-height:1.5}.mg-t23-section p,.mg-t23-section__text{color:var(--mg-ink);line-height:1.95}.mg-t23-section__text p{margin:0}.mg-t23-action-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--mg-line)}.mg-t23-action-links>span,.mg-t23-action-links>a{display:flex;flex-direction:column;padding:12px 15px;border-radius:14px;background:#f2faff}.mg-t23-action-links small{color:var(--mg-muted);font-size:.67rem}.mg-t23-action-links strong{color:var(--mg-navy-950)}.mg-t23-contact-info{display:flex;justify-content:space-between;gap:15px;padding:18px 22px;border-radius:18px;background:#f0f9fe;color:var(--mg-navy-950)}.mg-t23-editor-content>div{line-height:1.9}

.mg-t23-aside{position:sticky;top:110px;display:grid;gap:14px}.mg-t23-aside__card{padding:23px;border-radius:22px;background:#f5fbff;border:1px solid var(--mg-line)}.mg-t23-aside__card h3{margin:6px 0 10px;color:var(--mg-navy-950);font-size:1.1rem}.mg-t23-aside__card p{margin:0 0 15px;color:var(--mg-muted);font-size:.84rem;line-height:1.75}.mg-t23-aside__card>a:not(.mg-btn){font-size:.8rem;font-weight:850}.mg-t23-aside__switch{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--mg-line)}.mg-t23-aside__switch small{grid-column:1;color:var(--mg-muted);font-size:.67rem}.mg-t23-aside__switch strong{grid-column:1;color:var(--mg-navy-950);font-size:.92rem}.mg-t23-aside__switch span{grid-column:2;grid-row:1/span 2;color:var(--mg-blue-700);font-weight:900}.mg-t23-aside__contact{background:linear-gradient(145deg,#063b68,#0876a8);color:#fff;border:0}.mg-t23-aside__contact .mg-eyebrow{color:#8fe5ff}.mg-t23-aside__contact h3{color:#fff}.mg-t23-aside__contact p{color:rgba(255,255,255,.78)}.mg-t23-aside__contact .mg-btn{width:100%;justify-content:center}.mg-t23-aside__phone{display:block;margin-top:13px;text-align:center;color:#fff!important;font-size:1.18rem!important;font-weight:900!important}

.mg-t23-faq{display:grid;gap:9px;margin-top:18px}.mg-t23-faq details{border:1px solid var(--mg-line);border-radius:16px;background:#fbfdff;overflow:hidden}.mg-t23-faq summary{display:flex;gap:10px;align-items:flex-start;padding:16px;cursor:pointer;color:var(--mg-navy-950);font-weight:850}.mg-t23-faq summary span,.mg-t23-faq details>div>span{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mg-blue-700);color:#fff;font-size:.75rem}.mg-t23-faq details>div{display:flex;gap:10px;padding:0 16px 17px}.mg-t23-faq details>div>span{background:#e6f7fd;color:var(--mg-blue-700)}.mg-t23-faq details>div p{margin:2px 0 0}

.mg-t23-cases{padding:72px 0;background:#f3fbff}.mg-t23-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mg-t23-case-grid article{overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--mg-line)}.mg-t23-case-grid article>a{display:block;height:210px}.mg-t23-case-grid img{width:100%;height:100%;object-fit:cover}.mg-t23-case-grid article>div{padding:20px}.mg-t23-case-grid h3{margin:0 0 8px;font-size:1.04rem;line-height:1.55}.mg-t23-case-grid h3 a{color:var(--mg-navy-950)}.mg-t23-case-grid p{margin:0;color:var(--mg-muted);font-size:.84rem;line-height:1.7}
.mg-t23-cta{padding:58px 0;background:linear-gradient(135deg,#053657,#087daa)}.mg-t23-cta__inner{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.mg-t23-cta .mg-eyebrow{color:#8fe5ff}.mg-t23-cta h2{margin:5px 0;color:#fff;font-size:1.8rem}.mg-t23-cta p{margin:0;color:rgba(255,255,255,.78)}

@media(max-width:1100px){.mg-t23-ward-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){
 .mg-t23-ward-grid{grid-template-columns:repeat(3,1fr)}
 .mg-t23-hero__grid,.mg-t23-content__layout{grid-template-columns:1fr}
 .mg-t23-aside{position:static;grid-template-columns:repeat(2,1fr)}.mg-t23-aside__contact{grid-column:1/-1}
 .mg-t23-case-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
 .mg-t23-archive-hero{padding:54px 0}.mg-t23-archive{padding:54px 0 64px}.mg-t23-ward-grid{grid-template-columns:repeat(2,1fr)}.mg-t23-ward-card{min-height:125px;padding:16px}
 .mg-t23-archive-note__inner{grid-template-columns:1fr}.mg-t23-archive-note__inner>div:first-child{display:none}
 .mg-t23-hero{padding:42px 0}.mg-t23-hero__grid{gap:26px}.mg-t23-hero figure{min-height:260px}
 .mg-t23-content{padding:52px 0}.mg-t23-section{padding:23px 20px}
 .mg-t23-aside{grid-template-columns:1fr}.mg-t23-aside__contact{grid-column:auto}
 .mg-t23-case-grid{grid-template-columns:1fr}
 .mg-t23-cta__inner{grid-template-columns:1fr}
}


/* v1.3.1 area page -> Tokyo 23 ward guides */
.mg-area-tokyo23{padding:78px 0 86px;background:linear-gradient(180deg,#fff,#eefaff)}
.mg-area-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1050px;margin:0 auto}
.mg-area-guide-card{position:relative;display:flex;min-height:360px;flex-direction:column;padding:34px;border-radius:30px;background:linear-gradient(145deg,#fff,#f2faff);border:1px solid var(--mg-line);box-shadow:0 18px 42px rgba(5,72,122,.07);overflow:hidden;transition:.22s ease}
.mg-area-guide-card:after{content:"";position:absolute;right:-75px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(60,185,230,.08)}
.mg-area-guide-card:hover{transform:translateY(-5px);box-shadow:0 25px 52px rgba(5,72,122,.12)}
.mg-area-guide-card--biz{background:linear-gradient(145deg,#f8fcff,#e8f6fb)}
.mg-area-guide-card__icon{position:relative;z-index:1;width:72px;height:72px;display:grid;place-items:center;margin-bottom:22px;border-radius:22px;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff}
.mg-area-guide-card__icon .mg-icon{width:36px;height:36px}
.mg-area-guide-card .mg-eyebrow{position:relative;z-index:1}
.mg-area-guide-card h3{position:relative;z-index:1;margin:6px 0 14px;color:var(--mg-navy-950);font-size:1.65rem;line-height:1.45}
.mg-area-guide-card p{position:relative;z-index:1;margin:0 0 22px;color:var(--mg-muted);line-height:1.85}
.mg-area-guide-card strong{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid var(--mg-line);color:var(--mg-blue-700)}
.mg-area-prefectures{padding:78px 0 88px;background:#fff}
.mg-area-prefecture-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mg-area-prefecture-card{padding:26px}
.mg-area-prefecture-card__icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;border-radius:16px;background:#eaf8fe;color:var(--mg-blue-700)}
.mg-area-prefecture-card__icon .mg-icon{width:26px;height:26px}
.mg-area-prefecture-card h3{margin:0 0 8px;color:var(--mg-navy-950);font-size:1.2rem}
.mg-area-prefecture-card__links{display:grid;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--mg-line)}
.mg-area-prefecture-card__links a{font-size:.8rem;font-weight:850}
@media(max-width:980px){.mg-area-prefecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .mg-area-tokyo23{padding:58px 0 64px}.mg-area-guide-grid{grid-template-columns:1fr}.mg-area-guide-card{min-height:auto;padding:26px}
 .mg-area-prefectures{padding:58px 0 66px}.mg-area-prefecture-grid{grid-template-columns:1fr}
}


/* v1.4.1 Tokyo23 content image blocks */
.mg-t23-content-figure{
  margin:6px 0;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--mg-line);
  box-shadow:0 14px 34px rgba(5,72,122,.06);
}
.mg-t23-content-figure img{
  width:100%;
  display:block;
  min-height:260px;
  max-height:460px;
  object-fit:cover;
}
.mg-t23-content-figure figcaption{
  padding:14px 18px;
  color:var(--mg-muted);
  font-size:.84rem;
  line-height:1.7;
  background:#fbfdff;
}
.mg-t23-content-figure--wide img{
  min-height:320px;
  max-height:520px;
}
@media(max-width:680px){
  .mg-t23-content-figure{
    border-radius:20px;
  }
  .mg-t23-content-figure img,
  .mg-t23-content-figure--wide img{
    min-height:210px;
    max-height:none;
  }
}


/* v1.5.0 Tokyo23 guide layout inspired by regional guide mockup */
.mg-t23-hero--guide{padding:28px 0 34px;background:#f4f9fc}
.mg-t23-breadcrumb-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:var(--mg-muted);font-size:.72rem}
.mg-t23-breadcrumb-row a{font-weight:750}
.mg-t23-guide-hero{overflow:hidden;border-radius:26px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 16px 38px rgba(5,72,122,.08)}
.mg-t23-guide-hero__media{position:relative;height:420px;overflow:hidden}
.mg-t23-guide-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,40,72,.88) 0%,rgba(3,40,72,.62) 45%,rgba(3,40,72,.08) 80%)}
.mg-t23-guide-hero__media>img{width:100%;height:100%;object-fit:cover;display:block}
.mg-t23-guide-hero__overlay{position:absolute;z-index:2;left:0;top:0;bottom:0;display:flex;width:min(690px,68%);flex-direction:column;justify-content:center;padding:44px 48px;color:#fff}
.mg-t23-guide-hero__overlay .mg-eyebrow{color:#8ee8ff}
.mg-t23-guide-hero__overlay h1{margin:8px 0 14px;color:#fff;font-size:clamp(2.1rem,4vw,4rem);line-height:1.25}
.mg-t23-guide-hero__overlay p{margin:0;color:rgba(255,255,255,.88);line-height:1.85}
.mg-t23-guide-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.mg-t23-guide-hero__chips span{display:flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(7,90,140,.35);color:#fff;font-size:.72rem;font-weight:800;backdrop-filter:blur(5px)}
.mg-t23-guide-hero__chips .mg-icon{width:15px;height:15px}
.mg-t23-guide-hero__foot{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:13px 18px;background:#fff}
.mg-t23-guide-hero__foot span,.mg-t23-guide-hero__foot a{display:flex;gap:7px;align-items:center;color:var(--mg-muted);font-size:.74rem;font-weight:800}
.mg-t23-guide-hero__foot a{color:var(--mg-blue-700)}
.mg-t23-guide-hero__foot .mg-icon{width:16px;height:16px}

.mg-t23-content{padding-top:36px;background:#f6fafc}
.mg-t23-content__layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.mg-t23-main{gap:16px}
.mg-t23-guide-section{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:stretch;overflow:hidden;border:1px solid var(--mg-line);border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(5,72,122,.045)}
.mg-t23-guide-section.is-reverse .mg-t23-guide-section__body{order:2}
.mg-t23-guide-section.is-reverse .mg-t23-guide-section__image{order:1}
.mg-t23-guide-section:not(.has-image){grid-template-columns:1fr}
.mg-t23-guide-section__body{padding:26px 28px}
.mg-t23-guide-section__heading{display:flex;gap:13px;align-items:center;margin-bottom:12px}
.mg-t23-guide-section__heading .mg-t23-section__icon{margin:0;flex:none;width:44px;height:44px;border-radius:13px}
.mg-t23-guide-section__heading .mg-t23-section__icon .mg-icon{width:23px;height:23px}
.mg-t23-guide-section__number{display:block;margin-bottom:2px;color:var(--mg-blue-700);font-size:.68rem;font-weight:950;letter-spacing:.08em}
.mg-t23-guide-section h2{margin:0;color:var(--mg-navy-950);font-size:1.25rem;line-height:1.45}
.mg-t23-guide-section .mg-t23-section__text{font-size:.9rem;line-height:1.9}
.mg-t23-guide-section__image{position:relative;margin:0;min-height:230px;background:#eaf5fa}
.mg-t23-guide-section__image img{width:100%;height:100%;object-fit:cover;display:block}
.mg-t23-guide-section__image figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 9px;border-radius:10px;background:rgba(3,42,80,.75);color:#fff;font-size:.67rem;backdrop-filter:blur(5px)}

.mg-t23-section{border-radius:20px;box-shadow:0 7px 22px rgba(5,72,122,.045)}
.mg-t23-aside{top:92px;gap:12px}
.mg-t23-aside__card,.mg-t23-aside__switch{border-radius:18px}
.mg-t23-aside__card{padding:20px}
.mg-t23-aside__contact{box-shadow:0 14px 32px rgba(3,52,90,.16)}

.mg-t23-ward-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.mg-t23-ward-card--thumb{display:block;min-height:0;padding:0;overflow:hidden;border-radius:18px}
.mg-t23-ward-card--thumb figure{margin:0;height:118px;overflow:hidden;background:#eaf4f8}
.mg-t23-ward-card--thumb figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.mg-t23-ward-card--thumb:hover figure img{transform:scale(1.05)}
.mg-t23-ward-card--thumb>div{display:flex;min-height:92px;flex-direction:column;padding:13px 15px}
.mg-t23-ward-card--thumb small{font-size:.62rem}
.mg-t23-ward-card--thumb strong{margin-top:4px;font-size:1.05rem}
.mg-t23-ward-card--thumb span{margin-top:auto;font-size:.68rem}
.mg-t23-ward-card--thumb.is-preparing figure{filter:grayscale(.5)}
.mg-t23-ward-card--thumb.is-preparing{opacity:.55}

@media(max-width:980px){
 .mg-t23-guide-hero__overlay{width:78%}
 .mg-t23-guide-section{grid-template-columns:1fr}
 .mg-t23-guide-section.is-reverse .mg-t23-guide-section__body,.mg-t23-guide-section.is-reverse .mg-t23-guide-section__image{order:initial}
 .mg-t23-guide-section__image{min-height:280px}
 .mg-t23-ward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
 .mg-t23-guide-hero__media{height:420px}
 .mg-t23-guide-hero__media:after{background:linear-gradient(180deg,rgba(3,40,72,.18) 0%,rgba(3,40,72,.85) 72%)}
 .mg-t23-guide-hero__overlay{width:100%;justify-content:flex-end;padding:24px 20px}
 .mg-t23-guide-hero__overlay h1{font-size:2rem}
 .mg-t23-guide-hero__overlay p{font-size:.85rem}
 .mg-t23-guide-hero__foot{align-items:flex-start;flex-direction:column}
 .mg-t23-guide-section__body{padding:21px 18px}
 .mg-t23-guide-section__image{min-height:220px}
 .mg-t23-ward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mg-t23-ward-card--thumb figure{height:95px}
}


/* v1.5.1 area ordering / Tokyo-wide messaging / Tokyo23 balance fixes */
.mg-area-prefectures--first{
  padding:78px 0 86px;
  background:linear-gradient(180deg,#fff,#f4fbff);
}
.mg-area-prefectures--first .mg-area-prefecture-grid{
  grid-template-columns:1.45fr repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.mg-area-prefecture-card--tokyo{
  position:relative;
  padding:30px;
  background:linear-gradient(145deg,#fff,#eaf8ff);
  border-color:rgba(44,151,202,.3);
}
.mg-area-prefecture-card__tag{
  display:inline-flex;
  width:max-content;
  margin-bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  background:#e4f5fd;
  color:var(--mg-blue-700);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
}
.mg-area-tokyo-detail{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
.mg-area-tokyo-detail span{
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--mg-line);
  color:var(--mg-navy-900);
  font-size:.72rem;
  font-weight:850;
}
.mg-area-tokyo23--seo{
  padding-top:66px;
  background:linear-gradient(180deg,#f7fcff,#eefaff);
}

/* Long business-waste titles: keep hero visually balanced */
.single-tokyo23_biz .mg-t23-guide-hero__media{
  height:450px;
}
.single-tokyo23_biz .mg-t23-guide-hero__overlay{
  width:min(760px,72%);
  padding:38px 46px;
}
.single-tokyo23_biz .mg-t23-guide-hero__overlay h1{
  max-width:700px;
  font-size:clamp(1.9rem,3.25vw,3.25rem);
  line-height:1.28;
  letter-spacing:0;
}
.single-tokyo23_biz .mg-t23-guide-hero__overlay p{
  max-width:650px;
  font-size:.94rem;
  line-height:1.78;
}
.single-tokyo23_biz .mg-t23-guide-hero__chips{
  margin-top:16px;
}

/* More text width, less image dominance in numbered guide sections */
.mg-t23-guide-section{
  grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr);
}
.mg-t23-guide-section__image{
  min-height:215px;
  max-height:285px;
  align-self:stretch;
}
.mg-t23-guide-section__image img{
  min-height:100%;
}
.mg-t23-guide-section__body{
  padding:28px 30px;
}
.mg-t23-guide-section .mg-t23-section__text{
  font-size:.92rem;
  line-height:1.95;
}
.mg-t23-guide-section.is-reverse{
  grid-template-columns:minmax(220px,.65fr) minmax(0,1.65fr);
}
.mg-t23-guide-section.is-reverse .mg-t23-guide-section__image{
  order:1;
}
.mg-t23-guide-section.is-reverse .mg-t23-guide-section__body{
  order:2;
}

@media(max-width:1100px){
  .mg-area-prefectures--first .mg-area-prefecture-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mg-area-prefecture-card--tokyo{
    grid-column:1/-1;
  }
}
@media(max-width:980px){
  .single-tokyo23_biz .mg-t23-guide-hero__overlay{
    width:82%;
  }
  .single-tokyo23_biz .mg-t23-guide-hero__overlay h1{
    font-size:clamp(1.85rem,4.8vw,2.75rem);
  }
  .mg-t23-guide-section,
  .mg-t23-guide-section.is-reverse{
    grid-template-columns:1fr;
  }
  .mg-t23-guide-section.is-reverse .mg-t23-guide-section__image,
  .mg-t23-guide-section.is-reverse .mg-t23-guide-section__body{
    order:initial;
  }
  .mg-t23-guide-section__image{
    min-height:240px;
    max-height:330px;
  }
}
@media(max-width:680px){
  .mg-area-prefectures--first{
    padding:56px 0 62px;
  }
  .mg-area-prefectures--first .mg-area-prefecture-grid{
    grid-template-columns:1fr;
  }
  .mg-area-prefecture-card--tokyo{
    grid-column:auto;
    padding:24px;
  }
  .single-tokyo23_biz .mg-t23-guide-hero__media{
    height:440px;
  }
  .single-tokyo23_biz .mg-t23-guide-hero__overlay{
    width:100%;
    padding:22px 20px;
  }
  .single-tokyo23_biz .mg-t23-guide-hero__overlay h1{
    font-size:1.9rem;
    line-height:1.3;
  }
  .single-tokyo23_biz .mg-t23-guide-hero__overlay p{
    font-size:.83rem;
    line-height:1.65;
  }
  .mg-t23-guide-section__body{
    padding:22px 19px;
  }
  .mg-t23-guide-section__image{
    min-height:205px;
    max-height:250px;
  }
}


/* v1.5.2 Tokyo23 per-section images / full-width fallback */
.mg-t23-guide-section:not(.has-image),
.mg-t23-guide-section.is-reverse:not(.has-image){
  grid-template-columns:1fr !important;
}
.mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__body,
.mg-t23-guide-section.is-reverse:not(.has-image) .mg-t23-guide-section__body{
  order:initial !important;
  width:100%;
}
.mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__image{
  display:none;
}
.mg-t23-guide-section.has-image{
  grid-template-columns:minmax(0,1.7fr) minmax(220px,.6fr);
}
.mg-t23-guide-section.has-image.is-reverse{
  grid-template-columns:minmax(220px,.6fr) minmax(0,1.7fr);
}
.mg-t23-guide-section.has-image .mg-t23-guide-section__image{
  min-height:210px;
  max-height:280px;
}
.mg-t23-guide-section.has-image .mg-t23-guide-section__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:980px){
  .mg-t23-guide-section.has-image,
  .mg-t23-guide-section.has-image.is-reverse{
    grid-template-columns:1fr;
  }
  .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__body,
  .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__image{
    order:initial;
  }
  .mg-t23-guide-section.has-image .mg-t23-guide-section__image{
    min-height:230px;
    max-height:320px;
  }
}
@media(max-width:680px){
  .mg-t23-guide-section.has-image .mg-t23-guide-section__image{
    min-height:200px;
    max-height:250px;
  }
}


/* v1.5.3 area layout: Tokyo featured row + 3 neighboring prefectures */
.mg-area-tokyo-feature{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  overflow:hidden;
  margin-bottom:24px;
  border:1px solid var(--mg-line);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,72,122,.08);
}
.mg-area-tokyo-feature__image{
  margin:0;
  min-height:390px;
  overflow:hidden;
  background:#eaf6fb;
}
.mg-area-tokyo-feature__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.mg-area-tokyo-feature__body{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:38px 40px;
  background:linear-gradient(145deg,#fff,#edf9ff);
}
.mg-area-tokyo-feature__body .mg-eyebrow{
  margin-top:2px;
}
.mg-area-tokyo-feature__body h3{
  margin:7px 0 13px;
  color:var(--mg-navy-950);
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1.35;
}
.mg-area-tokyo-feature__body>p{
  margin:0;
  color:var(--mg-muted);
  line-height:1.9;
}
.mg-area-tokyo-feature .mg-area-prefecture-card__links{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:22px;
}
.mg-area-tokyo-feature .mg-area-prefecture-card__links a{
  padding:12px 13px;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--mg-line);
}

.mg-area-neighbor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.mg-area-neighbor-card{
  display:flex;
  min-height:250px;
  flex-direction:column;
  padding:26px;
}
.mg-area-neighbor-card h3{
  margin:6px 0 9px;
}
.mg-area-neighbor-card p{
  margin:0 0 18px;
}
.mg-area-neighbor-card>a{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--mg-line);
  font-size:.8rem;
  font-weight:850;
}

@media(max-width:980px){
  .mg-area-tokyo-feature{
    grid-template-columns:1fr;
  }
  .mg-area-tokyo-feature__image{
    min-height:320px;
    max-height:390px;
  }
  .mg-area-neighbor-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .mg-area-neighbor-grid{
    grid-template-columns:1fr;
  }
  .mg-area-neighbor-card{
    min-height:auto;
  }
}

@media(max-width:680px){
  .mg-area-tokyo-feature{
    border-radius:22px;
  }
  .mg-area-tokyo-feature__image{
    min-height:240px;
  }
  .mg-area-tokyo-feature__body{
    padding:25px 21px;
  }
  .mg-area-tokyo-feature .mg-area-prefecture-card__links{
    grid-template-columns:1fr;
  }
}


/* v1.6.0 Price guide */
.mg-price-hero__actions{display:flex;align-items:center;gap:20px;margin-top:26px}
.mg-price-hero__phone{display:flex;flex-direction:column}.mg-price-hero__phone small{color:var(--mg-muted);font-size:.7rem}.mg-price-hero__phone strong{color:var(--mg-navy-950);font-size:1.35rem}

.mg-price-intro{padding:72px 0;background:#fff}
.mg-price-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.mg-price-components{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}
.mg-price-components>div{display:flex;min-height:145px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;border-radius:22px;background:#f1faff;border:1px solid var(--mg-line)}
.mg-price-components>div span{color:var(--mg-blue-700);font-size:.72rem;font-weight:950}.mg-price-components>div strong{margin:5px 0;color:var(--mg-navy-950);font-size:1.1rem}.mg-price-components>div small{color:var(--mg-muted)}.mg-price-components>b{color:var(--mg-blue-700);font-size:1.5rem}

.mg-price-estimate{padding:0 0 82px;background:#fff}.mg-price-estimate__card{display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,#edfaff,#fff);border:1px solid var(--mg-line);box-shadow:0 18px 44px rgba(5,72,122,.08)}.mg-price-estimate__card figure{margin:0;min-height:420px}.mg-price-estimate__card figure img{width:100%;height:100%;object-fit:cover}.mg-price-estimate__card>div{display:flex;flex-direction:column;justify-content:center;padding:38px}.mg-price-estimate__card h2{margin:7px 0 14px;color:var(--mg-navy-950);font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.4}.mg-price-estimate__card p{color:var(--mg-muted);line-height:1.9}
.mg-price-estimate__steps{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.mg-price-estimate__steps span{display:flex;gap:7px;align-items:center;color:var(--mg-navy-900);font-size:.78rem}.mg-price-estimate__steps .mg-icon{width:18px;height:18px;color:var(--mg-blue-700)}.mg-price-estimate__actions{display:flex;gap:10px;flex-wrap:wrap}

.mg-price-tables{padding:82px 0 90px;background:linear-gradient(180deg,#f4fbff,#fff)}
.mg-price-table-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:24px;align-items:start}.mg-price-table-card{padding:28px;border-radius:26px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 12px 32px rgba(5,72,122,.05)}.mg-price-table-card h3{margin:6px 0 18px;color:var(--mg-navy-950);font-size:1.35rem}
.mg-price-table{border-top:1px solid var(--mg-line)}.mg-price-table>div{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid var(--mg-line)}.mg-price-table span{color:var(--mg-ink);font-size:.9rem}.mg-price-table strong{flex:none;color:var(--mg-navy-950);font-size:.92rem}.mg-price-table--items>div:nth-child(even){background:#fbfdff}
.mg-price-notice{display:flex;gap:13px;align-items:flex-start;margin-top:22px;padding:18px 20px;border-radius:18px;background:#eaf8fe}.mg-price-notice .mg-icon{flex:none;width:24px;height:24px;color:var(--mg-blue-700)}.mg-price-notice p{margin:0;color:var(--mg-muted);font-size:.84rem;line-height:1.75}

.mg-price-pack{padding:82px 0;background:linear-gradient(135deg,#063755,#087cab);color:#fff}.mg-price-pack__grid{display:grid;grid-template-columns:1fr .9fr;gap:46px;align-items:center}.mg-price-pack .mg-eyebrow{color:#8fe7ff}.mg-price-pack h2{margin:7px 0 16px;color:#fff;font-size:clamp(2rem,4vw,3.5rem);line-height:1.35}.mg-price-pack__copy>p{color:rgba(255,255,255,.8);line-height:1.9}.mg-price-pack__points{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.mg-price-pack__points span{display:flex;gap:7px;align-items:center;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.75rem;font-weight:800}.mg-price-pack__points .mg-icon{width:16px;height:16px}
.mg-price-pack__table{padding:28px;border-radius:24px;background:#fff;color:var(--mg-ink)}.mg-price-pack__table .mg-eyebrow{color:var(--mg-blue-700)}.mg-price-pack__table h3{margin:5px 0 17px;color:var(--mg-navy-950)}.mg-price-pack__table>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--mg-line)}.mg-price-pack__table>div strong{color:var(--mg-blue-700);font-size:1.05rem}.mg-price-pack__table small{display:block;margin-top:14px;color:var(--mg-muted)}

.mg-price-business{padding:68px 0;background:#f4fbff}.mg-price-business__card{display:grid;grid-template-columns:74px 1fr auto;gap:24px;align-items:center;padding:30px;border-radius:26px;background:#fff;border:1px solid var(--mg-line);box-shadow:0 12px 32px rgba(5,72,122,.05)}.mg-price-business__icon{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff}.mg-price-business__icon .mg-icon{width:34px;height:34px}.mg-price-business__card h2{margin:4px 0 7px;color:var(--mg-navy-950);font-size:1.55rem}.mg-price-business__card p{margin:0;color:var(--mg-muted);line-height:1.7}.mg-price-business__card>strong{display:flex;gap:15px;align-items:center;color:var(--mg-blue-700);white-space:nowrap}

.mg-price-final-cta{padding:64px 0;background:#fff}.mg-price-final-cta__inner{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;padding:36px 40px;border-radius:28px;background:linear-gradient(135deg,#eaf9ff,#fff);border:1px solid var(--mg-line)}.mg-price-final-cta h2{margin:5px 0 8px;color:var(--mg-navy-950);font-size:1.8rem}.mg-price-final-cta p{margin:0;color:var(--mg-muted)}.mg-price-final-cta__actions{display:flex;align-items:center;gap:18px}.mg-price-final-cta__phone{display:flex;flex-direction:column}.mg-price-final-cta__phone small,.mg-price-final-cta__phone span{color:var(--mg-muted);font-size:.68rem}.mg-price-final-cta__phone strong{color:var(--mg-navy-950);font-size:1.35rem}

@media(max-width:980px){
 .mg-price-intro__grid,.mg-price-estimate__card,.mg-price-table-grid,.mg-price-pack__grid{grid-template-columns:1fr}
 .mg-price-estimate__card figure{min-height:320px;max-height:400px}
 .mg-price-business__card{grid-template-columns:68px 1fr}.mg-price-business__card>strong{grid-column:2;white-space:normal}
 .mg-price-final-cta__inner{grid-template-columns:1fr}.mg-price-final-cta__actions{justify-content:flex-start}
}
@media(max-width:680px){
 .mg-price-hero__actions{display:grid}
 .mg-price-components{grid-template-columns:1fr}.mg-price-components>b{display:none}.mg-price-components>div{min-height:auto}
 .mg-price-estimate__card>div{padding:24px 20px}.mg-price-estimate__card figure{min-height:250px}
 .mg-price-estimate__steps{display:grid}
 .mg-price-table-card{padding:22px 18px}.mg-price-table>div{gap:12px}.mg-price-table span{font-size:.82rem}.mg-price-table strong{font-size:.84rem}
 .mg-price-pack{padding:62px 0}.mg-price-pack__table{padding:22px 18px}
 .mg-price-business__card{grid-template-columns:1fr;padding:24px}.mg-price-business__card>strong{grid-column:auto}
 .mg-price-final-cta__inner{padding:26px 21px}.mg-price-final-cta__actions{display:grid}
}


/* v1.6.2 header/footer */
.site-header__subbar a.is-contact{
  color:var(--mg-blue-700);
  font-weight:900;
}

/* Footer contact button */
.site-footer .mg-btn--footer{
  background:#fff !important;
  color:#064b78 !important;
  border:1px solid rgba(255,255,255,.92) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.site-footer .mg-btn--footer:hover{
  background:#eaf8ff !important;
  color:#043d63 !important;
}

/* Compact SDGs banner */
.site-footer .mg-sdgs-banner{
  width:280px;
  max-width:100%;
  grid-template-columns:42px minmax(0,1fr) 28px;
  gap:10px;
  margin:0 0 30px;
  padding:12px 14px 14px;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.site-footer .mg-sdgs-banner:before{
  height:4px;
}
.site-footer .mg-sdgs-banner__ring{
  width:40px;
  height:40px;
  box-shadow:none;
  border-width:1px;
}
.site-footer .mg-sdgs-banner__ring .mg-icon{
  width:22px;
  height:22px;
}
.site-footer .mg-sdgs-banner__copy{
  gap:1px;
}
.site-footer .mg-sdgs-banner__copy small{
  font-size:.52rem;
  letter-spacing:.08em;
}
.site-footer .mg-sdgs-banner__copy strong{
  font-size:.78rem;
  line-height:1.35;
}
.site-footer .mg-sdgs-banner__copy>span{
  display:none;
}
.site-footer .mg-sdgs-banner__arrow{
  width:26px;
  height:26px;
  font-size:.85rem;
}

@media(max-width:680px){
  .site-footer .mg-sdgs-banner{
    width:250px;
    grid-template-columns:38px minmax(0,1fr) 25px;
    padding:10px 12px 12px;
  }
  .site-footer .mg-sdgs-banner__ring{
    width:36px;
    height:36px;
  }
  .site-footer .mg-sdgs-banner__copy strong{
    font-size:.74rem;
  }
}


/* v1.6.3 Header CTA emphasis */
.header-contact{
  display:flex;
  align-items:center;
  gap:12px;
}
.header-phone--cta{
  display:flex !important;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:8px 16px !important;
  border-radius:16px;
  background:linear-gradient(135deg,#eaf9ff,#fff);
  border:1px solid rgba(11,122,184,.30);
  box-shadow:0 8px 20px rgba(5,72,122,.09);
  text-decoration:none !important;
}
.header-phone__icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:none;
  border-radius:12px;
  background:linear-gradient(135deg,#0f8bca,#05638f);
  color:#fff;
}
.header-phone__icon .mg-icon{
  width:20px;
  height:20px;
}
.header-phone__copy{
  display:flex;
  flex-direction:column;
  line-height:1.08;
}
.header-phone__copy small{
  margin-bottom:4px;
  color:var(--mg-muted);
  font-size:.64rem;
  font-weight:850;
}
.header-phone__copy strong{
  color:var(--mg-navy-950);
  font-size:1.34rem;
  letter-spacing:.015em;
  white-space:nowrap;
}
.header-phone--cta:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(5,72,122,.13);
}

.site-header__subbar a.is-contact-cta{
  display:flex;
  min-height:48px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  margin-left:10px;
  padding:7px 19px;
  border-radius:14px;
  background:linear-gradient(135deg,#ff9d2f,#f07800);
  color:#fff !important;
  box-shadow:0 8px 19px rgba(222,105,0,.24);
  line-height:1.05;
  text-decoration:none;
}
.site-header__subbar a.is-contact-cta:hover{
  color:#fff !important;
  transform:translateY(-1px);
  filter:brightness(.98);
}
.site-header__subbar a.is-contact-cta span{
  color:#fff;
  font-size:.9rem;
  font-weight:950;
}
.site-header__subbar a.is-contact-cta small{
  color:rgba(255,255,255,.92);
  font-size:.56rem;
  font-weight:800;
}

@media(max-width:1100px){
  .header-phone--cta{
    min-height:50px;
    padding:7px 11px !important;
  }
  .header-phone__icon{
    width:34px;
    height:34px;
  }
  .header-phone__copy strong{
    font-size:1.15rem;
  }
  .site-header__subbar a.is-contact-cta{
    padding:6px 13px;
  }
}
@media(max-width:820px){
  .header-phone__copy small{
    display:none;
  }
  .header-phone__copy strong{
    font-size:1.03rem;
  }
}
@media(max-width:680px){
  .header-phone--cta{
    min-height:42px;
    gap:7px;
    padding:5px 8px !important;
    border-radius:12px;
  }
  .header-phone__icon{
    width:30px;
    height:30px;
    border-radius:10px;
  }
  .header-phone__icon .mg-icon{
    width:17px;
    height:17px;
  }
  .header-phone__copy strong{
    font-size:.92rem;
  }
  .site-header__subbar a.is-contact-cta{
    min-height:42px;
    margin-left:4px;
    padding:6px 10px;
    border-radius:11px;
  }
  .site-header__subbar a.is-contact-cta span{
    font-size:.78rem;
  }
  .site-header__subbar a.is-contact-cta small{
    display:none;
  }
}
\n\n/* ==========================================================================\n   v1.6.4 Tokyo23 layout stabilization\n   Fix cascade conflicts introduced by later desktop rules.\n   ========================================================================== */\n\n.single-tokyo23_waste .mg-t23-content__layout,\n.single-tokyo23_biz .mg-t23-content__layout{\n  display:grid;\n  grid-template-columns:minmax(0,1fr) 300px;\n  gap:28px;\n  align-items:start;\n}\n.single-tokyo23_waste .mg-t23-main,\n.single-tokyo23_biz .mg-t23-main,\n.single-tokyo23_waste .mg-t23-aside,\n.single-tokyo23_biz .mg-t23-aside{\n  min-width:0;\n}\n\n/* A section with no image must always use the full content width. */\n.single-tokyo23_waste .mg-t23-guide-section:not(.has-image),\n.single-tokyo23_biz .mg-t23-guide-section:not(.has-image),\n.single-tokyo23_waste .mg-t23-guide-section.is-reverse:not(.has-image),\n.single-tokyo23_biz .mg-t23-guide-section.is-reverse:not(.has-image){\n  grid-template-columns:minmax(0,1fr) !important;\n}\n.single-tokyo23_waste .mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__body,\n.single-tokyo23_biz .mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__body{\n  order:initial !important;\n  width:100%;\n  min-width:0;\n}\n\n/* Image sections: text is deliberately wider than the image. */\n.single-tokyo23_waste .mg-t23-guide-section.has-image,\n.single-tokyo23_biz .mg-t23-guide-section.has-image{\n  grid-template-columns:minmax(0,1.7fr) minmax(210px,.6fr);\n}\n.single-tokyo23_waste .mg-t23-guide-section.has-image.is-reverse,\n.single-tokyo23_biz .mg-t23-guide-section.has-image.is-reverse{\n  grid-template-columns:minmax(210px,.6fr) minmax(0,1.7fr);\n}\n.single-tokyo23_waste .mg-t23-guide-section__body,\n.single-tokyo23_biz .mg-t23-guide-section__body{\n  min-width:0;\n}\n.single-tokyo23_waste .mg-t23-guide-section__image,\n.single-tokyo23_biz .mg-t23-guide-section__image{\n  min-width:0;\n  min-height:210px;\n  max-height:280px;\n}\n.single-tokyo23_waste .mg-t23-guide-section__image img,\n.single-tokyo23_biz .mg-t23-guide-section__image img{\n  width:100%;\n  height:100%;\n  min-height:0;\n  object-fit:cover;\n}\n\n/* Prevent long official URLs / titles from pushing the grid wider. */\n.single-tokyo23_waste .mg-t23-guide-section,\n.single-tokyo23_biz .mg-t23-guide-section,\n.single-tokyo23_waste .mg-t23-aside__card,\n.single-tokyo23_biz .mg-t23-aside__card{\n  min-width:0;\n  overflow-wrap:anywhere;\n}\n.single-tokyo23_waste .mg-t23-guide-hero__overlay h1,\n.single-tokyo23_biz .mg-t23-guide-hero__overlay h1{\n  overflow-wrap:anywhere;\n}\n\n@media(max-width:1100px){\n  .single-tokyo23_waste .mg-t23-content__layout,\n  .single-tokyo23_biz .mg-t23-content__layout{\n    grid-template-columns:minmax(0,1fr) 270px;\n    gap:22px;\n  }\n}\n\n/* Critical fix: force one-column content AFTER all desktop Tokyo23 rules. */\n@media(max-width:980px){\n  .single-tokyo23_waste .mg-t23-content__layout,\n  .single-tokyo23_biz .mg-t23-content__layout{\n    grid-template-columns:minmax(0,1fr) !important;\n  }\n  .single-tokyo23_waste .mg-t23-aside,\n  .single-tokyo23_biz .mg-t23-aside{\n    position:static;\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    width:100%;\n  }\n  .single-tokyo23_waste .mg-t23-aside__contact,\n  .single-tokyo23_biz .mg-t23-aside__contact{\n    grid-column:1/-1;\n  }\n  .single-tokyo23_waste .mg-t23-guide-section.has-image,\n  .single-tokyo23_biz .mg-t23-guide-section.has-image,\n  .single-tokyo23_waste .mg-t23-guide-section.has-image.is-reverse,\n  .single-tokyo23_biz .mg-t23-guide-section.has-image.is-reverse{\n    grid-template-columns:minmax(0,1fr) !important;\n  }\n  .single-tokyo23_waste .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__body,\n  .single-tokyo23_biz .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__body,\n  .single-tokyo23_waste .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__image,\n  .single-tokyo23_biz .mg-t23-guide-section.has-image.is-reverse .mg-t23-guide-section__image{\n    order:initial;\n  }\n  .single-tokyo23_waste .mg-t23-guide-section__image,\n  .single-tokyo23_biz .mg-t23-guide-section__image{\n    width:100%;\n    min-height:260px;\n    max-height:340px;\n  }\n}\n\n@media(max-width:680px){\n  .single-tokyo23_waste .mg-t23-hero--guide,\n  .single-tokyo23_biz .mg-t23-hero--guide{\n    padding:18px 0 24px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero,\n  .single-tokyo23_biz .mg-t23-guide-hero{\n    border-radius:20px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__media,\n  .single-tokyo23_biz .mg-t23-guide-hero__media{\n    height:430px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__overlay,\n  .single-tokyo23_biz .mg-t23-guide-hero__overlay{\n    width:100%;\n    padding:22px 18px;\n    justify-content:flex-end;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__overlay h1,\n  .single-tokyo23_biz .mg-t23-guide-hero__overlay h1{\n    max-width:100%;\n    font-size:clamp(1.7rem,8vw,2.15rem);\n    line-height:1.28;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__overlay p,\n  .single-tokyo23_biz .mg-t23-guide-hero__overlay p{\n    font-size:.82rem;\n    line-height:1.65;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__chips,\n  .single-tokyo23_biz .mg-t23-guide-hero__chips{\n    gap:6px;\n    margin-top:12px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-hero__chips span,\n  .single-tokyo23_biz .mg-t23-guide-hero__chips span{\n    padding:6px 8px;\n    font-size:.65rem;\n  }\n  .single-tokyo23_waste .mg-t23-content,\n  .single-tokyo23_biz .mg-t23-content{\n    padding:26px 0 58px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-section__body,\n  .single-tokyo23_biz .mg-t23-guide-section__body{\n    padding:21px 18px;\n  }\n  .single-tokyo23_waste .mg-t23-guide-section__image,\n  .single-tokyo23_biz .mg-t23-guide-section__image{\n    min-height:200px;\n    max-height:255px;\n  }\n  .single-tokyo23_waste .mg-t23-aside,\n  .single-tokyo23_biz .mg-t23-aside{\n    grid-template-columns:minmax(0,1fr);\n  }\n  .single-tokyo23_waste .mg-t23-aside__contact,\n  .single-tokyo23_biz .mg-t23-aside__contact{\n    grid-column:auto;\n  }\n}\n

/* ==========================================================================
   v1.7.0 - Alternative homepage "Design B"
   ========================================================================== */

.page-template-page-design-b .site-header{
  background:#071d29;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-template-page-design-b .site-header a,
.page-template-page-design-b .site-header .header-phone__copy strong{
  color:#fff;
}
.page-template-page-design-b .site-header .header-phone--cta{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}
.page-template-page-design-b .site-header .header-phone__copy small{color:rgba(255,255,255,.62)}
.page-template-page-design-b .site-header__subbar{background:#071d29;border-top:1px solid rgba(255,255,255,.06)}
.page-template-page-design-b .site-header__subbar a{color:rgba(255,255,255,.78)}
.page-template-page-design-b .site-header__subbar-label{color:rgba(255,255,255,.38)}

.mg-design-b{background:#f7f5f0;color:#13222a}
.mg-design-b img{display:block;width:100%}
.db-kicker,.db-label{display:block;font-size:.66rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.db-label{color:#47747d}
.db-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:220px;padding:15px 18px;border:1px solid;text-decoration:none;font-size:.8rem;font-weight:850;transition:.2s ease}
.db-btn:hover{transform:translateY(-2px)}
.db-btn--light{background:#f7f5f0;border-color:#f7f5f0;color:#071d29}
.db-btn--line{border-color:rgba(255,255,255,.35);color:#fff}
.db-btn--orange{background:#e66c28;border-color:#e66c28;color:#fff}
.db-text-link{display:inline-flex;align-items:center;gap:34px;padding-bottom:7px;border-bottom:1px solid #8fa6aa;color:#12333d;font-size:.78rem;font-weight:850;text-decoration:none}

/* Hero */
.db-hero{position:relative;min-height:690px;overflow:hidden;background:#071d29;color:#fff}
.db-hero__media{position:absolute;inset:0 0 0 50%}
.db-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071d29 0%,rgba(7,29,41,.76) 24%,rgba(7,29,41,.18) 72%)}
.db-hero__media img{height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05)}
.db-hero__inner{position:relative;z-index:2;display:flex;min-height:690px;align-items:center;justify-content:space-between}
.db-hero__copy{width:min(670px,64%);padding:70px 0}
.db-hero .db-kicker{margin-bottom:28px;color:#a6c7cb}
.db-hero h1{margin:0;color:#fff;font-size:clamp(4rem,8vw,8rem);font-weight:600;letter-spacing:-.065em;line-height:.95}
.db-hero p{margin:30px 0;color:rgba(255,255,255,.7);font-size:.96rem;line-height:2}
.db-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.db-hero__index{display:flex;align-self:flex-end;align-items:flex-end;gap:10px;margin-bottom:50px;padding:0 18px 0 0}
.db-hero__index strong{font-size:5rem;font-weight:400;line-height:.85}
.db-hero__index span{color:#73a7b3;font-size:.56rem;font-weight:800;line-height:1.4;letter-spacing:.08em}

/* Intro */
.db-intro{padding:120px 0 145px;background:#f7f5f0}
.db-intro__grid{display:grid;grid-template-columns:.82fr .9fr .62fr;gap:70px;align-items:start}
.db-intro__heading h2{margin:14px 0 0;font-size:clamp(2.8rem,5.5vw,5.2rem);font-weight:500;letter-spacing:-.045em;line-height:1.08}
.db-intro__body{padding-top:64px}
.db-intro__lead{margin-top:0;font-size:1.12rem;line-height:2}
.db-intro__body p:not(.db-intro__lead){color:#68767b;line-height:2}
.db-intro__body .db-text-link{margin-top:25px}
.db-intro__photo{margin:26px 0 0;aspect-ratio:3/4;overflow:hidden}
.db-intro__photo img{height:100%;object-fit:cover}

/* Generic section heading */
.db-section-head{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:68px}
.db-section-head h2{margin:13px 0 0;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;letter-spacing:-.045em;line-height:1.08}
.db-section-head>p{margin:0 0 8px;color:#68767b;line-height:2}
.db-section-head--light h2{color:#fff}
.db-section-head--light .db-label{color:#88aeb5}
.db-section-head--light>p{color:rgba(255,255,255,.58)}

/* Services */
.db-services{padding:120px 0;background:#fff}
.db-service-list{border-top:1px solid #cad3d3}
.db-service-row{display:grid;grid-template-columns:84px minmax(0,1fr) 220px 42px;gap:26px;align-items:center;min-height:210px;padding:28px 0;border-bottom:1px solid #d5dddd;color:inherit;text-decoration:none}
.db-service-row__number{align-self:start;padding-top:5px;color:#71949b;font-size:.78rem}
.db-service-row__copy h3{margin:0 0 12px;font-size:1.85rem;font-weight:550}
.db-service-row__copy p{max-width:650px;margin:0;color:#6a777b;line-height:1.85}
.db-service-row__copy span{display:inline-block;margin-top:24px;color:#517a82;font-size:.62rem;font-weight:850;letter-spacing:.08em}
.db-service-row__image{margin:0;height:150px;overflow:hidden}
.db-service-row__image img{height:100%;object-fit:cover;transition:.35s ease}
.db-service-row__arrow{font-size:1.5rem;color:#4a727a;transition:.25s ease}
.db-service-row:hover .db-service-row__image img{transform:scale(1.045)}
.db-service-row:hover .db-service-row__arrow{transform:translate(3px,-3px)}

/* Reasons */
.db-reasons{padding:120px 0 135px;background:#071d29;color:#fff}
.db-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.db-reason-grid article{min-height:310px;padding:32px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.db-reason-grid strong{color:#73a7b3;font-size:2.8rem;font-weight:350}
.db-reason-grid h3{margin:70px 0 14px;color:#fff;font-size:1.35rem}
.db-reason-grid p{margin:0;color:rgba(255,255,255,.58);line-height:1.9}

/* Flow */
.db-flow{padding:120px 0 135px;background:#f7f5f0}
.db-flow-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ccd4d3;border-left:1px solid #ccd4d3}
.db-flow-grid article{min-height:275px;padding:28px 24px;border-right:1px solid #ccd4d3;border-bottom:1px solid #ccd4d3}
.db-flow-grid strong{color:#b4d4d5;font-size:3.3rem;font-weight:350}
.db-flow-grid h3{margin:55px 0 13px;font-size:1.15rem}
.db-flow-grid p{margin:0;color:#758084;font-size:.82rem;line-height:1.8}
.db-flow__link{display:flex;justify-content:flex-end;margin-top:30px}

/* Cases */
.db-cases{padding:120px 0;background:#fff}
.db-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.db-case-card{display:block;color:inherit;text-decoration:none}
.db-case-card figure{margin:0 0 22px;aspect-ratio:4/3;overflow:hidden;background:#edf1f0}
.db-case-card figure img{height:100%;object-fit:cover;transition:.35s ease}
.db-case-card>span{color:#65878e;font-size:.6rem;font-weight:850;letter-spacing:.12em}
.db-case-card h3{margin:8px 0 10px;font-size:1.25rem}
.db-case-card p{margin:0;color:#727d80;font-size:.84rem;line-height:1.8}
.db-case-card>strong{display:block;margin-top:18px;color:#52777e;font-size:.61rem;letter-spacing:.08em}
.db-case-card:hover figure img{transform:scale(1.04)}
.db-cases__link{display:flex;justify-content:flex-end;margin-top:42px}

/* Area */
.db-area{padding:105px 0;background:#e9efec}
.db-area__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.db-area h2{margin:13px 0 20px;font-size:clamp(2.6rem,4.8vw,4.6rem);font-weight:500;letter-spacing:-.045em;line-height:1.1}
.db-area p{max-width:690px;color:#667579;line-height:2}
.db-area .db-text-link{margin-top:20px}
.db-area__chips{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #aebdbc;border-left:1px solid #aebdbc}
.db-area__chips>span{display:flex;min-height:150px;flex-direction:column;justify-content:flex-end;padding:22px;border-right:1px solid #aebdbc;border-bottom:1px solid #aebdbc;font-size:1.25rem;font-weight:750}
.db-area__chips>span.is-main{grid-column:1/-1;min-height:180px;background:#d5e7e6}
.db-area__chips small{display:block;margin-top:7px;color:#6d7e82;font-size:.68rem;font-weight:600}

/* Contact */
.db-contact{padding:105px 0 115px;background:#071d29;color:#fff}
.db-contact__inner{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end}
.db-contact .db-label{color:#7fa9b1}
.db-contact h2{margin:15px 0 24px;color:#fff;font-size:clamp(3.2rem,6vw,6.3rem);font-weight:500;letter-spacing:-.06em;line-height:.98}
.db-contact p{max-width:560px;color:rgba(255,255,255,.58);line-height:1.95}
.db-contact__actions{display:grid;gap:10px}
.db-contact__phone{display:flex;flex-direction:column;padding:24px 26px;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none}
.db-contact__phone small,.db-contact__phone span{color:rgba(255,255,255,.5);font-size:.7rem}
.db-contact__phone strong{margin:5px 0;color:#fff;font-size:2.1rem;font-weight:500}
.db-contact .db-btn{width:100%;min-height:70px}

/* Responsive */
@media(max-width:1050px){
  .db-hero__media{left:42%}
  .db-intro__grid{grid-template-columns:1fr 1fr;gap:45px}
  .db-intro__photo{grid-column:2;margin-top:-80px}
  .db-service-row{grid-template-columns:60px 1fr 180px 30px}
  .db-flow-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .page-template-page-design-b .site-header__subbar{display:none}
  .db-hero,.db-hero__inner{min-height:650px}
  .db-hero__media{left:0;opacity:.58}
  .db-hero__media:after{background:linear-gradient(90deg,#071d29 0%,rgba(7,29,41,.78) 58%,rgba(7,29,41,.35))}
  .db-hero__copy{width:92%}
  .db-hero__index{display:none}
  .db-intro__grid,.db-section-head,.db-area__grid,.db-contact__inner{grid-template-columns:1fr}
  .db-intro__body{padding-top:0}
  .db-intro__photo{grid-column:auto;margin:10px 0 0;width:min(380px,78%)}
  .db-service-row{grid-template-columns:50px 1fr 34px}
  .db-service-row__image{grid-column:2/4;width:min(330px,100%)}
  .db-service-row__arrow{grid-column:3;grid-row:1}
  .db-reason-grid,.db-case-grid{grid-template-columns:1fr}
  .db-flow-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .db-hero,.db-hero__inner{min-height:610px}
  .db-hero h1{font-size:3.8rem}
  .db-hero__copy{padding:55px 0}
  .db-btn{width:100%;min-width:0}
  .db-intro,.db-services,.db-reasons,.db-flow,.db-cases{padding:82px 0}
  .db-section-head{gap:28px;margin-bottom:42px}
  .db-service-row{grid-template-columns:38px 1fr 28px;gap:13px;padding:22px 0}
  .db-service-row__copy h3{font-size:1.42rem}
  .db-service-row__copy p{font-size:.82rem}
  .db-service-row__image{height:190px}
  .db-reason-grid article{min-height:240px}
  .db-reason-grid h3{margin-top:38px}
  .db-flow-grid{grid-template-columns:1fr}
  .db-flow-grid article{min-height:220px}
  .db-flow-grid h3{margin-top:30px}
  .db-area__chips{grid-template-columns:1fr}
  .db-area__chips>span.is-main{grid-column:auto}
  .db-contact__phone strong{font-size:1.65rem}
}




/* ==========================================================================
   v1.7.1 Design B - closer to supplied reference video
   ========================================================================== */

.page-template-page-design-b .site-header{background:#071b25;border-bottom:1px solid rgba(255,255,255,.08)}
.page-template-page-design-b .site-header a,
.page-template-page-design-b .site-header .header-phone__copy strong{color:#fff}
.page-template-page-design-b .site-header .header-phone--cta{background:transparent;border-color:transparent;box-shadow:none}
.page-template-page-design-b .site-header .header-phone__copy small{color:rgba(255,255,255,.58)}
.page-template-page-design-b .site-header__subbar{display:none}

.mg-design-b{background:#f6f3ed;color:#0b202a}
.mg-design-b .db-label{display:block;color:#5b939d;font-size:.62rem;font-weight:900;letter-spacing:.15em}

/* Hero */
.db2-hero{position:relative;min-height:590px;overflow:hidden;background:#071b25;color:#fff}
.db2-hero__media{position:absolute;inset:0 0 0 45%}
.db2-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b25 0%,rgba(7,27,37,.9) 20%,rgba(7,27,37,.24) 74%)}
.db2-hero__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.06)}
.db2-hero__inner{position:relative;z-index:2;display:flex;align-items:center;min-height:590px}
.db2-hero__copy{width:min(650px,66%);padding:60px 0}
.db2-hero h1{margin:18px 0 23px;color:#fff;font-size:clamp(4rem,7.5vw,7.3rem);font-weight:500;letter-spacing:-.065em;line-height:.92}
.db2-hero p{margin:0;color:rgba(255,255,255,.67);line-height:2}
.db2-hero__actions{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}

/* Metrics flush under hero */
.db2-metrics{background:#071b25;color:#fff}
.db2-metrics__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.db2-metrics__grid>div{display:flex;min-height:150px;flex-direction:column;justify-content:center;padding:24px 38px;border-top:1px solid rgba(255,255,255,.13);border-right:1px solid rgba(255,255,255,.13)}
.db2-metrics__grid>div:first-child{border-left:1px solid rgba(255,255,255,.13)}
.db2-metrics strong{display:block;font-size:clamp(2.8rem,5vw,5.1rem);font-weight:350;letter-spacing:-.05em;line-height:.95}
.db2-metrics span{margin-top:15px;color:rgba(255,255,255,.55);font-size:.72rem}

/* Purpose */
.db2-purpose{padding:110px 0 125px;background:#f6f3ed}
.db2-purpose__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.db2-purpose h2{margin:15px 0 0;font-size:clamp(3rem,5.6vw,5.7rem);font-weight:500;letter-spacing:-.055em;line-height:1.03}
.db2-purpose__grid>div:last-child{padding-top:55px}
.db2-purpose p{color:#6e7b7e;line-height:2}
.db2-purpose .db2-lead{color:#1e333b;font-size:1.12rem}

/* Services */
.db2-services{padding:105px 0 125px;background:#fff}
.db2-section-title{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:70px}
.db2-section-title h2{margin:14px 0 0;font-size:clamp(3rem,5.4vw,5.5rem);font-weight:500;letter-spacing:-.05em;line-height:1.05}
.db2-section-title>p{margin:0;color:#718084;line-height:2}
.db2-section-title--compact{display:block}
.db2-service-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:75px;align-items:start}
.db2-service-menu{border-top:1px solid #cfd8d6}
.db2-service-row{display:grid;grid-template-columns:48px 1fr 26px;gap:18px;align-items:center;min-height:72px;padding:14px 0;border-bottom:1px solid #d5dcdb;color:#13252d;text-decoration:none;transition:.2s}
.db2-service-row__num{color:#6d969c;font-size:.66rem}
.db2-service-row h3{margin:0 0 4px;font-size:1.16rem;font-weight:650;transition:.2s}
.db2-service-row small{color:#8a9698;font-size:.54rem;letter-spacing:.12em}
.db2-service-row b{font-weight:400;color:#557a80;transition:.2s}
.db2-service-row:hover,.db2-service-row.is-active{border-bottom-color:#4e919b;color:#276e78}
.db2-service-row:hover h3,.db2-service-row.is-active h3{transform:translateX(4px)}
.db2-service-row:hover b,.db2-service-row.is-active b{transform:translateX(3px)}
.db2-service-preview{position:sticky;top:110px}
.db2-service-preview figure{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background:#e5eceb}
.db2-service-preview figure img{width:100%;height:100%;object-fit:cover;transition:opacity .18s ease,transform .35s ease}
.db2-service-preview figure img.is-changing{opacity:.18;transform:scale(1.02)}
.db2-service-preview figure span{position:absolute;right:0;bottom:0;padding:10px 13px;background:#071b25;color:#fff;font-size:.62rem}
.db2-service-preview>p{margin:22px 0 0;color:#56676c;line-height:1.9}

/* Reasons */
.db2-reasons{padding:105px 0 125px;background:#071b25;color:#fff}
.db2-reasons__grid{display:grid;grid-template-columns:1fr .9fr;gap:85px}
.db2-reasons__image{margin:0;min-height:560px;overflow:hidden}
.db2-reasons__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68)}
.db2-reasons__content{padding-top:20px}
.db2-reasons__content>h2{margin:14px 0 45px;color:#fff;font-size:clamp(3rem,5vw,5rem);font-weight:500;letter-spacing:-.05em}
.db2-reasons article{padding:28px 0;border-top:1px solid rgba(255,255,255,.16)}
.db2-reasons article:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.db2-reasons article i{display:block;width:24px;height:2px;margin-bottom:18px;background:#58a8b5}
.db2-reasons article h3{margin:0 0 11px;color:#fff;font-size:1.35rem;font-weight:500}
.db2-reasons article p{margin:0;color:rgba(255,255,255,.55);line-height:1.9}

/* People & transparency */
.db2-people{padding:110px 0 125px;background:#071b25;color:#fff;border-top:1px solid rgba(255,255,255,.09)}
.db2-people__head{display:grid;grid-template-columns:1fr .65fr;gap:90px;align-items:end;margin-top:18px}
.db2-people__head h2{margin:0;color:#fff;font-size:clamp(3.4rem,6vw,6.2rem);font-weight:500;letter-spacing:-.06em;line-height:1}
.db2-people__head p{margin:0;color:rgba(255,255,255,.55);line-height:2}
.db2-people__grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;margin-top:75px}
.db2-people__facts{border-top:1px solid rgba(255,255,255,.18)}
.db2-people__facts article{display:grid;grid-template-columns:45px 1fr;gap:4px 20px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.db2-people__facts article>span{grid-row:1/3;color:#5f9da7;font-size:.68rem}
.db2-people__facts h3{margin:0;color:#fff;font-size:1.04rem}
.db2-people__facts p{margin:0;color:rgba(255,255,255,.5);font-size:.8rem;line-height:1.8}
.db2-president{display:grid;grid-template-columns:.9fr 1.1fr;background:#0b2632}
.db2-president figure{margin:0;min-height:390px;overflow:hidden}
.db2-president figure img{width:100%;height:100%;object-fit:cover}
.db2-president__placeholder{display:flex;min-height:390px;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;background:#102f3b;color:rgba(255,255,255,.6)}
.db2-president__placeholder .mg-icon{width:55px;height:55px;margin-bottom:18px}
.db2-president__placeholder strong{color:#fff;margin-bottom:8px}
.db2-president__placeholder span{font-size:.72rem;line-height:1.7}
.db2-president__copy{display:flex;flex-direction:column;justify-content:center;padding:32px}
.db2-president__copy h3{margin:10px 0 13px;color:#fff;font-size:1.4rem}
.db2-president__copy p{color:rgba(255,255,255,.56);line-height:1.9}
.db2-president__copy a{margin-top:15px;color:#8ac2cb;font-size:.72rem}

/* Flow */
.db2-flow{padding:110px 0 125px;background:#f6f3ed}
.db2-flow__grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:55px;border-top:1px solid #cbd5d3;border-left:1px solid #cbd5d3}
.db2-flow__grid article{min-height:260px;padding:25px;border-right:1px solid #cbd5d3;border-bottom:1px solid #cbd5d3}
.db2-flow__grid strong{color:#b3d1d1;font-size:3.1rem;font-weight:350}
.db2-flow__grid h3{margin:55px 0 10px;font-size:1.05rem}
.db2-flow__grid p{margin:0;color:#758084;font-size:.78rem;line-height:1.8}

/* Bottom area + FAQ like reference */
.db2-bottom{padding:105px 0 120px;background:#fff}
.db2-bottom__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px}
.db2-area h2,.db2-faq h2{margin:14px 0 28px;font-size:clamp(3rem,5vw,5.2rem);font-weight:500;letter-spacing:-.05em;line-height:1.05}
.db2-area>p{color:#728084;line-height:1.95}
.db2-area__wards{margin:40px 0 25px;padding:25px 0;border-top:1px solid #cfd8d6;border-bottom:1px solid #cfd8d6}
.db2-area__wards strong{display:block;margin-bottom:14px;color:#347987;font-size:.7rem}
.db2-area__wards p{margin:0;font-size:1.25rem;font-weight:750;line-height:1.8}
.db2-faq__list{border-top:1px solid #d0d8d7}
.db2-faq__list details{padding:0;border-bottom:1px solid #d6dddc}
.db2-faq__list summary{display:grid;grid-template-columns:1fr 24px;gap:15px;align-items:center;padding:20px 0;cursor:pointer;list-style:none;font-size:.82rem;font-weight:750}
.db2-faq__list summary::-webkit-details-marker{display:none}
.db2-faq__list summary b{text-align:right;font-weight:400;color:#61757a}
.db2-faq__list details p{margin:0;padding:0 35px 22px 0;color:#828d90;font-size:.75rem;line-height:1.9}
.db2-faq .db-text-link{margin-top:28px}

@media(max-width:980px){
  .db2-hero__media{left:25%}
  .db2-metrics__grid{grid-template-columns:repeat(2,1fr)}
  .db2-purpose__grid,.db2-section-title,.db2-service-layout,.db2-reasons__grid,.db2-people__head,.db2-people__grid,.db2-bottom__grid{grid-template-columns:1fr}
  .db2-purpose__grid>div:last-child{padding-top:0}
  .db2-service-preview{position:relative;top:auto}
  .db2-reasons__image{min-height:420px}
  .db2-president{max-width:720px}
  .db2-flow__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .db2-hero,.db2-hero__inner{min-height:575px}
  .db2-hero__media{left:0;opacity:.58}
  .db2-hero__media:after{background:linear-gradient(90deg,#071b25 0%,rgba(7,27,37,.78) 60%,rgba(7,27,37,.35))}
  .db2-hero__copy{width:100%;padding:50px 0}
  .db2-hero h1{font-size:3.65rem}
  .db2-metrics__grid>div{min-height:115px;padding:18px 16px}
  .db2-metrics strong{font-size:2.5rem}
  .db2-purpose,.db2-services,.db2-reasons,.db2-people,.db2-flow,.db2-bottom{padding:78px 0}
  .db2-section-title{gap:25px;margin-bottom:42px}
  .db2-service-layout{gap:35px}
  .db2-service-row{grid-template-columns:34px 1fr 20px;gap:10px}
  .db2-service-row h3{font-size:1.02rem}
  .db2-service-preview figure{aspect-ratio:4/3}
  .db2-reasons__image{min-height:300px}
  .db2-people__grid{gap:40px}
  .db2-president{grid-template-columns:1fr}
  .db2-president figure,.db2-president__placeholder{min-height:360px}
  .db2-flow__grid{grid-template-columns:1fr}
  .db2-flow__grid article{min-height:210px}
  .db2-flow__grid h3{margin-top:30px}
}


/* ==========================================================================
   v1.7.2 FINAL mobile safeguards for Tokyo23 pages
   ========================================================================== */
@media (max-width: 980px) {
  body.single-tokyo23_waste .mg-t23-content__layout,
  body.single-tokyo23_biz .mg-t23-content__layout {
    display: block !important;
  }

  body.single-tokyo23_waste .mg-t23-main,
  body.single-tokyo23_biz .mg-t23-main {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.single-tokyo23_waste .mg-t23-aside,
  body.single-tokyo23_biz .mg-t23-aside {
    position: static !important;
    width: 100% !important;
    margin-top: 28px !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section,
  body.single-tokyo23_biz .mg-t23-guide-section,
  body.single-tokyo23_waste .mg-t23-guide-section.has-image,
  body.single-tokyo23_biz .mg-t23-guide-section.has-image,
  body.single-tokyo23_waste .mg-t23-guide-section.has-image.is-reverse,
  body.single-tokyo23_biz .mg-t23-guide-section.has-image.is-reverse,
  body.single-tokyo23_waste .mg-t23-guide-section:not(.has-image),
  body.single-tokyo23_biz .mg-t23-guide-section:not(.has-image) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section__body,
  body.single-tokyo23_biz .mg-t23-guide-section__body {
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section__image,
  body.single-tokyo23_biz .mg-t23-guide-section__image {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__image,
  body.single-tokyo23_biz .mg-t23-guide-section:not(.has-image) .mg-t23-guide-section__image {
    display: none !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section__image img,
  body.single-tokyo23_biz .mg-t23-guide-section__image img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
    object-fit: cover !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-hero__overlay,
  body.single-tokyo23_biz .mg-t23-guide-hero__overlay {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-hero__overlay h1,
  body.single-tokyo23_biz .mg-t23-guide-hero__overlay h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 680px) {
  body.single-tokyo23_waste .mg-t23-guide-hero__media,
  body.single-tokyo23_biz .mg-t23-guide-hero__media {
    height: auto !important;
    min-height: 430px !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-hero__media > img,
  body.single-tokyo23_biz .mg-t23-guide-hero__media > img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-hero__overlay,
  body.single-tokyo23_biz .mg-t23-guide-hero__overlay {
    position: relative !important;
    inset: auto !important;
    min-height: 430px;
    justify-content: flex-end !important;
    padding: 92px 20px 24px !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-hero__overlay h1,
  body.single-tokyo23_biz .mg-t23-guide-hero__overlay h1 {
    font-size: clamp(1.7rem, 8vw, 2.15rem) !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section__body,
  body.single-tokyo23_biz .mg-t23-guide-section__body {
    padding: 21px 18px !important;
  }

  body.single-tokyo23_waste .mg-t23-guide-section__image,
  body.single-tokyo23_biz .mg-t23-guide-section__image {
    min-height: 0 !important;
    max-height: none !important;
  }
}


/* ==========================================================================
   v1.7.3 Design B refinements
   ========================================================================== */

/* Uploaded team photo beneath purpose */
.db2-purpose__team{
  margin-top:72px;
}
.db2-purpose__team figure{
  margin:0;
  overflow:hidden;
  background:#dfe7e5;
}
.db2-purpose__team img{
  display:block;
  width:100%;
  height:auto;
}

/* Slightly smaller headline scale across Design B */
.db2-hero h1{
  font-size:clamp(3.5rem,6.4vw,6.4rem);
}
.db2-purpose h2,
.db2-section-title h2,
.db2-reasons__content>h2,
.db2-area h2,
.db2-faq h2{
  font-size:clamp(2.55rem,4.6vw,4.75rem);
}
.db2-people__head h2{
  font-size:clamp(2.9rem,5.2vw,5.35rem);
}
.db-contact h2{
  font-size:clamp(2.9rem,5.2vw,5.45rem);
}

/* Responsibility / processing destination section */
.db2-responsibility{
  padding:110px 0 125px;
  background:#eef1ed;
}
.db2-responsibility__head{
  display:grid;
  grid-template-columns:1fr .7fr;
  column-gap:90px;
  row-gap:14px;
  align-items:end;
}
.db2-responsibility__head .db-label{
  grid-column:1/-1;
}
.db2-responsibility__head h2{
  margin:0;
  max-width:820px;
  font-size:clamp(2.8rem,5vw,5.2rem);
  font-weight:500;
  letter-spacing:-.055em;
  line-height:1.03;
}
.db2-responsibility__head>p{
  margin:0;
  color:#6d7a7e;
  line-height:2;
}
.db2-responsibility__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:70px;
  border-top:1px solid #becbc8;
  border-left:1px solid #becbc8;
}
.db2-responsibility__grid article{
  min-height:270px;
  padding:28px 24px;
  border-right:1px solid #becbc8;
  border-bottom:1px solid #becbc8;
}
.db2-responsibility__grid article span{
  color:#6d9aa1;
  font-size:.68rem;
  font-weight:850;
}
.db2-responsibility__grid article h3{
  margin:75px 0 12px;
  font-size:1.22rem;
}
.db2-responsibility__grid article p{
  margin:0;
  color:#748084;
  font-size:.8rem;
  line-height:1.85;
}
.db2-responsibility__statement{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:70px;
  align-items:center;
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid #becbc8;
}
.db2-responsibility__statement strong{
  color:#245c66;
  font-size:.74rem;
  letter-spacing:.09em;
}
.db2-responsibility__statement p{
  margin:0;
  color:#617176;
  line-height:1.9;
}

/* Keep sequence visually connected: Flow -> Responsibility -> People */
.db2-flow{
  border-bottom:1px solid #d7ddda;
}
.db2-people{
  border-top:0;
}

@media(max-width:980px){
  .db2-responsibility__head,
  .db2-responsibility__statement{
    grid-template-columns:1fr;
    gap:25px;
  }
  .db2-responsibility__grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .db2-purpose__team{
    margin-top:45px;
  }
  .db2-hero h1{
    font-size:3.25rem;
  }
  .db2-purpose h2,
  .db2-section-title h2,
  .db2-reasons__content>h2,
  .db2-area h2,
  .db2-faq h2{
    font-size:2.65rem;
  }
  .db2-people__head h2,
  .db-contact h2{
    font-size:2.9rem;
  }
  .db2-responsibility{
    padding:78px 0;
  }
  .db2-responsibility__head h2{
    font-size:2.75rem;
  }
  .db2-responsibility__grid{
    grid-template-columns:1fr;
    margin-top:45px;
  }
  .db2-responsibility__grid article{
    min-height:220px;
  }
  .db2-responsibility__grid article h3{
    margin-top:42px;
  }
}

/* v1.7.4 header phone: number only */
.header-phone__copy{
  justify-content:center;
}
.header-phone__copy strong{
  margin:0;
}


/* v1.7.5 Header phone simplification - normal + Design B */
.header-phone--cta,
.page-template-page-design-b .header-phone--cta{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  min-height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.header-phone--cta:hover,
.page-template-page-design-b .header-phone--cta:hover{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

.header-phone__icon{
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--mg-blue-700) !important;
}

.page-template-page-design-b .header-phone__icon{
  color:#8bd1e0 !important;
}

.header-phone__icon .mg-icon{
  width:18px !important;
  height:18px !important;
}

.header-phone__copy{
  display:flex;
  align-items:center;
  justify-content:center;
}

.header-phone__copy small{
  display:none !important;
}

.header-phone__copy strong{
  margin:0 !important;
  color:var(--mg-navy-950) !important;
  font-size:1.25rem !important;
  font-weight:900;
  line-height:1;
  letter-spacing:.015em;
  white-space:nowrap;
}

.page-template-page-design-b .header-phone__copy strong{
  color:#fff !important;
}

@media(max-width:820px){
  .header-phone__copy strong{
    font-size:1.05rem !important;
  }
}

@media(max-width:680px){
  .header-phone--cta,
  .page-template-page-design-b .header-phone--cta{
    gap:6px;
    padding:0 !important;
  }
  .header-phone__icon .mg-icon{
    width:16px !important;
    height:16px !important;
  }
  .header-phone__copy strong{
    font-size:.95rem !important;
  }
}


/* ==========================================================================
   v1.7.6 Main homepage: transparency / representative + SDGs CTA
   ========================================================================== */

.mg-circulation-message__link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  margin-top:14px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(5,92,137,.35);
  color:var(--mg-blue-700);
  font-size:.78rem;
  font-weight:900;
  text-decoration:none;
}
.mg-circulation-message__link:hover{
  gap:25px;
}

/* Design B-derived trust section, adapted to the main blue/ocean theme */
.mg-home-transparency{
  position:relative;
  overflow:hidden;
  padding-top:88px;
  padding-bottom:96px;
  background:linear-gradient(145deg,#063853 0%,#075f84 58%,#087ba5 100%);
  color:#fff;
}
.mg-home-transparency:before{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  right:-150px;
  top:-210px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.mg-home-transparency .mg-container{
  position:relative;
  z-index:1;
}
.mg-home-transparency__head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
  gap:60px;
  align-items:end;
  margin-bottom:46px;
}
.mg-home-transparency .mg-eyebrow{
  color:#9be4f4;
}
.mg-home-transparency .mg-title{
  max-width:760px;
  margin-top:8px;
  color:#fff;
  font-size:clamp(2.2rem,4.2vw,4rem);
  line-height:1.2;
}
.mg-home-transparency__head .mg-lead{
  margin:0 0 5px;
  color:rgba(255,255,255,.72);
  line-height:1.9;
}
.mg-home-transparency__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:28px;
}
.mg-home-transparency__points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.20);
  border-left:1px solid rgba(255,255,255,.20);
}
.mg-home-transparency__points article{
  min-height:330px;
  padding:28px 24px;
  border-right:1px solid rgba(255,255,255,.20);
  border-bottom:1px solid rgba(255,255,255,.20);
}
.mg-home-transparency__points article>span{
  color:#93d9e8;
  font-size:.7rem;
  font-weight:900;
}
.mg-home-transparency__points article>div{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-top:40px;
  border-radius:14px;
  background:rgba(255,255,255,.09);
  color:#b1edf7;
}
.mg-home-transparency__points .mg-icon{
  width:24px;
  height:24px;
}
.mg-home-transparency__points h3{
  margin:20px 0 10px;
  color:#fff;
  font-size:1.08rem;
}
.mg-home-transparency__points p{
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:.82rem;
  line-height:1.85;
}

.mg-home-representative{
  overflow:hidden;
  margin:0;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(3,37,55,.42);
  border-radius:24px;
}
.mg-home-representative figure{
  margin:0;
  height:310px;
  overflow:hidden;
  background:#dbe8ec;
}
.mg-home-representative figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.mg-home-representative__placeholder{
  display:flex;
  height:310px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:32px;
  text-align:center;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.7);
}
.mg-home-representative__placeholder .mg-icon{
  width:54px;
  height:54px;
  margin-bottom:14px;
  color:#9be4f4;
}
.mg-home-representative__placeholder strong{
  margin-bottom:7px;
  color:#fff;
}
.mg-home-representative__placeholder span{
  max-width:260px;
  font-size:.72rem;
  line-height:1.65;
}
.mg-home-representative__copy{
  padding:25px 27px 28px;
}
.mg-home-representative__copy h3{
  margin:7px 0 10px;
  color:#fff;
  font-size:1.35rem;
}
.mg-home-representative__copy p{
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.9;
}
.mg-home-representative__copy a{
  display:inline-flex;
  gap:20px;
  margin-top:19px;
  color:#a9e8f4;
  font-size:.76rem;
  font-weight:850;
}

@media(max-width:1050px){
  .mg-home-transparency__head,
  .mg-home-transparency__grid{
    grid-template-columns:1fr;
  }
  .mg-home-transparency__points{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .mg-home-representative{
    display:grid;
    grid-template-columns:minmax(260px,.8fr) 1fr;
  }
  .mg-home-representative figure,
  .mg-home-representative__placeholder{
    height:100%;
    min-height:330px;
  }
}

@media(max-width:760px){
  .mg-home-transparency{
    padding-top:68px;
    padding-bottom:72px;
  }
  .mg-home-transparency__head{
    gap:20px;
    margin-bottom:34px;
  }
  .mg-home-transparency .mg-title{
    font-size:2.25rem;
  }
  .mg-home-transparency__points{
    grid-template-columns:1fr;
  }
  .mg-home-transparency__points article{
    min-height:auto;
    padding:23px 20px;
  }
  .mg-home-transparency__points article>div{
    margin-top:20px;
  }
  .mg-home-representative{
    display:block;
  }
  .mg-home-representative figure,
  .mg-home-representative__placeholder{
    height:330px;
    min-height:0;
  }
}

@media(max-width:480px){
  .mg-home-transparency .mg-title{
    font-size:2rem;
  }
  .mg-home-representative figure,
  .mg-home-representative__placeholder{
    height:290px;
  }
}


/* ==========================================================================
   v1.7.7 Real photography + brighter overall visual tone
   ========================================================================== */

/* Main site: keep dark blue as accent, not dominant surface */
body{
  background:#fff;
}
.mg-section{
  background-color:#fff;
}
.mg-home-transparency{
  background:linear-gradient(145deg,#eaf8fd 0%,#f8fcfe 58%,#ffffff 100%) !important;
  color:var(--mg-navy-950) !important;
}
.mg-home-transparency:before{
  border-color:rgba(24,129,173,.12) !important;
}
.mg-home-transparency .mg-eyebrow{
  color:var(--mg-blue-700) !important;
}
.mg-home-transparency .mg-title{
  color:var(--mg-navy-950) !important;
}
.mg-home-transparency__head .mg-lead{
  color:var(--mg-muted) !important;
}
.mg-home-transparency__points{
  border-color:rgba(31,120,158,.18) !important;
}
.mg-home-transparency__points article{
  border-color:rgba(31,120,158,.18) !important;
  background:rgba(255,255,255,.72);
}
.mg-home-transparency__points article>span{
  color:var(--mg-blue-700) !important;
}
.mg-home-transparency__points article>div{
  background:#e8f6fb !important;
  color:var(--mg-blue-700) !important;
}
.mg-home-transparency__points h3{
  color:var(--mg-navy-950) !important;
}
.mg-home-transparency__points p{
  color:var(--mg-muted) !important;
}
.mg-home-representative{
  background:#fff !important;
  border-color:var(--mg-line) !important;
  box-shadow:0 16px 34px rgba(5,72,122,.08);
}
.mg-home-representative__copy h3{
  color:var(--mg-navy-950) !important;
}
.mg-home-representative__copy p{
  color:var(--mg-muted) !important;
}
.mg-home-representative__copy a{
  color:var(--mg-blue-700) !important;
}

/* Design B: overall brighter mood */
.mg-design-b{
  background:#fff !important;
}
.db2-hero{
  background:#dcecf3 !important;
}
.db2-hero__media{
  inset:0 !important;
}
.db2-hero__media:after{
  background:linear-gradient(90deg,rgba(4,47,69,.82) 0%,rgba(4,47,69,.62) 40%,rgba(4,47,69,.08) 78%) !important;
}
.db2-hero__media img{
  filter:saturate(.92) brightness(1.06) !important;
}
.db2-hero__copy{
  width:min(700px,67%) !important;
}
.db2-metrics{
  background:#f4fbfe !important;
  color:var(--mg-navy-950) !important;
}
.db2-metrics__grid>div{
  border-color:#d7e8ee !important;
}
.db2-metrics strong{
  color:#0c5c82 !important;
}
.db2-metrics span{
  color:#6c7f86 !important;
}

.db2-purpose{
  background:#fff !important;
}
.db2-purpose-team{
  padding:0 0 100px;
  background:#fff;
}
.db2-purpose-team figure{
  margin:0;
  overflow:hidden;
  border-radius:4px;
  background:#eef4f5;
}
.db2-purpose-team img{
  width:100%;
  height:auto;
  display:block;
}

.db2-services{
  background:#f7fbfc !important;
}

/* Reasons becomes light instead of large dark block */
.db2-reasons{
  background:#edf7fa !important;
  color:var(--mg-navy-950) !important;
}
.db2-reasons__content>h2,
.db2-reasons article h3{
  color:var(--mg-navy-950) !important;
}
.db2-reasons article{
  border-color:#cde0e6 !important;
}
.db2-reasons article p{
  color:#63767d !important;
}
.db2-reasons article i{
  background:#2693b6 !important;
}
.db2-reasons__image img{
  filter:saturate(.9) brightness(1.06) !important;
}

/* Real-photo gallery */
.db2-real-gallery{
  padding:105px 0 120px;
  background:#fff;
}
.db2-real-gallery__head{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:80px;
  align-items:end;
  margin-bottom:48px;
}
.db2-real-gallery__head h2{
  margin:12px 0 0;
  font-size:clamp(2.5rem,4.5vw,4.4rem);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.08;
}
.db2-real-gallery__head p{
  margin:0;
  color:#6f8086;
  line-height:1.9;
}
.db2-real-gallery__grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .65fr;
  gap:12px;
}
.db2-real-gallery__grid figure{
  margin:0;
  height:360px;
  overflow:hidden;
  background:#eef3f4;
}
.db2-real-gallery__grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Flow remains light */
.db2-flow{
  background:#f7faf8 !important;
}

/* Processing responsibility also brighter */
.db2-responsibility{
  background:#eff7f6 !important;
}

/* People section: retain contrast, but soften drastically */
.db2-people{
  background:#e8f3f6 !important;
  color:var(--mg-navy-950) !important;
  border-top:1px solid #d5e4e8 !important;
}
.db2-people__head h2,
.db2-people__facts h3,
.db2-president__copy h3{
  color:var(--mg-navy-950) !important;
}
.db2-people__head p,
.db2-people__facts p,
.db2-president__copy p{
  color:#62767e !important;
}
.db2-people__facts{
  border-color:#c9dde3 !important;
}
.db2-people__facts article{
  border-color:#c9dde3 !important;
}
.db2-president{
  background:#fff !important;
  box-shadow:0 12px 30px rgba(5,72,122,.07);
}
.db2-president__copy a{
  color:var(--mg-blue-700) !important;
}
.db2-president__placeholder{
  background:#d8ebf1 !important;
  color:#54717a !important;
}
.db2-president__placeholder strong{
  color:var(--mg-navy-950) !important;
}

/* Bottom & contact: keep CTA contrast but lighten surrounding area */
.db2-bottom{
  background:#fff !important;
}
.db-contact{
  background:linear-gradient(135deg,#075779,#0b7899) !important;
}

/* General image polish */
.mg-design-b img,
.front-page img{
  image-rendering:auto;
}

@media(max-width:980px){
  .db2-real-gallery__head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .db2-real-gallery__grid{
    grid-template-columns:1fr 1fr;
  }
  .db2-real-gallery__grid figure:last-child{
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  .db2-purpose-team{
    padding-bottom:72px;
  }
  .db2-real-gallery{
    padding:78px 0;
  }
  .db2-real-gallery__grid{
    grid-template-columns:1fr;
  }
  .db2-real-gallery__grid figure,
  .db2-real-gallery__grid figure:last-child{
    grid-column:auto;
    height:280px;
  }
}


/* ==========================================================================
   v1.7.8 Real photography expanded to non-home pages
   ========================================================================== */
.mg-service-real-scenes,
.mg-flow-real-work,
.mg-company-representative-photo{
  background:#fff;
}

.mg-service-real-scenes__grid,
.mg-flow-real-work__grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:14px;
}
.mg-service-real-scenes__grid figure,
.mg-flow-real-work__grid figure{
  margin:0;
  height:320px;
  overflow:hidden;
  border-radius:20px;
  background:#eef5f7;
}
.mg-service-real-scenes__grid img,
.mg-flow-real-work__grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.mg-company-representative-photo{
  padding-top:74px;
  padding-bottom:78px;
}
.mg-company-representative-photo__grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:56px;
  align-items:center;
}
.mg-company-representative-photo figure{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#eef5f7;
  box-shadow:0 14px 34px rgba(5,72,122,.07);
}
.mg-company-representative-photo figure img{
  width:100%;
  display:block;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
}
.mg-company-representative-photo .mg-title{
  margin-top:8px;
  max-width:700px;
}
.mg-company-representative-photo .mg-lead{
  max-width:700px;
}

@media(max-width:880px){
  .mg-service-real-scenes__grid,
  .mg-flow-real-work__grid{
    grid-template-columns:1fr 1fr;
  }
  .mg-service-real-scenes__grid figure:first-child,
  .mg-flow-real-work__grid figure:first-child{
    grid-column:1/-1;
  }
  .mg-company-representative-photo__grid{
    grid-template-columns:1fr;
  }
  .mg-company-representative-photo figure{
    max-width:430px;
  }
}
@media(max-width:620px){
  .mg-service-real-scenes__grid,
  .mg-flow-real-work__grid{
    grid-template-columns:1fr;
  }
  .mg-service-real-scenes__grid figure,
  .mg-flow-real-work__grid figure,
  .mg-service-real-scenes__grid figure:first-child,
  .mg-flow-real-work__grid figure:first-child{
    grid-column:auto;
    height:250px;
  }
  .mg-company-representative-photo{
    padding-top:56px;
    padding-bottom:60px;
  }
  .mg-company-representative-photo__grid{
    gap:30px;
  }
}


/* ==========================================================================\n   v1.8.3 Typography normalization / requested headline fitting\n   ========================================================================== */

/* Shared rhythm: slightly calmer headline scale and tighter tracking */
.mg-title,
.mg-page-hero h1,
.mg-service-hub-hero__copy h1,
.mg-brand-hero h1,
.mg-company-philosophy__panel h2{
  letter-spacing:0 !important;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Home hero: fixed two-line statement on desktop */
.mg-home-hero-title{
  font-size:clamp(2.85rem,4.8vw,4.8rem) !important;
  line-height:1.12 !important;
}

/* Homepage long titles should read as one clean line on desktop */
@media (min-width:981px){
  .mg-home-transparency-title{
    max-width:none !important;
    white-space:nowrap;
    font-size:clamp(2rem,3.15vw,3.35rem) !important;
  }
  .mg-home-about-title{
    white-space:nowrap;
    font-size:clamp(1.9rem,2.75vw,2.75rem) !important;
  }
  .mg-home-contact-title,
  .mg-contact-band-title{
    white-space:nowrap;
    font-size:clamp(1.55rem,2.25vw,2.15rem) !important;
  }
}

/* Services page */
.mg-service-page-title{
  font-size:clamp(2.15rem,4.15vw,4.15rem) !important;
}
.mg-service-circulation-title{
  font-size:clamp(1.9rem,3.1vw,2.9rem) !important;
  line-height:1.28 !important;
}
.mg-service-contact-title{
  font-size:clamp(1.55rem,2.3vw,2.15rem) !important;
  line-height:1.4 !important;
}
@media (min-width:981px){
  .mg-service-contact-title{
    max-width:620px;
  }
}

/* Flow page: desktop one-line headings */
.mg-flow-page-title{
  font-size:clamp(2rem,3.5vw,3.15rem) !important;
  line-height:1.2 !important;
}
.mg-flow-intro-title{
  font-size:clamp(1.85rem,2.85vw,2.7rem) !important;
}
@media (min-width:981px){
  .mg-flow-page-title,
  .mg-flow-intro-title{
    white-space:nowrap;
  }
  .mg-flow-page__intro{
    max-width:980px !important;
  }
}

/* Company philosophy: one line on desktop */
.mg-company-philosophy-title{
  font-size:clamp(1.95rem,3.45vw,3.45rem) !important;
  line-height:1.25 !important;
}
@media (min-width:981px){
  .mg-company-philosophy__panel{
    max-width:1120px !important;
  }
  .mg-company-philosophy-title{
    white-space:nowrap;
  }
}

/* Brand page */
.mg-brand-page-title{
  font-size:clamp(2.25rem,4vw,3.9rem) !important;
  line-height:1.15 !important;
}
.mg-brand-identity-title{
  font-size:clamp(2rem,3.4vw,3.15rem) !important;
  line-height:1.25 !important;
}
@media (min-width:981px){
  .mg-brand-page-title{
    white-space:nowrap;
  }
}

/* General desktop title restraint for a more unified site */
@media (min-width:981px){
  .mg-title{
    font-size:clamp(1.95rem,3.2vw,3rem);
    line-height:1.25;
  }
  .mg-section__head{
    max-width:880px;
  }
}

/* Mobile/tablet: never force nowrap; keep natural readable wrapping */
@media (max-width:980px){
  .mg-home-transparency-title,
  .mg-home-about-title,
  .mg-home-contact-title,
  .mg-contact-band-title,
  .mg-flow-page-title,
  .mg-flow-intro-title,
  .mg-company-philosophy-title,
  .mg-brand-page-title{
    white-space:normal !important;
    word-break:normal;
    overflow-wrap:anywhere;
  }
  .mg-home-hero-title{
    font-size:clamp(2.55rem,8.2vw,3.8rem) !important;
  }
}

@media (max-width:680px){
  .mg-home-hero-title{
    font-size:clamp(2.35rem,11vw,3.25rem) !important;
  }
  .mg-service-page-title,
  .mg-flow-page-title,
  .mg-brand-page-title{
    font-size:clamp(2rem,9vw,2.7rem) !important;
  }
  .mg-company-philosophy-title,
  .mg-brand-identity-title,
  .mg-service-circulation-title{
    font-size:clamp(1.8rem,7.8vw,2.45rem) !important;
  }
}


/* ==========================================================================
   v1.8.4 Tokyo23 archive titles / area visual / archive CTAs
   ========================================================================== */

/* Tokyo23 archive titles: exactly 2 lines on desktop */
.mg-t23-archive-hero .mg-t23-archive-title{
  max-width:980px;
  margin:8px 0 18px;
  color:var(--mg-navy-950);
  font-size:clamp(2rem,3.55vw,3.6rem);
  line-height:1.18;
  letter-spacing:-.035em;
}
.mg-t23-archive-title span{
  display:block;
  white-space:nowrap;
}
@media(max-width:760px){
  .mg-t23-archive-hero .mg-t23-archive-title{
    font-size:clamp(1.65rem,7.1vw,2.35rem);
    line-height:1.25;
    letter-spacing:-.025em;
  }
  .mg-t23-archive-title span{
    white-space:normal;
  }
}

/* Area visual should show the map-like graphic without aggressive cropping */
.mg-area-tokyo-feature__image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:linear-gradient(145deg,#f8fcfe,#edf8fb);
}
.mg-area-tokyo-feature__image img{
  width:100%;
  height:auto;
  max-height:390px;
  object-fit:contain;
  object-position:center;
}
@media(max-width:980px){
  .mg-area-tokyo-feature__image{
    min-height:0;
    max-height:none;
    padding:18px;
  }
  .mg-area-tokyo-feature__image img{
    max-height:none;
  }
}
@media(max-width:680px){
  .mg-area-tokyo-feature__image{
    min-height:0;
    padding:12px;
  }
}

/* Archive CTA spacing */
.mg-archive-contact-band{
  margin-top:0;
}
.mg-news-archive + .mg-archive-contact-band,
.mg-case-archive + .mg-archive-contact-band{
  border-top:1px solid rgba(255,255,255,.12);
}


/* ==========================================================================
   v1.8.5 Tokyo23 archive introductory sections
   ========================================================================== */
.mg-t23-guide-intro{
  padding:68px 0 28px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
}
.mg-t23-guide-intro__head,
.mg-t23-guide-flow-band__head{
  margin-bottom:28px;
}
.mg-t23-guide-intro__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.92fr);
  gap:24px;
  align-items:stretch;
}
.mg-t23-guide-card{
  border:1px solid var(--mg-line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 34px rgba(5,72,122,.06);
}
.mg-t23-guide-card--definition{
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:20px;
  padding:28px;
}
.mg-t23-guide-card__icon{
  width:86px;height:86px;
  display:grid;place-items:center;
  border-radius:24px;
  background:linear-gradient(145deg,#0a77ab,#4fb7de);
  color:#fff;
}
.mg-t23-guide-card__icon .mg-icon{width:44px;height:44px}
.mg-t23-guide-card__body h3,
.mg-t23-guide-card--points h3,
.mg-t23-flow-card h3{
  margin:0 0 12px;
  color:var(--mg-navy-950);
  font-size:1.28rem;
  line-height:1.5;
}
.mg-t23-guide-card__body p{
  margin:0 0 12px;
  color:var(--mg-ink);
  line-height:1.9;
}
.mg-t23-guide-card__body p:last-child{margin-bottom:0}
.mg-t23-guide-card--points{
  padding:26px 24px;
  background:linear-gradient(180deg,#fafdff 0%,#f2faff 100%);
}
.mg-t23-guide-points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
.mg-t23-guide-points li{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(5,72,122,.08);
}
.mg-t23-guide-points span{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:16px;
  background:#e7f6fd;
  color:var(--mg-blue-700);
  font-weight:900;
  letter-spacing:.06em;
}
.mg-t23-guide-points strong{display:block;margin-bottom:5px;color:var(--mg-navy-950)}
.mg-t23-guide-points p{margin:0;color:var(--mg-muted);font-size:.92rem;line-height:1.7}

.mg-t23-guide-flow-band{
  padding:28px 0 56px;
  background:linear-gradient(180deg,#f8fcff 0%,#ffffff 100%);
}
.mg-t23-guide-flow-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.mg-t23-flow-card{
  position:relative;
  padding:24px 20px 22px;
  border-radius:24px;
  background:linear-gradient(165deg,#ffffff 0%,#f5fbff 100%);
  border:1px solid var(--mg-line);
  box-shadow:0 14px 32px rgba(5,72,122,.05);
}
.mg-t23-flow-card__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:6px 11px;
  border-radius:999px;
  background:var(--mg-navy-950);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
}
.mg-t23-flow-card__icon{
  width:58px;height:58px;
  display:grid;place-items:center;
  margin:18px 0 14px;
  border-radius:18px;
  background:#e9f8ff;
  color:var(--mg-blue-700);
}
.mg-t23-flow-card__icon .mg-icon{width:28px;height:28px}
.mg-t23-flow-card p{
  margin:0;
  color:var(--mg-muted);
  line-height:1.78;
  font-size:.93rem;
}

@media(max-width:1180px){
  .mg-t23-guide-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
  .mg-t23-guide-intro{padding:54px 0 20px;}
  .mg-t23-guide-intro__grid{grid-template-columns:1fr;}
  .mg-t23-guide-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .mg-t23-guide-intro{padding:46px 0 14px;}
  .mg-t23-guide-card--definition{grid-template-columns:1fr;padding:22px;}
  .mg-t23-guide-card__icon{width:72px;height:72px;border-radius:20px;}
  .mg-t23-guide-card__icon .mg-icon{width:38px;height:38px}
  .mg-t23-guide-card__body h3,
  .mg-t23-guide-card--points h3,
  .mg-t23-flow-card h3{font-size:1.1rem;line-height:1.55;}
  .mg-t23-guide-points li{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:12px;}
  .mg-t23-guide-points span{width:42px;height:42px;border-radius:14px;font-size:.74rem;}
  .mg-t23-guide-flow-band{padding:18px 0 42px;}
  .mg-t23-guide-flow-grid{grid-template-columns:1fr;gap:14px;}
  .mg-t23-flow-card{padding:20px 18px;}
}


/* ==========================================================================
   v1.8.6 Tokyo23 archive SEO copy, supplemental imagery, and stronger ward CTAs
   ========================================================================== */
.mg-t23-archive-hero__actions{margin-top:20px}
.mg-t23-keywords{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.mg-t23-keywords li{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(5,72,122,.1);
  background:rgba(255,255,255,.72);
  color:var(--mg-navy-950);
  font-size:.8rem;
  font-weight:800;
  line-height:1.35;
  box-shadow:0 8px 22px rgba(5,72,122,.04);
}
.mg-t23-guide-card--definition{
  grid-template-columns:1fr;
  padding:0;
  overflow:hidden;
}
.mg-t23-guide-card__media{margin:0;height:260px;background:#e8f4fa;overflow:hidden}
.mg-t23-guide-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.mg-t23-guide-card__content{display:grid;grid-template-columns:86px minmax(0,1fr);gap:20px;padding:28px}
.mg-t23-guide-highlight{
  display:grid;
  grid-template-columns:minmax(300px,.96fr) minmax(0,1.08fr);
  gap:0;
  overflow:hidden;
  margin:0 0 24px;
  border:1px solid var(--mg-line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 34px rgba(5,72,122,.06);
}
.mg-t23-guide-highlight__media{margin:0;min-height:280px;background:#e9f5fb}
.mg-t23-guide-highlight__media img{width:100%;height:100%;object-fit:cover;display:block}
.mg-t23-guide-highlight__body{padding:28px 30px;display:flex;flex-direction:column;justify-content:center}
.mg-t23-guide-highlight__body h3{margin:8px 0 14px;color:var(--mg-navy-950);font-size:1.35rem;line-height:1.5}
.mg-t23-guide-highlight__body ul{margin:0;padding-left:1.2rem;color:var(--mg-ink)}
.mg-t23-guide-highlight__body li{margin:0 0 12px;line-height:1.85}
.mg-t23-guide-highlight__body li:last-child{margin-bottom:0}
.mg-t23-select-prompt{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin:0 0 22px;
  padding:20px 22px;
  border-radius:22px;
  background:linear-gradient(145deg,#f5fbff,#ffffff);
  border:1px solid var(--mg-line);
}
.mg-t23-select-prompt__icon{
  width:72px;height:72px;display:grid;place-items:center;border-radius:22px;
  background:linear-gradient(145deg,#0a77ab,#4fb7de);color:#fff;
}
.mg-t23-select-prompt__icon .mg-icon{width:36px;height:36px}
.mg-t23-select-prompt__body h3{margin:0 0 6px;color:var(--mg-navy-950);font-size:1.18rem;line-height:1.5}
.mg-t23-select-prompt__body p{margin:0;color:var(--mg-muted);line-height:1.85}
.mg-t23-ward-card--thumb small{font-size:.6rem;letter-spacing:.1em}
.mg-t23-ward-card--thumb strong{line-height:1.45}
.mg-t23-ward-card--thumb span{font-size:.74rem;line-height:1.55}
.mg-t23-ward-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:26px;
  padding:28px 30px;
  border-radius:28px;
  background:linear-gradient(145deg,#0b4f77,#0c73a3 55%,#4bb5dd 100%);
  color:#fff;
  box-shadow:0 18px 36px rgba(5,72,122,.12);
}
.mg-t23-ward-cta .mg-eyebrow{color:#b9eeff}
.mg-t23-ward-cta h3{margin:8px 0 8px;color:#fff;font-size:1.45rem;line-height:1.5}
.mg-t23-ward-cta p{margin:0;color:rgba(255,255,255,.88);line-height:1.85}
.mg-t23-ward-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.mg-t23-ward-cta .mg-btn--ghost{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.06)}
.mg-t23-ward-cta .mg-btn--ghost:hover{background:rgba(255,255,255,.14)}
@media(max-width:980px){
  .mg-t23-keywords{gap:8px}
  .mg-t23-guide-card__content{grid-template-columns:1fr;padding:24px}
  .mg-t23-guide-highlight{grid-template-columns:1fr}
  .mg-t23-guide-highlight__media{min-height:240px}
  .mg-t23-select-prompt{grid-template-columns:1fr}
  .mg-t23-select-prompt__icon{width:64px;height:64px;border-radius:20px}
  .mg-t23-ward-cta{grid-template-columns:1fr}
  .mg-t23-ward-cta__actions{justify-content:flex-start}
}
@media(max-width:680px){
  .mg-t23-keywords li{padding:9px 12px;font-size:.74rem}
  .mg-t23-guide-card__media{height:220px}
  .mg-t23-guide-card__content{padding:20px}
  .mg-t23-guide-highlight{margin-bottom:18px;border-radius:22px}
  .mg-t23-guide-highlight__media{min-height:210px}
  .mg-t23-guide-highlight__body{padding:22px 18px}
  .mg-t23-guide-highlight__body h3{font-size:1.15rem}
  .mg-t23-select-prompt{padding:18px}
  .mg-t23-select-prompt__body h3{font-size:1.04rem}
  .mg-t23-ward-card--thumb span{font-size:.7rem}
  .mg-t23-ward-cta{padding:22px 18px;border-radius:22px}
  .mg-t23-ward-cta h3{font-size:1.16rem}
}


/* ==========================================================================
   v1.8.7 Tokyo23 individual SEO reinforcement and two-line hero titles
   ========================================================================== */
.mg-t23-guide-hero__overlay .mg-t23-single-title{
  max-width:760px;
  margin:8px 0 14px;
  color:#fff;
  font-size:clamp(1.82rem,3.15vw,3.15rem);
  line-height:1.2;
  letter-spacing:-.035em;
}
.mg-t23-single-title span{
  display:block;
  white-space:nowrap;
}
.mg-t23-local-summary{
  margin-bottom:18px;
  padding:26px 28px;
  border-radius:22px;
  background:linear-gradient(145deg,#f2faff 0%,#ffffff 75%);
  border:1px solid var(--mg-line);
  box-shadow:0 9px 25px rgba(5,72,122,.045);
}
.mg-t23-local-summary h2{
  margin:7px 0 12px;
  color:var(--mg-navy-950);
  font-size:1.42rem;
  line-height:1.5;
}
.mg-t23-local-summary p{
  margin:0;
  color:var(--mg-ink);
  line-height:1.9;
}
.mg-t23-local-summary__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:18px;
}
.mg-t23-local-summary__links a{
  display:inline-flex;
  align-items:center;
  padding-bottom:3px;
  border-bottom:1px solid rgba(9,112,163,.28);
  color:var(--mg-blue-700);
  font-size:.79rem;
  font-weight:900;
  text-decoration:none;
}

/* Stronger, more scannable ward cards */
.mg-t23-ward-grid{
  gap:18px;
}
.mg-t23-ward-card--thumb{
  border:1px solid #d9e8ee;
  box-shadow:0 10px 28px rgba(5,72,122,.055);
}
.mg-t23-ward-card--thumb:hover{
  border-color:#92cce0;
  box-shadow:0 17px 36px rgba(5,72,122,.11);
}
.mg-t23-ward-card--thumb>div{
  min-height:116px;
  padding:15px 16px 16px;
}
.mg-t23-ward-card--thumb small{
  color:#5e8a98;
  font-size:.62rem;
  letter-spacing:.04em;
}
.mg-t23-ward-card--thumb strong{
  margin-top:5px;
  color:var(--mg-navy-950);
  font-size:1.02rem;
  line-height:1.45;
}
.mg-t23-ward-card--thumb span{
  margin-top:12px;
  color:var(--mg-blue-700);
  font-weight:900;
}

.mg-t23-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.mg-t23-cta .mg-btn--ghost{
  border-color:rgba(255,255,255,.48);
  color:#fff;
  background:rgba(255,255,255,.08);
}

@media(max-width:1100px){
  .mg-t23-guide-hero__overlay .mg-t23-single-title{
    font-size:clamp(1.7rem,3vw,2.65rem);
  }
}
@media(max-width:760px){
  .mg-t23-guide-hero__overlay .mg-t23-single-title{
    max-width:100%;
    font-size:clamp(1.35rem,5.65vw,1.95rem) !important;
    line-height:1.28 !important;
    letter-spacing:-.02em !important;
  }
  .mg-t23-single-title span{
    white-space:nowrap;
  }
  .mg-t23-local-summary{
    padding:21px 18px;
  }
  .mg-t23-local-summary h2{
    font-size:1.17rem;
  }
  .mg-t23-local-summary__links{
    flex-direction:column;
    align-items:flex-start;
  }
  .mg-t23-ward-card--thumb>div{
    min-height:108px;
  }
  .mg-t23-ward-card--thumb strong{
    font-size:.95rem;
  }
  .mg-t23-cta__actions{
    justify-content:flex-start;
  }
}
@media(max-width:380px){
  .mg-t23-guide-hero__overlay .mg-t23-single-title{
    font-size:1.28rem !important;
  }
}


/* ==========================================================================
   v1.8.8 Tokyo23 ward-specific case studies
   ========================================================================== */
.mg-t23-local-cases{
  padding:76px 0 84px;
  background:linear-gradient(180deg,#f2faff 0%,#ffffff 100%);
}
.mg-t23-local-cases__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
}
.mg-t23-local-cases__head .mg-lead{max-width:800px}
.mg-t23-cases__all-link{
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(5,97,143,.35);
  color:var(--mg-blue-700);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}
.mg-t23-case-card{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--mg-line);
  box-shadow:0 14px 34px rgba(5,72,122,.06);
}
.mg-t23-case-card__image{
  position:relative;
  display:block;
  height:220px;
  overflow:hidden;
  background:#eaf4f8;
}
.mg-t23-case-card__image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s ease;
}
.mg-t23-case-card:hover .mg-t23-case-card__image img{transform:scale(1.035)}
.mg-t23-case-card__local{
  position:absolute;
  left:14px;bottom:14px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(5,60,91,.88);
  color:#fff;
  font-size:.7rem;
  font-weight:900;
  backdrop-filter:blur(4px);
}
.mg-t23-case-card__body{padding:21px 21px 23px}
.mg-t23-case-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px}
.mg-t23-case-card__meta span{
  padding:5px 9px;
  border-radius:999px;
  background:#eaf8fe;
  color:var(--mg-blue-700);
  font-size:.68rem;
  font-weight:850;
}
.mg-t23-case-card h3{margin:0 0 10px;font-size:1.05rem;line-height:1.55}
.mg-t23-case-card h3 a{color:var(--mg-navy-950)}
.mg-t23-case-card p{margin:0;color:var(--mg-muted);font-size:.84rem;line-height:1.75}
.mg-t23-case-card__link{
  display:inline-flex;
  gap:12px;
  margin-top:16px;
  color:var(--mg-blue-700);
  font-size:.75rem;
  font-weight:900;
}
.mg-t23-local-cases__cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:28px;
  padding:26px 28px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--mg-line);
  box-shadow:0 12px 30px rgba(5,72,122,.05);
}
.mg-t23-local-cases__cta h3{margin:7px 0 7px;color:var(--mg-navy-950);font-size:1.25rem;line-height:1.5}
.mg-t23-local-cases__cta p{margin:0;color:var(--mg-muted);line-height:1.8}
.mg-t23-local-cases__cta .mg-btn{white-space:nowrap}
@media(max-width:980px){
  .mg-t23-local-cases__head,
  .mg-t23-local-cases__cta{grid-template-columns:1fr}
  .mg-t23-cases__all-link{justify-self:start}
  .mg-t23-local-cases__cta .mg-btn{justify-self:start}
}
@media(max-width:680px){
  .mg-t23-local-cases{padding:56px 0 62px}
  .mg-t23-local-cases__head{gap:16px}
  .mg-t23-case-card__image{height:205px}
  .mg-t23-local-cases__cta{padding:21px 18px;border-radius:20px}
  .mg-t23-local-cases__cta h3{font-size:1.08rem}
  .mg-t23-local-cases__cta .mg-btn{width:100%;justify-content:center;white-space:normal;text-align:center}
}


/* ==========================================================================
   v1.8.9 Case / service title normalization and related case sections
   ========================================================================== */

/* Keep detailed-page hero titles consistent with the rest of the site. */
.mg-case-single__hero h1{
  font-size:clamp(1.9rem,3.2vw,3.05rem);
  line-height:1.28;
  letter-spacing:-.025em;
}
.mg-service-hero h1{
  font-size:clamp(2rem,3.35vw,3.25rem);
  line-height:1.24;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}

/* Fix white-on-white button inside the dark case contact box. */
.mg-case-single__aside .mg-contact-box .mg-btn--contact{
  background:#fff;
  color:var(--mg-navy-900)!important;
  border-color:#fff;
}
.mg-case-single__aside .mg-contact-box .mg-btn--contact:hover{
  color:var(--mg-navy-950)!important;
  background:#f1f9fd;
}

/* Related case studies shared by case detail and service detail pages. */
.mg-related-cases{
  padding:72px 0 82px;
  background:linear-gradient(180deg,#f5fbff 0%,#fff 100%);
  border-top:1px solid var(--mg-line);
}
.mg-related-cases--service{
  background:#fff;
}
.mg-related-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.mg-related-case-card{
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--mg-line);
  box-shadow:0 14px 34px rgba(5,72,122,.065);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mg-related-case-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(5,72,122,.1);
}
.mg-related-case-card__image{
  display:block;
  height:215px;
  overflow:hidden;
  background:#e9f5fa;
}
.mg-related-case-card__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .3s ease;
}
.mg-related-case-card:hover .mg-related-case-card__image img{
  transform:scale(1.035);
}
.mg-related-case-card__body{
  padding:22px 22px 24px;
}
.mg-related-case-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:11px;
}
.mg-related-case-card__meta span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:var(--mg-sky-50);
  color:var(--mg-blue-700);
  font-size:.68rem;
  font-weight:850;
  line-height:1.35;
}
.mg-related-case-card h3{
  margin:0 0 10px;
  color:var(--mg-navy-950);
  font-size:1.14rem;
  line-height:1.55;
}
.mg-related-case-card h3 a{
  color:inherit;
}
.mg-related-case-card p{
  margin:0 0 16px;
  color:var(--mg-muted);
  font-size:.88rem;
  line-height:1.8;
}
.mg-related-case-card__link{
  font-size:.84rem;
  font-weight:850;
}
.mg-related-cases__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:30px;
}

@media(max-width:980px){
  .mg-related-case-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mg-case-single__hero h1{
    font-size:clamp(1.8rem,5vw,2.65rem);
  }
  .mg-service-hero h1{
    font-size:clamp(1.85rem,5vw,2.75rem);
  }
}
@media(max-width:680px){
  .mg-case-single__hero h1{
    font-size:clamp(1.65rem,7.2vw,2.15rem);
    line-height:1.32;
  }
  .mg-service-hero h1{
    font-size:clamp(1.7rem,7.4vw,2.2rem);
    line-height:1.3;
  }
  .mg-related-cases{
    padding:54px 0 62px;
  }
  .mg-related-case-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .mg-related-case-card__image{
    height:205px;
  }
  .mg-related-cases__actions{
    justify-content:stretch;
  }
  .mg-related-cases__actions .mg-btn{
    width:100%;
  }
}


/* ==========================================================================
   v1.9.0 Corporate page: 3 current services
   ========================================================================== */
.mg-business-hero p{max-width:850px}
.mg-business-nav{padding:66px 0;background:#fff}
.mg-business-nav__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mg-business-nav__card{display:flex;min-height:230px;flex-direction:column;padding:26px;border:1px solid var(--mg-line);border-radius:26px;background:linear-gradient(145deg,#fff,#f5fbff);box-shadow:0 14px 34px rgba(5,72,122,.055);transition:.2s ease}
.mg-business-nav__card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(5,72,122,.09)}
.mg-business-nav__card>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#e8f7fd;color:var(--mg-blue-700)}
.mg-business-nav__card .mg-icon{width:30px;height:30px}
.mg-business-nav__card strong{margin:18px 0 8px;color:var(--mg-navy-950);font-size:1.3rem;line-height:1.5}
.mg-business-nav__card small{color:var(--mg-muted);font-size:.9rem;line-height:1.75}
.mg-business-nav__card b{margin-top:auto;padding-top:16px;color:var(--mg-blue-700);font-size:.84rem}
.mg-business-service{padding:78px 0;background:#fff;scroll-margin-top:100px}
.mg-business-service--tint{background:#f5fbff}
.mg-business-service__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:42px;align-items:center;margin-bottom:34px}
.mg-business-service__copy h2{margin:8px 0 8px;color:var(--mg-navy-950);font-size:clamp(2rem,3.2vw,3.15rem);line-height:1.25}
.mg-business-service__copy h3{margin:0 0 15px;color:var(--mg-blue-700);font-size:1.25rem;line-height:1.55}
.mg-business-service__copy p{margin:0;color:var(--mg-ink);line-height:1.95}
.mg-business-service__hero figure{margin:0;height:330px;overflow:hidden;border-radius:28px;box-shadow:0 18px 42px rgba(5,72,122,.1)}
.mg-business-service__hero img{width:100%;height:100%;object-fit:cover;display:block}
.mg-business-service__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:24px}
.mg-business-box{padding:28px;border:1px solid var(--mg-line);border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(5,72,122,.045)}
.mg-business-box h3{margin:0 0 18px;color:var(--mg-navy-950);font-size:1.25rem}
.mg-business-checklist,.mg-business-problems{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mg-business-checklist li{display:flex;gap:10px;align-items:flex-start;line-height:1.7}
.mg-business-checklist .mg-icon{flex:none;width:20px;height:20px;margin-top:3px;color:var(--mg-blue-700)}
.mg-business-problems li{position:relative;padding-left:19px;line-height:1.75}
.mg-business-problems li:before{content:"";position:absolute;left:2px;top:.73em;width:7px;height:7px;border-radius:50%;background:var(--mg-blue-700)}
.mg-business-note{margin:17px 0 0;color:var(--mg-muted);font-size:.82rem;line-height:1.7}
.mg-business-point{display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:start;padding:28px;border-radius:26px;background:linear-gradient(145deg,#eaf8fe,#fff);border:1px solid var(--mg-line)}
.mg-business-point__icon{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:var(--mg-navy-900);color:#fff}
.mg-business-point__icon .mg-icon{width:35px;height:35px}
.mg-business-point h3{margin:7px 0 3px;color:var(--mg-navy-950);font-size:1.35rem}
.mg-business-point h4{margin:0 0 10px;color:var(--mg-blue-700);font-size:1rem}
.mg-business-point p{margin:0;line-height:1.9}
.mg-business-flow{margin-top:34px}
.mg-business-flow__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.mg-business-flow__grid article{padding:20px;border:1px solid var(--mg-line);border-radius:20px;background:#fff}
.mg-business-flow__grid article>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--mg-navy-950);color:#fff;font-size:.7rem;font-weight:900}
.mg-business-flow__grid h4{margin:14px 0 8px;color:var(--mg-navy-950);font-size:1rem;line-height:1.5}
.mg-business-flow__grid p{margin:0;color:var(--mg-muted);font-size:.84rem;line-height:1.75}
.mg-business-closing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;margin-top:36px;padding:38px 40px;border-radius:28px;background:linear-gradient(135deg,#062f55 0%,#073d6d 58%,#07538c 100%);color:#fff;box-shadow:0 20px 46px rgba(4,47,85,.15);overflow:hidden;position:relative}
.mg-business-closing:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-105px;top:-120px;background:rgba(35,164,230,.11);pointer-events:none}
.mg-business-closing__content{position:relative;z-index:1;max-width:900px}
.mg-business-closing__eyebrow{display:inline-block;margin-bottom:9px;color:#78d1ff;font-size:.76rem;font-weight:800;letter-spacing:.15em}
.mg-business-closing h3{margin:0 0 7px;color:#fff;font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1.35}
.mg-business-closing h4{margin:0 0 18px;color:#bde7ff;font-size:1.02rem;line-height:1.65}
.mg-business-closing p{margin:0;color:rgba(255,255,255,.9);line-height:1.9}
.mg-business-closing__text{max-width:880px}
.mg-business-closing__problems{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 14px}
.mg-business-closing__problems span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.9rem;font-weight:700}
.mg-business-closing__problems .mg-icon{width:16px;height:16px;color:#67d1ff}
.mg-business-closing__consult{margin-top:4px!important;color:#d9f1ff!important;font-weight:700}
.mg-business-closing__highlight{margin-top:20px!important;padding:15px 18px;border-left:4px solid #47bff5;border-radius:0 14px 14px 0;background:rgba(255,255,255,.08);color:#fff!important;font-size:1.05rem;font-weight:800}
.mg-business-closing__final{margin-top:18px!important;color:#fff!important;font-size:1.05rem;font-weight:800}
.mg-business-closing__action{position:relative;z-index:1;min-width:310px}
.mg-business-closing .mg-btn{width:100%;min-height:58px;padding:15px 25px;border-radius:999px;background:linear-gradient(135deg,#0878c7,#1599e1);border-color:transparent;box-shadow:0 10px 25px rgba(0,119,196,.28);font-size:1rem;font-weight:800;text-align:center;white-space:normal}
.mg-business-closing .mg-btn:hover{transform:translateY(-2px)}
@media(max-width:980px){
  .mg-business-nav__grid{grid-template-columns:1fr}
  .mg-business-nav__card{min-height:0}
  .mg-business-service__hero{grid-template-columns:1fr}
  .mg-business-service__hero figure{height:300px}
  .mg-business-flow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mg-business-closing{grid-template-columns:1fr;align-items:flex-start}
  .mg-business-closing__action{min-width:0;width:100%;max-width:430px}
}
@media(max-width:680px){
  .mg-business-nav{padding:50px 0}
  .mg-business-service{padding:58px 0}
  .mg-business-service__copy h2{font-size:clamp(1.75rem,7vw,2.2rem)}
  .mg-business-service__hero{gap:24px}
  .mg-business-service__hero figure{height:230px;border-radius:22px}
  .mg-business-service__columns{grid-template-columns:1fr}
  .mg-business-box{padding:21px 18px}
  .mg-business-point{grid-template-columns:1fr;padding:22px 18px}
  .mg-business-flow__grid{grid-template-columns:1fr}
  .mg-business-closing{padding:28px 20px;border-radius:22px}
  .mg-business-closing h3{font-size:1.5rem}
  .mg-business-closing__problems{display:grid;grid-template-columns:1fr;width:100%}
  .mg-business-closing__problems span{border-radius:12px}
  .mg-business-closing__action{max-width:none}
  .mg-business-closing .mg-btn{width:100%}
}


/* ==========================================================================
   v1.9.5 Flow page visual refresh
   ========================================================================== */
.mg-flow-detail{
  grid-template-columns:70px 92px 220px minmax(0,1fr);
  align-items:center;
}
.mg-flow-detail__image{
  margin:0;
  width:220px;
  aspect-ratio:3/2;
  overflow:hidden;
  border-radius:20px;
  background:#eef7fb;
  border:1px solid var(--mg-line);
}
.mg-flow-detail__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.mg-flow-detail__body{
  min-width:0;
}
@media(max-width:980px){
  .mg-flow-detail{
    grid-template-columns:60px 76px minmax(180px,220px) minmax(0,1fr);
    gap:16px;
  }
  .mg-flow-detail__icon{width:68px;height:68px;border-radius:20px}
  .mg-flow-detail__image{width:100%}
}
@media(max-width:760px){
  .mg-flow-detail{
    grid-template-columns:48px 1fr;
    align-items:start;
    padding:22px 18px;
  }
  .mg-flow-detail__icon{
    grid-row:2;
    grid-column:1;
    width:46px;
    height:46px;
    border-radius:14px;
  }
  .mg-flow-detail__image{
    grid-column:2;
    grid-row:1;
    width:100%;
    margin-bottom:14px;
  }
  .mg-flow-detail__body{
    grid-column:2;
    grid-row:2 / span 2;
  }
}


/* v1.10.5: hide overlay captions on Tokyo23 section images */
.tokyo23-section-figure__caption,
.tokyo23-section__figure .tokyo23-section-figure__caption,
.tokyo23-section figure figcaption {
    display: none !important;
}



/* v1.10.9 Brand page refresh */
.mg-brand-question {
  padding: clamp(72px, 9vw, 128px) 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(42, 165, 218, .12), transparent 30%),
    linear-gradient(180deg, #f8fcff 0%, #ffffff 100%);
}
.mg-brand-question__inner {
  max-width: 980px;
  margin: 0 auto;
}
.mg-brand-question h2 {
  margin: 14px 0 28px;
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 1.28;
  letter-spacing: .02em;
  color: #123c69;
}
.mg-brand-question__copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.mg-brand-question__copy p {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  color: #40566b;
}
.mg-brand-action {
  background: #f5fbff;
}
.mg-brand-action__head {
  max-width: 820px;
  margin-bottom: 42px;
}
.mg-brand-action__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.mg-brand-action__grid article {
  padding: 28px 24px;
  border: 1px solid rgba(20, 83, 134, .11);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(20, 74, 116, .06);
}
.mg-brand-action__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 14px;
  background: #eaf7fd;
  color: #1479b8;
}
.mg-brand-action__icon svg {
  width: 25px;
  height: 25px;
}
.mg-brand-action__grid h3 {
  margin: 0 0 12px;
  color: #123c69;
  font-size: 20px;
}
.mg-brand-action__grid p {
  margin: 0;
  color: #53697d;
  line-height: 1.85;
}
.mg-brand-message__actions {
  flex-wrap: wrap;
}
@media (max-width: 920px) {
  .mg-brand-question__copy {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .mg-brand-action__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .mg-brand-question {
    padding: 58px 0;
  }
  .mg-brand-action__grid {
    grid-template-columns: 1fr;
  }
}


/* v1.11.2 Industrial-waste content enhancements */
.mg-industrial-item-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.mg-industrial-item-list span{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:14px 16px;
  border:1px solid rgba(15,94,146,.12);
  border-radius:14px;
  background:#fff;
  color:#173d5d;
  font-weight:700;
  box-shadow:0 8px 24px rgba(13,69,108,.05);
}
.mg-industrial-item-list .mg-icon{
  width:18px;
  height:18px;
  flex:none;
  color:#1382c5;
}
.mg-service-compliance{
  padding:0 0 clamp(68px,8vw,110px);
  background:#fff;
}
.mg-service-compliance__inner{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:34px 38px;
  border-radius:24px;
  background:linear-gradient(135deg,#07345e 0%,#075487 100%);
  box-shadow:0 18px 42px rgba(5,54,94,.14);
  color:#fff;
}
.mg-service-compliance__icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:20px;
  background:rgba(255,255,255,.10);
  color:#77d3ff;
}
.mg-service-compliance__icon svg{width:36px;height:36px}
.mg-service-compliance .mg-eyebrow{color:#7ad5ff}
.mg-service-compliance h2{
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(1.55rem,2.7vw,2.2rem);
}
.mg-service-compliance p{
  margin:0;
  max-width:920px;
  color:rgba(255,255,255,.9);
  line-height:1.9;
}
@media(max-width:900px){
  .mg-industrial-item-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .mg-industrial-item-list{grid-template-columns:1fr}
  .mg-service-compliance__inner{
    grid-template-columns:1fr;
    padding:28px 22px;
  }
  .mg-service-compliance__icon{width:58px;height:58px}
}




/* v1.11.4 Industrial-waste visual content */
.mg-service-editorial{
  padding: clamp(22px, 4vw, 36px) 0 clamp(72px, 8vw, 110px);
  background: linear-gradient(180deg, rgba(246,250,253,.72) 0%, rgba(255,255,255,1) 36%, rgba(246,250,253,.6) 100%);
}
.mg-service-editorial__row{
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(22px, 3vw, 40px);
  align-items: center;
  padding: clamp(18px, 2.5vw, 26px);
  margin: 0 auto clamp(20px, 2.8vw, 28px);
  max-width: 1100px;
  border: 1px solid rgba(13,77,117,.08);
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(10,55,93,.06);
}
.mg-service-editorial__row.is-reverse{
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
}
.mg-service-editorial__row.is-reverse .mg-service-editorial__media{
  order: 2;
}
.mg-service-editorial__row.is-reverse .mg-service-editorial__body{
  order: 1;
}
.mg-service-editorial__media{
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
}
.mg-service-editorial__media img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.mg-service-editorial__body h3{
  margin: 8px 0 12px;
  color: #123c69;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.55;
}
.mg-service-editorial__body p{
  margin: 0;
  color: #4e6478;
  line-height: 1.95;
  font-size: .98rem;
}
@media (max-width: 860px){
  .mg-service-editorial__row,
  .mg-service-editorial__row.is-reverse{
    grid-template-columns: 1fr;
  }
  .mg-service-editorial__row.is-reverse .mg-service-editorial__media,
  .mg-service-editorial__row.is-reverse .mg-service-editorial__body{
    order: initial;
  }
}

/* Version bump */


/* v1.11.5 Additional visuals for industrial-waste sections */
.mg-industrial-overview{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.mg-industrial-overview.has-visual{
  grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);
}
.mg-service-visual-card{
  border:1px solid rgba(18,60,105,.10);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 40px rgba(10,55,93,.06);
}
.mg-service-visual-card__media{margin:0}
.mg-service-visual-card__media img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.mg-service-visual-card__body{padding:20px 22px 22px}
.mg-service-visual-card__body h3{
  margin:0 0 10px;
  color:#123c69;
  font-size:1.12rem;
  line-height:1.6;
}
.mg-service-visual-card__body p{
  margin:0;
  color:#506578;
  line-height:1.9;
  font-size:.96rem;
}
.mg-service-visual-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.mg-service-visual-card__chips span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  border-radius:999px;
  background:#eaf6fd;
  color:#0f6298;
  font-weight:700;
  font-size:.87rem;
}
.mg-service-visual-card__list{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.mg-service-visual-card__list li{
  position:relative;
  padding-left:18px;
  color:#506578;
  line-height:1.8;
}
.mg-service-visual-card__list li::before{
  content:'';
  position:absolute;
  left:0;
  top:.75em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#16a0e1;
  transform:translateY(-50%);
}
.mg-service-visual-card--soft{background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%)}
.mg-service-visual-card--compact .mg-service-visual-card__media img{aspect-ratio:16/11}
.mg-service-troubles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.mg-service-trouble{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:18px 18px;
  border:1px solid rgba(18,60,105,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(10,55,93,.04);
}
.mg-service-trouble__icon{
  width:34px;
  height:34px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#eaf6fd;
  color:#1180c0;
}
.mg-service-trouble__icon .mg-icon{width:16px;height:16px}
.mg-service-trouble h3{
  margin:3px 0 0;
  font-size:1rem;
  line-height:1.7;
  color:#173d5d;
}
.mg-service-scope{
  margin-top:24px;
}
.mg-service-scope__item{
  border-radius:20px;
  border:1px solid rgba(18,60,105,.08);
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 28px rgba(10,55,93,.04);
}
@media (max-width: 980px){
  .mg-industrial-overview.has-visual{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .mg-service-troubles{grid-template-columns:1fr}
}


/* v1.12.2 Homepage representative portrait: avoid vertical cropping */
.mg-home-representative figure{
  height:420px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:linear-gradient(180deg,#eef4f6 0%,#d8e4e8 100%);
}
.mg-home-representative figure img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}
@media(max-width:1050px){
  .mg-home-representative figure{
    height:auto;
    min-height:390px;
  }
  .mg-home-representative figure img{
    min-height:390px;
    object-fit:contain;
    object-position:center bottom;
  }
}
@media(max-width:760px){
  .mg-home-representative figure{
    height:400px;
    min-height:0;
  }
  .mg-home-representative figure img{
    min-height:0;
  }
}
@media(max-width:480px){
  .mg-home-representative figure{
    height:350px;
  }
}


/* v1.12.3 SDGs page refresh */
.mg-sdgs-hero-v2{padding:clamp(70px,9vw,120px) 0;background:linear-gradient(135deg,#eefaff 0%,#fff 50%,#eefaf5 100%);overflow:hidden}
.mg-sdgs-hero-v2__inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:clamp(38px,6vw,76px);align-items:center}
.mg-sdgs-hero-v2__copy h1{margin:10px 0 18px;color:var(--mg-navy-950);font-size:clamp(2.45rem,5vw,4.6rem);line-height:1.12}
.mg-sdgs-hero-v2__copy p{max-width:720px;margin:0 0 28px;color:var(--mg-muted);font-size:1.05rem;line-height:2}
.mg-sdgs-hero-v2__icons{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;position:relative}
.mg-sdgs-hero-v2__icons:before{content:"";position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(39,188,194,.13),rgba(39,188,194,0) 68%);z-index:0}
.mg-sdgs-hero-v2__icons figure{position:relative;z-index:1;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(11,69,104,.10)}
.mg-sdgs-hero-v2__icons img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}

.mg-sdgs-intro-v2{padding:clamp(64px,8vw,96px) 0;background:#fff}
.mg-sdgs-intro-v2__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,68px);align-items:start}
.mg-sdgs-intro-v2__copy{padding:30px 34px;border:1px solid var(--mg-line);border-radius:26px;background:#f9fdff;box-shadow:0 14px 34px rgba(5,72,122,.05)}
.mg-sdgs-intro-v2__copy p{margin:0 0 16px;color:var(--mg-muted);line-height:1.95}
.mg-sdgs-intro-v2__copy p:last-of-type{margin-bottom:20px}
.mg-sdgs-intro-v2__links{display:flex;gap:18px;flex-wrap:wrap}
.mg-sdgs-intro-v2__links a{font-weight:800;color:var(--mg-blue-700)}

.mg-sdgs-actions-v2{padding:clamp(72px,8vw,110px) 0;background:linear-gradient(180deg,#f4fbff 0%,#fff 100%)}
.mg-sdgs-actions-v2__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:40px}
.mg-sdgs-action-v2{padding:28px;border:1px solid rgba(5,72,122,.09);border-radius:26px;background:#fff;box-shadow:0 16px 38px rgba(5,72,122,.055)}
.mg-sdgs-action-v2__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.mg-sdgs-action-v2__no{font-size:.75rem;font-weight:900;letter-spacing:.14em;color:#8fbfd7}
.mg-sdgs-action-v2__symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eaf7fd;color:var(--mg-blue-700)}
.mg-sdgs-action-v2__symbol .mg-icon{width:27px;height:27px}
.mg-sdgs-action-v2 h3{margin:0 0 14px;color:var(--mg-navy-950);font-size:clamp(1.15rem,2vw,1.42rem);line-height:1.5}
.mg-sdgs-action-v2 ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.mg-sdgs-action-v2 li{position:relative;padding-left:18px;color:var(--mg-muted);line-height:1.85}
.mg-sdgs-action-v2 li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:#19a5d9}
.mg-sdgs-action-v2__goals{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid rgba(5,72,122,.08)}
.mg-sdgs-action-v2__goals img{width:78px;height:78px;object-fit:cover;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.06)}

.mg-sdgs-message-v2{padding:clamp(70px,8vw,105px) 0;background:#fff}
.mg-sdgs-message-v2__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,6vw,76px);align-items:start;padding:clamp(30px,5vw,54px);border-radius:32px;background:linear-gradient(135deg,#07345e 0%,#075487 64%,#0a7e94 100%);color:#fff;box-shadow:0 20px 50px rgba(4,47,85,.15)}
.mg-sdgs-message-v2 .mg-eyebrow{color:#8fdcff}
.mg-sdgs-message-v2 h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.35;color:#fff}
.mg-sdgs-message-v2 p{margin:0;color:rgba(255,255,255,.9);line-height:2}
.mg-sdgs-message-v2__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mg-sdgs-message-v2 .mg-btn--outline{color:#fff;border-color:rgba(255,255,255,.45)}

.mg-sdgs-official-note{padding:0 0 80px;background:#fff}
.mg-sdgs-official-note .mg-container{padding-top:24px;border-top:1px solid var(--mg-line)}
.mg-sdgs-official-note p{margin:0 0 8px;color:#6b7e8d;font-size:.78rem;line-height:1.7}
.mg-sdgs-official-note a{font-weight:700}
.mg-sdgs-official-note__disclaimer{font-size:.72rem!important;color:#80909c!important}

@media(max-width:980px){
  .mg-sdgs-hero-v2__inner,.mg-sdgs-intro-v2__grid,.mg-sdgs-message-v2__inner{grid-template-columns:1fr}
  .mg-sdgs-hero-v2__icons{max-width:650px}
}
@media(max-width:720px){
  .mg-sdgs-actions-v2__grid{grid-template-columns:1fr}
  .mg-sdgs-hero-v2__icons{grid-template-columns:repeat(3,1fr);gap:8px}
  .mg-sdgs-action-v2{padding:23px 20px}
  .mg-sdgs-action-v2__goals img{width:68px;height:68px}
  .mg-sdgs-intro-v2__copy{padding:24px 20px}
}


/* v1.12.4 SDGs official 17-goal hero + per-action icons */
.mg-sdgs-hero-v2__icons--all{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  align-content:center;
}
.mg-sdgs-hero-v2__icons--all figure{
  margin:0;
  overflow:hidden;
  border-radius:10px;
  background:#fff;
  box-shadow:0 7px 18px rgba(8,55,92,.08);
}
.mg-sdgs-hero-v2__icons--all img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
.mg-sdgs-action-v2__goals{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:20px;
}
.mg-sdgs-action-v2__goals img{
  width:62px;
  height:62px;
  object-fit:cover;
  border-radius:7px;
  box-shadow:0 5px 14px rgba(8,55,92,.08);
}
@media(max-width:900px){
  .mg-sdgs-hero-v2__icons--all{grid-template-columns:repeat(6,minmax(0,1fr));}
}
@media(max-width:620px){
  .mg-sdgs-hero-v2__icons--all{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
  .mg-sdgs-action-v2__goals img{width:54px;height:54px;}
}


/* v1.12.5 Palau boccia activity report */
.mg-palau-report__hero{background:linear-gradient(135deg,#eefaff 0%,#f8fdff 56%,#eefaf5 100%)}
.mg-palau-report__hero .mg-news-single__hero-inner>p{max-width:820px;margin:18px 0 0;color:var(--mg-muted);font-size:1.02rem;line-height:1.9}
.mg-palau-report__intro{padding:clamp(62px,8vw,100px) 0;background:#fff}
.mg-palau-report__intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,74px);align-items:center}
.mg-palau-report__intro figure{margin:0;overflow:hidden;border-radius:28px;box-shadow:0 18px 44px rgba(8,65,104,.10)}
.mg-palau-report__intro figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mg-palau-report__intro h2,.mg-palau-report__section-head h2,.mg-palau-report__closing h2{color:var(--mg-navy-950);line-height:1.4}
.mg-palau-report__intro h2{margin:8px 0 18px;font-size:clamp(1.8rem,3.3vw,2.9rem)}
.mg-palau-report__intro p,.mg-palau-report__section-head p,.mg-palau-report__closing p{color:var(--mg-muted);line-height:1.95}
.mg-palau-report__project-name{margin-top:24px;padding:20px 22px;border-left:4px solid var(--mg-blue-600);border-radius:0 16px 16px 0;background:#f1f9fd}
.mg-palau-report__project-name small{display:block;margin-bottom:6px;color:var(--mg-blue-700);font-weight:850;letter-spacing:.08em}
.mg-palau-report__project-name strong{display:block;color:var(--mg-navy-950);font-size:1.05rem;line-height:1.75}
.mg-palau-report__activity{padding:clamp(64px,8vw,104px) 0;background:#fff}
.mg-palau-report__activity--tint{background:linear-gradient(180deg,#f5fbff 0%,#fff 100%)}
.mg-palau-report__section-head{max-width:880px;margin-bottom:30px}
.mg-palau-report__section-head h2{margin:8px 0 14px;font-size:clamp(1.65rem,3vw,2.5rem)}
.mg-palau-report__gallery{display:grid;gap:18px}
.mg-palau-report__gallery--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mg-palau-report__gallery--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mg-palau-report__gallery figure{margin:0;overflow:hidden;border-radius:20px;background:#eef5f8;box-shadow:0 12px 32px rgba(8,65,104,.07)}
.mg-palau-report__gallery img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.mg-palau-report__gallery--portrait{max-width:720px}
.mg-palau-report__gallery--portrait figure{background:#f6fafc}
.mg-palau-report__gallery--portrait img{aspect-ratio:3/4;object-fit:contain;background:#f6fafc}
.mg-palau-report__note{max-width:900px;margin:28px 0 0;padding:20px 24px;border-radius:18px;background:#eef9fe;color:#3c586d;line-height:1.9}
.mg-palau-report__discussion{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:54px;align-items:center}
.mg-palau-report__closing{padding:0 0 clamp(76px,8vw,110px);background:#fff}
.mg-palau-report__closing-box{padding:clamp(34px,5vw,56px);border-radius:32px;background:linear-gradient(135deg,#07345e 0%,#075487 64%,#0a7e94 100%);color:#fff;box-shadow:0 20px 50px rgba(4,47,85,.14)}
.mg-palau-report__closing .mg-eyebrow{color:#8fdcff}
.mg-palau-report__closing h2{margin:8px 0 18px;color:#fff;font-size:clamp(1.8rem,3.3vw,2.8rem)}
.mg-palau-report__closing p{max-width:900px;color:rgba(255,255,255,.9)}
.mg-palau-report__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.mg-palau-report__closing .mg-btn--outline{color:#fff;border-color:rgba(255,255,255,.45)}
.mg-sdgs-activity-report{padding:clamp(68px,8vw,104px) 0;background:linear-gradient(180deg,#fff 0%,#f5fbff 100%)}
.mg-sdgs-activity-report__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,64px);align-items:center;padding:clamp(24px,4vw,38px);border:1px solid rgba(5,72,122,.09);border-radius:30px;background:#fff;box-shadow:0 18px 44px rgba(5,72,122,.065)}
.mg-sdgs-activity-report__media{margin:0;overflow:hidden;border-radius:24px}
.mg-sdgs-activity-report__media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.mg-sdgs-activity-report__copy h2{margin:8px 0 16px;color:var(--mg-navy-950);font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.4}
.mg-sdgs-activity-report__copy p{margin:0 0 22px;color:var(--mg-muted);line-height:1.9}
@media(max-width:900px){
  .mg-palau-report__intro-grid,.mg-palau-report__discussion,.mg-sdgs-activity-report__inner{grid-template-columns:1fr}
  .mg-palau-report__gallery--three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mg-palau-report__gallery--portrait{max-width:760px}
}
@media(max-width:620px){
  .mg-palau-report__gallery--three,.mg-palau-report__gallery--two{grid-template-columns:1fr}
  .mg-palau-report__gallery--portrait img{aspect-ratio:4/3;object-fit:cover}
  .mg-palau-report__project-name strong br{display:none}
}


/* v1.12.6 Conversion / trust improvements */
.mg-contact-form-fallback{padding:26px;border:1px solid #cfe3ee;border-radius:18px;background:#f4fbff;text-align:center}.mg-contact-form-fallback strong{display:block;margin-bottom:8px;color:var(--mg-navy-950);font-size:1.2rem}.mg-contact-form-fallback p{margin:0 0 18px;color:var(--mg-muted)}
.mg-home-license-strip{position:relative;z-index:3;background:#fff;border-bottom:1px solid rgba(17,87,135,.10);box-shadow:0 10px 32px rgba(11,65,104,.05)}
.mg-home-license-strip__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding-top:20px;padding-bottom:20px}
.mg-home-license-strip__heading{display:flex;align-items:center;gap:12px;min-width:max-content}.mg-home-license-strip__heading small{display:block;color:var(--mg-blue-700);font-weight:900;font-size:.68rem;letter-spacing:.12em}.mg-home-license-strip__heading strong{display:block;margin-top:2px;color:var(--mg-navy-950);font-size:1.02rem}.mg-home-license-strip__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--mg-blue-600),var(--mg-navy-900));color:#fff}.mg-home-license-strip__icon svg{width:23px;height:23px}
.mg-home-license-strip__details{display:grid;gap:6px;min-width:0}.mg-home-license-strip__details p{display:flex;gap:12px;align-items:baseline;margin:0;color:#465f73;font-size:.82rem;line-height:1.55}.mg-home-license-strip__details strong{flex:none;color:var(--mg-navy-950);font-size:.82rem}.mg-home-license-strip__details span{min-width:0}.mg-home-license-strip__inner>a{display:inline-flex;align-items:center;gap:7px;color:var(--mg-blue-700);font-weight:850;font-size:.86rem;white-space:nowrap;text-decoration:none}.mg-home-license-strip__inner>a:hover{color:var(--mg-navy-950)}
.mg-mobile-fixed-cta{display:none}
@media(max-width:860px){.mg-home-license-strip__inner{grid-template-columns:1fr;gap:13px}.mg-home-license-strip__details p{display:grid;gap:2px}.mg-home-license-strip__inner>a{justify-self:start}}
@media(max-width:720px){body{padding-bottom:74px}.mg-mobile-fixed-cta{position:fixed;z-index:9999;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:8px;background:rgba(255,255,255,.97);border-top:1px solid rgba(11,66,104,.13);box-shadow:0 -10px 28px rgba(6,54,92,.12);backdrop-filter:blur(10px)}.mg-mobile-fixed-cta a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:8px 10px;border-radius:14px;text-decoration:none;font-weight:900;line-height:1.1}.mg-mobile-fixed-cta svg{width:21px;height:21px;flex:none}.mg-mobile-fixed-cta span{display:grid;gap:2px}.mg-mobile-fixed-cta small{font-size:.62rem;font-weight:800;opacity:.8}.mg-mobile-fixed-cta__phone{background:#eaf7fd;color:#07558a;border:1px solid #bee3f5}.mg-mobile-fixed-cta__form{background:linear-gradient(135deg,#0878c7,#1599e1);color:#fff;box-shadow:0 7px 18px rgba(8,120,199,.22)}.site-footer{padding-bottom:10px}}
