.page-hero{padding:72px 0;background:linear-gradient(135deg,#f5f6f8,#fff5f6)}
.page-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.page-hero h1{font-size:52px;line-height:1.18;margin:16px 0}
.page-hero p{font-size:18px;color:var(--muted);max-width:680px}
.page-hero-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.site-illustration{display:block;width:100%;height:auto;aspect-ratio:16/11}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:#777;margin-bottom:18px}
.breadcrumbs a:hover{color:var(--red)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:54px}
.info-panel{height:max-content;background:var(--pale);border:1px solid var(--line);border-radius:var(--radius);padding:25px}
.info-panel h2{margin-top:0}
.info-panel ul{padding-left:1.25em;margin-bottom:0}
.page-introduction{max-width:820px;margin-bottom:42px}
.service-overview-grid,.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-overview-card,.value-grid article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.service-overview-card{display:flex;min-width:0;flex-direction:column}
.service-overview-art{margin:-10px -10px 18px;padding:8px;border-radius:10px;background:var(--rose)}
.service-overview-art img,
.service-overview-art .site-illustration{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}
.service-overview-copy{display:flex;flex:1;flex-direction:column}
.service-overview-copy h2{font-size:21px;line-height:1.4;margin:0 0 12px}
.service-overview-copy p{color:var(--muted);font-size:14px}
.service-overview-copy .read{margin-top:auto}
.value-grid{grid-template-columns:repeat(3,1fr)}
.value-grid article>b{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:20px}
.value-grid article h2{font-size:21px}
.value-grid article p{color:var(--muted)}
.service-process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step;list-style:none;margin:0;padding:0}
.service-process article,.service-process-step{background:#fff;border-top:4px solid var(--red);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.service-process-step{display:flex;gap:18px}
.service-process-number{flex:0 0 auto;color:var(--red);font-size:22px;font-weight:800}
.service-process-step h2{font-size:21px;line-height:1.4;margin:0 0 12px}
.service-process-step p{color:var(--muted);font-size:14px}
.section-heading{max-width:820px;margin-bottom:34px}
.section-heading h2{font-size:40px;line-height:1.3;margin:14px 0}
.service-detail-content{max-width:900px}
.service-focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-focus-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.service-focus-card h3{margin-top:0}
.service-focus-card p,.service-boundary p{color:var(--muted)}
.service-advance-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.service-advance-steps li{background:var(--pale);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.service-advance-steps li>span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:800}
.service-faq details{max-width:900px;border-bottom:1px solid var(--line);padding:20px 0}
.service-faq summary{cursor:pointer;font-size:18px;font-weight:700}
.service-faq details p{color:var(--muted)}
.page-media-grid{display:grid;gap:18px;margin-top:30px}
.page-media-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-media-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-media-item{margin:0}
.page-media-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.knowledge-card .photo-card{margin-bottom:16px;padding:0;border-radius:12px;overflow:hidden;background:transparent;box-shadow:none}
.knowledge-card .photo-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.consult-cta{background:var(--navy);color:#fff}
.consult-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.consult-cta h2{font-size:40px;line-height:1.3;margin:14px 0}
.consult-cta p{color:rgba(255,255,255,.72)}
.main-nav li{position:relative}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:-12px;z-index:90;min-width:240px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:10px}
.main-nav .sub-menu li{padding:0}
.main-nav .sub-menu a{display:block;padding:9px 12px;border-radius:6px;white-space:nowrap}
.main-nav .sub-menu a:hover{background:var(--rose)}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.submenu-open>.sub-menu{display:block}
.main-nav .submenu-dismissed>.sub-menu{display:none!important}
.main-nav .submenu-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--red);cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(232,32,46,.35);outline-offset:3px}
@media(max-width:980px){.page-hero-grid,.content-grid{grid-template-columns:1fr}.page-hero-grid{gap:36px}.page-hero-art{max-width:640px}.service-overview-grid,.value-grid{grid-template-columns:1fr 1fr}.service-focus-grid{grid-template-columns:1fr 1fr}.page-media-grid.cols-3,.page-media-grid.cols-2{grid-template-columns:1fr 1fr}.main-nav .menu-item-has-children{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.main-nav .submenu-toggle{display:inline-flex}.main-nav .sub-menu{position:static;grid-column:1/-1;box-shadow:none;margin-top:8px}.main-nav .menu-item-has-children:not(.submenu-open)>.sub-menu{display:none}.main-nav .menu-item-has-children.submenu-open>.sub-menu{display:block}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:none}.main-nav li.submenu-open>.sub-menu{display:block}}
@media(max-width:640px){.page-hero{padding:52px 0}.page-hero h1{font-size:38px}.page-hero p{font-size:16px}.service-overview-grid,.value-grid,.service-process,.service-focus-grid,.service-advance-steps,.page-media-grid.cols-3,.page-media-grid.cols-2{grid-template-columns:1fr}.service-overview-card{padding:20px}.consult-cta-inner{align-items:flex-start;flex-direction:column}.consult-cta .button{width:100%}.content-grid{gap:32px}}

/* Editorial spacing for inner pages. Keep reading widths stable across templates. */
.content-page,
.content-page .section{background:#fff}
.page-hero{padding:84px 0 76px;background:linear-gradient(135deg,#f7f3f0 0%,#fff 62%,#fff7f7 100%)}
.page-hero-grid{gap:72px}
.page-hero-copy{min-width:0}
.page-hero h1{max-width:760px;font-size:54px;line-height:1.24;letter-spacing:0;word-break:keep-all}
.page-hero p{max-width:700px;margin:0;color:#606875;font-size:17px;line-height:1.9}
.page-hero-art{padding:12px;border-radius:18px}
.page-hero-photo{border-radius:13px;box-shadow:none}
.page-hero-photo img{display:block;width:100%;height:360px;min-height:0;aspect-ratio:4/3;object-fit:cover}
.breadcrumbs{line-height:1.5}
.page-introduction,.service-detail-content{max-width:900px}
.entry-content{font-size:16px;line-height:1.95;color:#303641}
.entry-content p{max-width:860px;margin:0 0 1.15em}
.entry-content h2,.entry-content h3{line-height:1.45;letter-spacing:0;word-break:keep-all}
.entry-content h2{margin:1.7em 0 .65em;font-size:32px}
.entry-content h3{margin:1.4em 0 .55em;font-size:22px}
.entry-content ul,.entry-content ol{padding-left:1.35em;margin:0 0 1.25em}
.content-grid{align-items:start}
.info-panel{line-height:1.8}
.service-overview-grid{align-items:stretch}
.service-overview-card{min-height:100%;padding:22px}
.service-overview-art{margin:-8px -8px 18px;padding:6px}
.service-overview-art img{height:190px;min-height:0}
.service-overview-copy h2{line-height:1.45;word-break:keep-all}
.service-overview-copy p{line-height:1.8;margin-top:0}
.service-process{align-items:stretch}
.service-process-step{min-height:220px}
.service-process-step p{line-height:1.8}
.service-focus-card,.service-advance-steps li{min-height:180px}
.page-media-grid{gap:22px;margin-top:36px}
.page-media-item{border-radius:15px}
.page-media-item img{height:300px;min-height:0;aspect-ratio:3/2;border-radius:13px}
.archive-layout,.single-layout{align-items:start}
.archive-title,.single-post header{max-width:900px}
.archive-title h1,.single-post h1{letter-spacing:0;line-height:1.35;word-break:keep-all}
.archive-title h1,.single-post h1{font-size:44px}
.post-row{grid-template-columns:minmax(190px,230px) minmax(0,1fr);align-items:start}
.post-row h2{font-size:24px;line-height:1.5;margin:.35em 0 .5em;word-break:keep-all}
.post-row p{line-height:1.85;margin:.3em 0 1em}
.single-post{min-width:0}
.single-cover{margin:0 auto 38px;max-width:900px}
.single-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
.single-post header>p{line-height:1.8}
.entry-content table{display:block;overflow-x:auto;white-space:nowrap}
.consult-form{padding:30px}
.consult-form label{line-height:1.5}
.consult-form input,.consult-form textarea{min-height:46px;font:inherit;line-height:1.5}
.consult-form textarea{resize:vertical}

@media(max-width:980px){
	.page-hero{padding:66px 0 58px}
	.page-hero-grid{gap:38px}
	.page-hero-photo img{height:360px}
	.service-overview-art img{height:180px}
}
@media(max-width:640px){
	.page-hero{padding:48px 0 44px}
	.page-hero h1{font-size:38px;line-height:1.3}
	.section-heading h2,.consult-cta h2{font-size:34px}
	.page-hero p{font-size:16px;line-height:1.8}
	.page-hero-photo img{height:260px}
	.page-introduction,.service-detail-content{max-width:none}
	.entry-content{font-size:16px;line-height:1.9}
	.service-overview-art img{height:210px}
	.service-process-step{min-height:0}
	.post-row{grid-template-columns:1fr;gap:18px}
	.row-thumb img{height:220px}
	.post-row h2{font-size:22px}
	.page-media-item img{height:240px}
	.consult-form{padding:22px}
}
