:root { --ink:#171716; --paper:#f4f2eb; --paper-2:#ebe9e1; --line:#c7c5bd; --soft:#66645f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
h1,h2,h3,p { margin-top:0; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 5.3vw; }
.brand { font-size:17px; font-weight:800; letter-spacing:-.6px; white-space:nowrap; }
nav { display:flex; gap:31px; font-size:14px; } nav a:hover,.back-link:hover,footer a:hover { opacity:.65; }
.header-cta { padding:12px 18px; border-radius:10px; background:var(--ink); color:var(--paper); font-size:14px; white-space:nowrap; }.header-cta span { margin-left:18px; }
.header-actions { display:flex; align-items:center; gap:24px; }
.language-switch { display:flex; align-items:center; gap:8px; flex-shrink:0; font-size:12px; letter-spacing:.04em; }
.language-switch a { padding:8px 2px; color:var(--soft); }
.language-switch a[aria-current="page"] { color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.language-switch a:hover { color:var(--ink); }
.english-hero { max-width:1000px; line-height:1.2!important; }
.email-link { overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.contact-email { display:block; margin-top:24px; font-size:15px; }
.company.company-en dl div { grid-template-columns:130px minmax(0,1fr); }
.company dd { min-width:0; }
.building { border-top:1px solid var(--line); }
.building-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:7vw; }
.building h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(30px,3.2vw,48px); font-weight:400; letter-spacing:-.035em; line-height:1.25; }
.building ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.building li { padding:16px 0; border-bottom:1px solid var(--line); font-size:16px; }
.building-grid .eyebrow { margin-bottom:24px; }
.hero { padding:clamp(64px,7vw,110px) 5.3vw clamp(72px,8vw,120px); }
.hero-copy { max-width:1200px; }
.eyebrow { margin:0 0 32px; font-size:12px; font-weight:600; letter-spacing:.06em; }
.hero h1 { margin:0; font-family:Georgia,"Times New Roman","Yu Mincho",serif; font-size:clamp(36px,4.2vw,64px); font-weight:400; letter-spacing:-.035em; line-height:1.5; }
.hero h1 > span { display:block; }
.phrase { display:inline-block; }
.hero-description { max-width:640px; margin:28px 0 0; color:#3f3e3a; font-size:16px; line-height:1.9; }
.section { padding:112px 10.5vw; }
.intro { background:var(--ink); color:var(--paper); }.intro-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:7vw; }.intro h2,.company h2 { margin:0; font-family:Georgia,"Times New Roman","Yu Mincho",serif; font-size:clamp(40px,5vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1.25; }.intro-grid p { margin:0; padding-top:9px; font-size:16px; line-height:2; }
.services { padding-bottom:120px; }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; margin-bottom:64px; }.section-heading > p:last-child { margin:0; font-family:Georgia,"Times New Roman","Yu Mincho",serif; font-size:22px; line-height:1.6; }.service-list { border-top:1px solid var(--ink); }.service-card { display:grid; grid-template-columns:7% 1fr 1.25fr 28px; gap:20px; align-items:start; padding:35px 0 39px; border-bottom:1px solid var(--line); }.service-card span { font-size:12px; }.service-card h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:28px; font-weight:400; letter-spacing:-.025em; line-height:1.25; }.service-card p { max-width:440px; margin:0; font-size:16px; line-height:1.8; }.service-card i { font-style:normal; font-size:23px; text-align:right; }
.company { background:var(--paper-2); }.company-grid { display:grid; grid-template-columns:1fr 1.75fr; gap:9vw; }.company dl { margin:0; }.company dl div { display:grid; grid-template-columns:110px 1fr; min-height:62px; gap:12px; padding:20px 0; border-top:1px solid #b5b3ab; font-size:16px; line-height:1.8; }.company dt { color:#5c5b56; }.company dd { margin:0; }
.contact { border-top:1px solid var(--line); }.contact-row { display:flex; justify-content:space-between; align-items:end; gap:48px; }.contact h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(58px,7vw,106px); font-weight:400; line-height:1; letter-spacing:-.06em; }.contact h2 em { font-weight:400; }.contact-row > div { max-width:340px; }.contact-row p { margin:0; font-size:16px; line-height:1.9; }
footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px 5.3vw; background:var(--ink); color:var(--paper); } footer div { display:flex; gap:30px; align-items:center; font-size:12px; } footer a { font-size:14px; } footer .brand { font-size:15px; }
.notice-page { min-height:100vh; display:flex; flex-direction:column; }.back-link { font-size:14px; }.notice-content { flex:1; padding:clamp(64px,8vw,120px) 10.5vw; }.notice-content h1 { margin-bottom:48px; font-family:Georgia,"Times New Roman","Yu Mincho",serif; font-size:clamp(48px,7vw,90px); font-weight:400; letter-spacing:-.04em; line-height:1.25; }.notice-box { max-width:760px; padding:40px; border-top:3px solid var(--ink); background:#fff; }.notice-box h2 { margin-bottom:24px; font-size:20px; }.notice-box p { font-size:16px; line-height:1.9; }.notice-note { margin:24px 0 0; color:var(--soft); }
@media (max-width:900px) {
  .header-actions { gap:16px; }
  .header-actions .header-cta { display:none; }
  .site-header nav { gap:20px; }
  .building-grid { grid-template-columns:1fr; gap:36px; }
  .section { padding:80px 6vw; }
  .intro-grid,.company-grid { grid-template-columns:1fr; gap:36px; }
  .intro-grid p { max-width:640px; padding:0; }
  .contact-row { align-items:start; flex-direction:column; gap:36px; }
  .service-card { grid-template-columns:32px 1fr 26px; gap:12px; }
  .service-card p { grid-column:2/4; max-width:640px; }
  .service-card i { grid-column:3; grid-row:1; }
}
@media (max-width:600px) {
  .company.company-en dl div { grid-template-columns:1fr; gap:4px; }
  .english-hero { font-size:clamp(36px,9.5vw,52px)!important; }
  .site-header { min-height:68px; padding:16px 6vw; gap:12px; }
  nav,.header-cta { display:none; }
  .hero { padding:48px 6vw 56px; }
  .hero .eyebrow { margin-bottom:24px; }
  .hero h1 { font-size:clamp(26px,6.9vw,36px); letter-spacing:-.04em; line-height:1.6; }
  .hero-description { margin-top:24px; line-height:1.9; }
  .section { padding:64px 6vw; }
  .intro h2,.company h2 { font-size:clamp(36px,10vw,52px); }
  .section-heading { display:block; margin-bottom:40px; }
  .section-heading .eyebrow { margin-bottom:24px; }
  .company dl div { grid-template-columns:76px 1fr; }
  .contact h2 { font-size:clamp(50px,14vw,78px); }
  .notice-content { padding:48px 6vw 64px; }
  .notice-content h1 { margin-bottom:32px; }
  .notice-box { padding:24px; }
  footer { padding:24px 6vw; flex-wrap:wrap; }
  footer div { flex-wrap:wrap; gap:20px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Local contact preview; shared colors, typography and section spacing are retained. */
.section-heading > .eyebrow:only-child { font-family:inherit; font-size:12px; line-height:1.5; }
.contact-preview h2 { font-family:Georgia,"Times New Roman","Yu Mincho",serif; font-size:clamp(28px,3.5vw,52px); line-height:1.5; letter-spacing:-.035em; }
.contact-form { max-width:800px; margin-top:48px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
.form-field { display:flex; flex-direction:column; gap:12px; min-width:0; }
.form-field-wide { grid-column:1 / -1; }
.form-field label { font-size:14px; }
.required-label,.optional-label { margin-left:10px; font-size:11px; color:var(--soft); }
.contact-form input,.contact-form textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:0; padding:14px 16px; background:transparent; color:var(--ink); font:inherit; font-size:16px; }
.contact-form textarea { resize:vertical; min-height:160px; }
.contact-form input:focus-visible,.contact-form textarea:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.form-footer button { display:inline-flex; gap:48px; align-items:center; padding:16px 24px; border:0; border-radius:10px; background:var(--ink); color:var(--paper); font:inherit; font-size:14px; }
.form-footer button:disabled { opacity:.5; cursor:not-allowed; }
.form-footer p { margin:16px 0 0; font-size:12px; color:var(--soft); }
@media (max-width:600px) { .contact-form { grid-template-columns:1fr; gap:24px; margin-top:32px; } }

/* PIXEL CORE — concept 02. Scoped to the Japanese redesign. */
.pc { --pc-blue:#244de5; --pc-ink:#1c2230; --pc-muted:#656b73; --pc-rule:#d8d9d5; --pc-paper:#f5f3ee; background:var(--pc-paper); color:var(--pc-ink); font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; -webkit-font-smoothing:antialiased; }
.pc *, .pc *::before, .pc *::after { box-sizing:border-box; }
.pc h1,.pc h2,.pc h3,.pc p { margin:0; }
.pc a,.pc button,.pc input,.pc textarea { -webkit-tap-highlight-color:transparent; }
.pc a:focus-visible,.pc button:focus-visible,.pc input:focus-visible,.pc textarea:focus-visible { outline:2px solid var(--pc-blue); outline-offset:5px; }
.pc section[id] { scroll-margin-top:32px; }
.pc-wrap { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.pc-skip { position:absolute; top:-100px; left:24px; z-index:10; padding:12px; background:white; }
.pc-skip:focus { top:12px; }
.pc-header { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--pc-rule); }
.pc-brand { display:inline-flex; align-items:center; gap:10px; color:var(--pc-ink); font-size:22px; font-weight:800; letter-spacing:-.9px; white-space:nowrap; }
.pc-brand-dot { margin-left:-9px; color:var(--pc-blue); }
.pc-brand-wordmark .pc-brand-dot { margin-left:0; }
.pc-service-title h3 { text-wrap:balance; }
.pc-brand-symbol { display:grid; grid-template-columns:repeat(2,9px); grid-template-rows:repeat(2,9px); gap:3px; margin-right:3px; transform:rotate(-.01deg); }
.pc-brand-symbol i { display:block; background:var(--pc-blue); }.pc-brand-symbol i:nth-child(2) { opacity:.32; }.pc-brand-symbol i:nth-child(3) { opacity:.64; }
.pc-nav { display:flex; gap:28px; font-size:12px; font-weight:500; }.pc-nav a { padding:12px 0; }
.pc-header-actions { display:flex; align-items:center; gap:28px; }.pc-language { font:11px Arial,sans-serif; letter-spacing:.06em; }.pc-language span { margin-left:6px; }
.pc-header-contact { display:inline-flex; align-items:center; gap:28px; background:var(--pc-ink); color:white; padding:14px 20px; font-size:12px; }.pc-header-contact span { font-size:17px; }
.pc a { transition:color .2s,background .2s; }.pc-nav a:hover,.pc-language:hover { color:var(--pc-blue); }.pc-header-contact:hover { background:var(--pc-blue); }
.pc-hero-main { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:40px; padding:66px 0 56px; }
.pc-kicker { display:flex; align-items:center; gap:10px; font:11px "Courier New",monospace; letter-spacing:.08em; }
.pc-status-dot { width:7px; height:7px; background:var(--pc-blue); }
.pc-hero h1 { margin:30px 0 26px; font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif; font-size:clamp(66px,6.7vw,104px); font-weight:500; line-height:1.22; letter-spacing:-.055em; }
.pc-hero h1>span { display:block; white-space:nowrap; }.pc-period { color:var(--pc-blue); }
.pc-hero-description { font-size:15px; line-height:2; letter-spacing:.025em; }
.pc-button { display:inline-flex; min-height:56px; justify-content:space-between; align-items:center; gap:40px; padding:17px 24px; border:0; border-radius:0; background:var(--pc-blue); color:white; font:500 13px Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; text-decoration:none; }
.pc-button span { font-size:20px; font-weight:400; }.pc-button:hover { background:#1738b6; }.pc-hero .pc-button { margin-top:30px; }
.pc-core-art { color:var(--pc-blue); position:relative; margin-top:12px; }.pc-art-top,.pc-art-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; font:8px "Courier New",monospace; letter-spacing:.02em; color:#586478; }.pc-art-top { padding:0 14px 4px; }.pc-art-bottom { padding:4px 14px 0; }.pc-art-bottom>span:first-child { display:flex; align-items:center; gap:7px; }.pc-art-bottom i { width:5px; height:5px; background:var(--pc-blue); }.pc-core-svg { width:100%; display:block; }
.pc-section { padding-block:110px; }.pc-label { display:flex; align-items:center; gap:16px; font:11px "Courier New",monospace; letter-spacing:.05em; }.pc-label>span { color:var(--pc-blue); font-size:10px; }
.pc-section-heading { display:grid; grid-template-columns:.8fr 1.6fr; gap:40px; margin-bottom:58px; }.pc-section-heading>.pc-label { align-self:start; padding-top:11px; }.pc h2 { font-size:clamp(28px,3.1vw,42px); line-height:1.65; letter-spacing:-.04em; font-weight:500; }.pc-section-heading>div>p { margin-top:16px; font-size:13px; color:var(--pc-muted); }.pc-mobile-break { display:none; }
.pc-service { display:grid; grid-template-columns:100px 1fr 1.1fr; gap:36px; padding:38px 0 40px; border-top:1px solid var(--pc-rule); }.pc-service:last-child { border-bottom:1px solid var(--pc-rule); }.pc-service-id { display:flex; flex-direction:column; align-items:flex-start; gap:23px; }.pc-service-id>span { font:10px "Courier New",monospace; color:var(--pc-muted); }.pc-service-mark { width:48px; height:48px; color:var(--pc-blue); }.pc-service-title { padding-top:0; }.pc-service-title>p { max-width:340px; font-size:clamp(20px,2.2vw,30px); line-height:1.25; letter-spacing:-.035em; font-weight:500; }.pc-service-title h3 { margin-top:16px; font-size:15px; font-weight:500; line-height:1.7; }.pc-service-detail>p { font-size:14px; line-height:1.95; color:#4c535e; }.pc-service-detail ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:22px 0 0; }.pc-service-detail li { font-size:10px; padding:5px 9px; border:1px solid var(--pc-rule); color:#515764; }
.pc-method { background:var(--pc-blue); color:#fff; padding:82px 0 28px; }.pc-method .pc-label>span { color:#b8c9ff; }.pc-method-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:56px; }.pc-method-intro h2 { margin-top:32px; }.pc-method-intro>p { font-size:14px; line-height:2.1; color:#e3e9ff; padding-bottom:8px; }.pc-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:60px; }.pc-steps article { border-top:1px solid #ffffff55; padding-top:22px; }.pc-steps .pc-step-index { font:10px "Courier New",monospace; letter-spacing:.05em; color:#d1dcff; }.pc-steps h3 { margin-top:22px; font-size:21px; font-weight:500; letter-spacing:-.02em; }.pc-steps article>p:last-child { margin-top:16px; font-size:13px; line-height:2; color:#e3e9ff; }.pc-method-foot { display:flex; justify-content:space-between; gap:20px; margin-top:68px; padding-top:22px; border-top:1px solid #ffffff40; font:9px "Courier New",monospace; letter-spacing:.05em; color:#d1dcff; }
.pc-company { display:grid; grid-template-columns:1fr 1.12fr; gap:100px; }.pc-company-intro h2 { margin-top:32px; }.pc-company-intro>p:not(.pc-label) { margin-top:24px; font-size:14px; line-height:2.1; color:var(--pc-muted); }.pc-company-location { display:block; margin-top:48px; font:10px "Courier New",monospace; color:var(--pc-muted); letter-spacing:.04em; }.pc-company-data { margin:0; }.pc-company-data>div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:24px; border-top:1px solid var(--pc-rule); padding:21px 0; font-size:13px; line-height:1.9; }.pc-company-data>div:last-child { border-bottom:1px solid var(--pc-rule); }.pc-company-data dt { color:var(--pc-muted); font-size:12px; }.pc-company-data dd { margin:0; }.pc-company-data dd span { display:block; color:var(--pc-muted); font-size:11px; margin-top:4px; }
.pc-contact { padding-block:90px; background:#eaece8; border-top:1px solid var(--pc-rule); }.pc-contact-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:100px; }.pc-contact-copy h2 { margin-top:32px; font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif; font-size:clamp(42px,4.7vw,64px); letter-spacing:-.05em; line-height:1.4; }.pc-contact-copy .pc-contact-lead { margin-top:30px; font-size:16px; }.pc-contact-copy>p:last-of-type { margin-top:16px; color:var(--pc-muted); font-size:13px; line-height:2; }.pc-contact-mail { display:inline-flex; align-items:center; gap:28px; padding-bottom:10px; border-bottom:1px solid var(--pc-ink); margin-top:36px; font-size:12px; }.pc-contact-mail:hover { color:var(--pc-blue); }
.pc-new-form { display:grid; gap:24px; }.pc-field { display:flex; flex-direction:column; gap:10px; }.pc-field label { display:flex; gap:12px; align-items:center; font-size:12px; font-weight:500; }.pc-field label>span { font-size:9px; padding:2px 5px; color:var(--pc-blue); border:1px solid #bbc5e5; font-weight:400; }.pc-field label>span.pc-optional { color:#717781; border-color:transparent; }.pc-field input,.pc-field textarea { width:100%; min-width:0; padding:15px 16px; border:1px solid transparent; border-radius:0; background:#ffffffc4; font:16px Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; color:var(--pc-ink); line-height:1.6; appearance:none; }.pc-field input::placeholder,.pc-field textarea::placeholder { color:#757b83; font-size:12px; }.pc-field textarea { resize:vertical; min-height:135px; }.pc-form-end { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.pc-form-end button { width:100%; }.pc-form-end button:disabled { background:#6878ae; color:white; cursor:not-allowed; }.pc-form-end p { color:var(--pc-muted); font-size:10px; }
.pc-footer { display:block; padding:54px 0 22px; color:var(--pc-ink); background:var(--pc-paper); }.pc-footer .pc-wrap,.pc-footer-top,.pc-footer-bottom,.pc-footer-bottom>div { font-size:inherit; }.pc-footer .pc-wrap { display:block; }.pc-footer-top { display:flex; align-items:center; gap:40px; }.pc-footer .pc-brand { font-size:25px; }.pc-footer-top>p { font-size:13px; }.pc-footer .pc-back-top { margin-left:auto; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:1px solid var(--pc-rule); font-size:20px; }.pc-footer-bottom { display:flex; justify-content:space-between; margin-top:46px; padding-top:20px; border-top:1px solid var(--pc-rule); }.pc-footer-bottom>p,.pc-footer-bottom>div>span { font:9px "Courier New",monospace; letter-spacing:.02em; color:var(--pc-muted); }.pc-footer-bottom>div { display:flex; align-items:center; gap:32px; }.pc-footer-bottom a { font-size:10px; }
@media(min-width:1600px) { .pc-hero-main { padding-top:78px; padding-bottom:68px; } }
@media(max-width:1100px) { .pc-wrap { width:calc(100% - 72px); }.pc-nav { gap:18px; }.pc-header-actions { gap:18px; }.pc-hero-main { gap:20px; }.pc-hero h1 { font-size:76px; }.pc-art-top { font-size:7px; }.pc-art-top>span:last-child { display:none; }.pc-service { grid-template-columns:64px 1fr 1.1fr; gap:24px; }.pc-company,.pc-contact-grid { gap:60px; } }
@media(max-width:850px) { .pc-header { min-height:88px; }.pc-nav { display:none; }.pc-hero h1 { font-size:65px; }.pc-hero-description { font-size:13px; }.pc-kicker { font-size:9px; }.pc-hero-main { padding-top:48px; padding-bottom:44px; }.pc-button { gap:28px; padding:14px 18px; font-size:12px; }.pc-core-art { margin-inline:-10px; }.pc-art-bottom { font-size:7px; }.pc-art-bottom>span:last-child { display:none; }.pc-section { padding-block:80px; }.pc-section-heading { grid-template-columns:.7fr 1.5fr; gap:24px; }.pc-service { grid-template-columns:48px 1fr; gap:20px; }.pc-service-id { grid-row:1 / 3; }.pc-service-detail { grid-column:2; }.pc-service-title>p { max-width:none; font-size:25px; }.pc-service-title h3 { margin-top:8px; }.pc-service-detail>p { max-width:550px; }.pc-method-intro { gap:24px; }.pc-method-intro>p { font-size:12px; }.pc-steps { gap:24px; }.pc-steps h3 { font-size:17px; }.pc-steps article>p:last-child { font-size:12px; }.pc-company,.pc-contact-grid { gap:40px; }.pc-company-data>div { grid-template-columns:70px minmax(0,1fr); gap:14px; }.pc-contact-copy h2 { font-size:43px; } }
@media(max-width:600px) { .pc-wrap { width:calc(100% - 40px); }.pc-header { min-height:78px; gap:14px; }.pc-brand { font-size:18px; gap:8px; }.pc-brand-symbol { grid-template-columns:repeat(2,7px); grid-template-rows:repeat(2,7px); gap:2px; margin-right:0; }.pc-brand-dot { margin-left:-7px; }.pc-header-actions { gap:15px; }.pc-language { font-size:10px; }.pc-language span { display:none; }.pc-header-contact { padding:10px 12px; gap:13px; font-size:11px; }.pc-header-contact span { font-size:15px; }.pc-hero-main { grid-template-columns:1fr; gap:20px; padding:34px 0 24px; }.pc-kicker { font-size:9px; }.pc-hero h1 { font-size:clamp(58px,15vw,78px); line-height:1.24; margin:24px 0; }.pc-hero-description { font-size:13px; line-height:2; letter-spacing:0; }.pc-hero .pc-button { margin-top:24px; min-height:52px; }.pc-hero .pc-core-art { display:none; }.pc-art-top { font-size:7px; }.pc-art-top>span:last-child { display:block; }.pc-art-bottom>span:last-child { display:block; }.pc-section { padding-block:64px; }.pc-section-heading { display:block; margin-bottom:36px; }.pc-section-heading>.pc-label { padding:0; margin-bottom:26px; }.pc h2 { font-size:29px; line-height:1.6; }.pc-section-heading>div>p { font-size:12px; margin-top:12px; }.pc-service { padding:28px 0; grid-template-columns:36px minmax(0,1fr); gap:18px; }.pc-service-id { gap:20px; }.pc-service-mark { width:32px; height:32px; }.pc-service-title>p { font-size:24px; line-height:1.25; max-width:280px; }.pc-service-title h3 { font-size:13px; margin-top:12px; }.pc-service-detail>p { font-size:13px; line-height:1.95; }.pc-service-detail ul { gap:6px; margin-top:18px; }.pc-service-detail li { font-size:9px; padding:5px 7px; }.pc-method { padding:56px 0 24px; }.pc-method-intro { display:block; }.pc-method-intro h2 { margin-top:26px; font-size:27px; }.pc-method-intro>p { margin-top:24px; font-size:13px; padding:0; }.pc-steps { grid-template-columns:1fr; gap:28px; margin-top:36px; }.pc-steps article { position:relative; padding:22px 0 0 45px; }.pc-steps article::before { content:'↘'; position:absolute; left:0; top:22px; font-size:23px; color:#b8c9ff; }.pc-steps h3 { margin-top:16px; font-size:21px; }.pc-steps article>p:last-child { margin-top:10px; font-size:13px; }.pc-method-foot { margin-top:40px; font-size:7px; gap:8px; letter-spacing:0; }.pc-company { grid-template-columns:1fr; gap:36px; }.pc-company-intro h2 { margin-top:26px; }.pc-company-intro>p:not(.pc-label) { margin-top:18px; font-size:13px; }.pc-company-location { margin-top:24px; font-size:9px; }.pc-company-data>div { grid-template-columns:76px minmax(0,1fr); gap:18px; padding:18px 0; font-size:13px; }.pc-company-data dt { font-size:11px; }.pc-contact { padding-block:56px; }.pc-contact-grid { grid-template-columns:1fr; gap:40px; }.pc-contact-copy h2 { margin-top:26px; font-size:46px; line-height:1.35; }.pc-contact-copy .pc-contact-lead { margin-top:24px; font-size:15px; }.pc-contact-copy>p:last-of-type { margin-top:12px; }.pc-contact-mail { margin-top:24px; }.pc-new-form { gap:22px; }.pc-footer { padding:38px 0 20px; }.pc-footer-top { gap:20px; flex-wrap:wrap; }.pc-footer .pc-brand { font-size:22px; }.pc-footer-top>p { display:none; }.pc-footer-bottom { margin-top:28px; gap:12px; align-items:flex-start; }.pc-footer-bottom>div { gap:16px; }.pc-footer-bottom>div>span { display:none; }.pc-footer-bottom>p { font-size:8px; }.pc-footer-bottom a { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .pc * { transition:none!important; } }

/* Revision 03: persistent navigation and a compact company section. */
.pc { --pc-header-height:88px; }
.pc-header-shell { position:sticky; top:0; z-index:50; background:var(--pc-paper); border-bottom:1px solid var(--pc-rule); }
.pc .pc-header { min-height:var(--pc-header-height); border-bottom:0; }
.pc section[id] { scroll-margin-top:calc(var(--pc-header-height) + 24px); }
.pc-skip { z-index:60; }
.pc-services { padding-bottom:72px; }
.pc-company { border-top:1px solid var(--pc-rule); padding-top:72px; padding-bottom:80px; }
.pc-company-intro .pc-company-location { margin-top:28px; }
@media(max-width:850px) { .pc { --pc-header-height:78px; } }
@media(max-width:600px) {
  .pc { --pc-header-height:72px; }
  .pc-services { padding-bottom:48px; }
  .pc-company { padding-block:48px; gap:28px; }
  .pc-company-intro h2 { margin-top:22px; }
  .pc-company-intro .pc-company-location { margin-top:16px; }
}

/* Compact header: keep the navigation with the brand and utilities on the right. */
.pc { --pc-header-height:76px; }
.pc .pc-header { justify-content:flex-start; gap:32px; }
.pc-header .pc-nav { margin-left:8px; padding-left:32px; border-left:1px solid var(--pc-rule); gap:28px; font-size:13px; }
.pc-header .pc-nav a { padding:9px 0; white-space:nowrap; }
.pc-header .pc-header-actions { margin-left:auto; gap:24px; }
.pc-header .pc-header-contact { padding:11px 18px; gap:24px; }
@media(max-width:1100px) {
  .pc .pc-header { gap:24px; }
  .pc-header .pc-nav { margin-left:0; padding-left:24px; gap:24px; }
}
@media(max-width:850px) {
  .pc { --pc-header-height:72px; }
  .pc-header .pc-header-actions { gap:20px; }
}
@media(max-width:600px) {
  .pc { --pc-header-height:68px; }
  .pc .pc-header { gap:14px; }
  .pc-header .pc-header-actions { gap:15px; }
  .pc-header .pc-header-contact { padding:10px 12px; gap:13px; }
  .pc-header .pc-brand { gap:9px; flex-shrink:0; }
  .pc-header .pc-brand-symbol { grid-template-columns:repeat(2,20px); grid-template-rows:repeat(2,20px); gap:2px; }
  .pc-header .pc-brand-wordmark { display:flex; flex-direction:column; justify-content:center; height:42px; font-size:22px; line-height:21px; letter-spacing:-.8px; }
  .pc-header .pc-header-contact { box-sizing:border-box; height:42px; }
}

/* Clear section titles replace the introductory headlines. */
.pc h2.pc-section-label {
  display:flex; align-items:baseline; gap:18px; margin:0;
  font-family:Arial,sans-serif; font-size:clamp(28px,2.6vw,36px);
  font-weight:500; line-height:1.25; letter-spacing:-.025em;
}
.pc h2.pc-section-label>span {
  color:var(--pc-blue); font:13px "Courier New",monospace; letter-spacing:0;
}
.pc-services { padding-top:88px; }
.pc-services .pc-section-heading { display:block; margin-bottom:40px; }
.pc-company-intro>p.pc-company-subtitle { margin-top:20px; font-size:15px; color:var(--pc-ink); }
.pc-contact-copy .pc-contact-lead { margin-top:32px; font-size:21px; line-height:1.7; }
.pc-hero .pc-button { min-width:220px; }
@media(max-width:600px) {
  .pc h2.pc-section-label { gap:14px; font-size:27px; }
  .pc h2.pc-section-label>span { font-size:12px; }
  .pc-services { padding-top:56px; }
  .pc-services .pc-section-heading { margin-bottom:30px; }
  .pc-company-intro>p.pc-company-subtitle { margin-top:16px; font-size:14px; }
  .pc-contact-copy .pc-contact-lead { margin-top:24px; font-size:19px; }
  .pc-hero .pc-button { min-width:208px; }
}
/* Contact form feedback stays within the existing typography and spacing. */
.pc-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pc .pc-form-privacy { margin: 2px 0 20px; font-size: 12px; line-height: 1.9; color: #525e5b; }
.pc .pc-form-status { margin: 16px 0 0; font-size: 13px; line-height: 1.9; color: #244de5; }
.pc .pc-form-status:empty { display: none; }
.pc .pc-form-status[data-error="true"] { color: #9a3030; }
.pc-new-form[aria-busy="true"] button { cursor: wait; }

/* Shared corporate layout, with type widths adapted to English copy. */
.pc-en .pc-hero h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,5.6vw,86px); line-height:1.12; letter-spacing:-.05em; }
.pc-en .pc-hero-description { max-width:510px; line-height:1.85; }
.pc-en .pc-company-data>div { grid-template-columns:155px minmax(0,1fr); }
.pc-en .pc-header-contact { white-space:nowrap; }
@media(max-width:1100px) {
  .pc-en .pc-hero h1 { font-size:clamp(42px,5.5vw,62px); }
  .pc-en .pc-company-data>div { grid-template-columns:100px minmax(0,1fr); }
}
@media(max-width:600px) {
  .pc-en .pc-hero h1 { font-size:clamp(42px,11.8vw,68px); }
  .pc-en .pc-company-data>div { grid-template-columns:100px minmax(0,1fr); }
}

/* Preview refinement: readable copy with fewer decorative labels. */
.pc-hero h1 { margin-top:0; }
.pc-core-art { margin-top:0; }
.pc-service-title>p { font-size:clamp(22px,2vw,28px); line-height:1.3; letter-spacing:-.025em; text-wrap:balance; }
.pc-service-title h3 { font-size:16px; line-height:1.75; }
.pc-service-detail>p { font-size:15px; }
.pc-service-detail li { font-size:11px; }
.pc-company-data>div { font-size:14px; align-items:baseline; }
.pc-header .pc-nav { font-size:15px; }
.pc-header .pc-language { font-family:inherit; font-size:14px; font-weight:500; line-height:1.5; letter-spacing:0; }
.pc-footer-bottom>p,.pc-footer-bottom a { font-family:inherit; font-size:12px; font-weight:400; line-height:1.8; letter-spacing:0; color:var(--pc-muted); }
@media(max-width:600px) {
  .pc-hero-description { font-size:15px; line-height:1.9; }
  .pc-service-title>p { font-size:24px; }
  .pc-service-title h3 { font-size:15px; }
  .pc-service-detail>p { font-size:15px; line-height:1.9; }
  .pc-service-detail li { font-size:11px; padding:5px 8px; }
  .pc-company-data>div { font-size:15px; }
  .pc-company-data dt { font-size:12px; }
  .pc-contact-copy>p:not(.pc-contact-lead) { font-size:15px; line-height:1.9; }
}
