/* Service pages share the existing navy, warm paper and gold brand palette. */
:root{--service-navy:#101a29;--service-gold:#a88b55;--service-gold-light:#dfc18a;--service-copy:#536071}
.service-page{background:#f7f6f2;font-size:15px;line-height:1.95}
.service-page main{overflow:clip}
.service-kicker{font:11px/1.7 Arial,sans-serif;letter-spacing:.18em;margin:0 0 22px;color:#7c6843}
.service-page .desktop-nav{gap:26px;font-size:12px}
.header .desktop-nav .nav-contact{padding:11px 18px;white-space:nowrap}
.service-page .desktop-nav a[aria-current=page]{color:#dfc18a}
.service-hero{background:var(--service-navy);color:#f7f6f2;padding:25px 7.4% 0}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:#a7b3c3;margin:0 0 64px;line-height:1.8}
.breadcrumbs a:hover{text-decoration:underline}
.service-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:8%;max-width:1300px;margin:0 auto;padding-bottom:70px}
.service-hero .service-kicker{color:#c5af84;font-size:10px;margin-bottom:28px}
.service-hero h1{font:400 clamp(32px,3.8vw,58px)/1.65 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.055em;margin:0 0 30px;text-wrap:balance}
.service-lead{font-size:16px;letter-spacing:.045em;color:#f0ede6;margin:0 0 18px}
.service-intro{font-size:13px;line-height:2.2;color:#bfcbd9;margin:0 0 30px}
.service-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--service-gold-light);border:1px solid var(--service-gold-light);color:#101a29;padding:15px 23px;min-height:54px;font-size:12px;font-weight:600;line-height:1.8;transition:background .2s,border-color .2s}
.service-button>span{font-size:20px;font-weight:400}
.service-button:hover{background:#eed4a4;border-color:#eed4a4}
.hero-location-note{font-size:10px;color:#93a3b8;margin:25px 0 0;letter-spacing:.08em}
.service-visual{border:1px solid #8c9bad45;padding:27px;background:linear-gradient(150deg,#2233496b,#101a29);border-radius:2px;position:relative}
.service-visual:before{content:"";position:absolute;inset:-15px 15px 15px -15px;border:1px solid #8c9bad18;pointer-events:none}
.visual-topline{display:flex;align-items:center;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.18em;color:#9cacbf;margin-bottom:30px}
.visual-dot{width:6px;height:6px;border-radius:50%;background:#dfc18a;box-shadow:0 0 0 5px #dfc18a12}
.visual-title{font:400 25px/1.8 "Yu Mincho",serif;letter-spacing:.04em;margin-bottom:22px}
.flow-list{list-style:none;margin:0;padding:0}
.flow-list li{display:flex;align-items:center;gap:20px;border-top:1px solid #8c9bad30;padding:21px 0}
.flow-icon{font:italic 23px Georgia,serif;color:#c5af84;width:34px;flex-shrink:0}
.flow-list strong{display:block;font-size:15px;font-weight:500;letter-spacing:.12em}
.flow-list small{display:block;font-size:11px;color:#9cacc1;margin-top:2px}
.visual-caption{font-size:9px;line-height:1.8;color:#9aaabd;margin:19px 0 0;padding-top:15px;border-top:1px solid #8c9bad30}
.website-wireframe{background:#eae9e2;color:#192635;margin-top:8px;border:1px solid #ffffff35}
.wire-header{height:37px;border-bottom:1px solid #25334826;padding:5px 15px;display:flex;align-items:center;justify-content:space-between}
.wire-mark{color:#8f7444;font-size:24px}
.wire-lines{height:3px;width:65px;background:repeating-linear-gradient(90deg,#596578 0 15px,transparent 15px 25px);opacity:.7}
.wire-copy{padding:35px 25px 32px;background:linear-gradient(120deg,#e6e1d4,#f5f3ed);position:relative}
.wire-copy>span{font:8px Arial;letter-spacing:.15em;color:#6d725e}
.wire-copy p{font:400 clamp(22px,2.2vw,32px)/1.65 "Yu Mincho",serif;margin:17px 0 23px;letter-spacing:.03em}
.wire-button{display:inline-block;padding:9px 17px;background:#1b293b;color:#efeee9;font-size:9px;letter-spacing:.08em}
.wire-bottom{display:grid;grid-template-columns:repeat(3,1fr);font-size:8px;letter-spacing:.02em;text-align:center;padding:17px 4px;color:#596578}
.wire-bottom span+span{border-left:1px solid #25334826}
.service-anchor-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1300px;margin:auto;border-top:1px solid #ffffff26}
.service-anchor-nav a{display:flex;justify-content:space-between;align-items:center;padding:23px 18px;font-size:11px;color:#c8d2df;gap:12px}
.service-anchor-nav a+a{border-left:1px solid #ffffff26}
.service-anchor-nav a:hover{color:#dfc18a;background:#ffffff04}
.service-anchor-nav a span{color:#bea778}
.service-section{padding:95px 7.4%;scroll-margin-top:82px}
.service-section-heading{margin-bottom:43px}
.service-section-heading h2{font:400 clamp(26px,2.6vw,38px)/1.75 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.05em;margin:0}
.service-section-heading>p:not(.service-kicker){font-size:13px;color:var(--service-copy);margin:22px 0 0;line-height:2}
.problem-section{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding-top:100px;padding-bottom:100px}
.problem-list{list-style:none;margin:0;padding:0}
.problem-list li{border-bottom:1px solid #18212e22;padding:0 0 22px;margin-bottom:23px}
.problem-list li:last-child{margin:0}
.problem-list h3{font-size:16px;font-weight:500;letter-spacing:.035em;margin:0 0 7px;display:flex;align-items:baseline;gap:13px}
.problem-list h3:before{content:"＋";color:#9b8355;font-size:15px}
.problem-list p{font-size:13px;line-height:2;color:var(--service-copy);margin:0 0 0 28px}
.scope-section{background:#eaece9}
.scope-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;margin:0}
.scope-list li{padding:0 30px;border-left:1px solid #18212e24}
.scope-list li:first-child{padding-left:0;border-left:0}
.scope-list li:last-child{padding-right:0}
.item-number{display:block;font:italic 30px Georgia,serif;color:#9d8556;margin:0 0 25px}
.scope-list h3{font-size:18px;font-weight:500;line-height:1.9;margin:0 0 15px;letter-spacing:.04em}
.scope-list p{font-size:13px;line-height:2.15;color:var(--service-copy);margin:0;max-width:32em}
.examples-section .service-section-heading{margin-bottom:35px}
.example-list{border-top:1px solid #18212e26}
.example-row{display:grid;grid-template-columns:60px 1fr 35px;gap:28px;align-items:start;padding:31px 0;border-bottom:1px solid #18212e26}
.example-number{font:italic 20px Georgia,serif;color:#9d8556;padding-top:6px}
.example-row h3{font-size:18px;font-weight:500;margin:0 0 9px;letter-spacing:.05em}
.example-row p{font-size:13px;line-height:2;color:var(--service-copy);max-width:66em;margin:0}
.example-cross{font-size:23px;color:#9d8556;justify-self:end}
.service-text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;border-bottom:1px solid #9d8556;padding:10px 0;margin-top:24px}
.service-text-link span{font-size:18px;color:#9d8556}
.process-section{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;background:var(--service-navy);color:#f1f1ed}
.process-section .service-kicker{color:#c5af84}
.process-section .service-section-heading>p:not(.service-kicker){color:#aab9cc}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:flex;align-items:flex-start;gap:28px;border-bottom:1px solid #ffffff26;padding:0 0 26px;margin-bottom:26px}
.process-list li:last-child{margin:0}
.step-number{font:italic 22px Georgia,serif;color:#c5af84;flex-shrink:0;margin-top:7px}
.process-list h3{font-size:16px;font-weight:500;line-height:1.9;margin:0 0 9px;letter-spacing:.045em}
.process-list p{font-size:12px;line-height:2;color:#b7c4d5;margin:0}
.faq-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:10%}
.faq-list{border-top:1px solid #18212e26}
.faq-list details{border-bottom:1px solid #18212e26}
.faq-list summary{display:grid;grid-template-columns:25px 1fr 18px;gap:15px;align-items:baseline;font-size:14px;padding:24px 0;line-height:1.9}
.faq-q{font:italic 17px Georgia,serif;color:#9d8556}
.faq-symbol{font-size:17px;color:#9d8556;transition:transform .2s}
.faq-list details[open] .faq-symbol{transform:rotate(45deg)}
.faq-list details>p{font-size:13px;color:var(--service-copy);line-height:2.1;margin:0 0 26px;padding-left:40px;padding-right:32px}
.service-contact{padding:80px 7.4%;background:#e7e1d5;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;scroll-margin-top:84px}
.service-contact .service-kicker{margin-bottom:16px}
.contact-copy h2{font:400 clamp(27px,2.8vw,40px)/1.75 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.05em}
.contact-copy>p:last-child{font-size:13px;line-height:2.1;color:#596272;margin:22px 0 0}
.contact-action .service-button{width:100%;background:#162234;border-color:#162234;color:#f7f6f2;font-size:13px;gap:15px}
.contact-action .service-button:hover{background:#2a3b52}
.contact-hint{font-size:10px;line-height:1.9;color:#606a78;margin:13px 0 20px}
.contact-address{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.contact-address>a{font:21px Georgia,serif;letter-spacing:.02em;border-bottom:1px solid #a3957c;line-height:1.5}
.copy-email{border:1px solid #a69c89;padding:3px 10px;font-size:10px;line-height:1.8;background:transparent;white-space:nowrap}
.copy-email:hover{background:#ffffff44}
.copy-status{font-size:11px;line-height:1.8;min-height:20px;margin:9px 0 0;color:#536071}
.related-service{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:36px 7.4%;font-size:12px;border-bottom:1px solid #18212e26}
.related-service>span{color:#697384;font-size:11px}
.related-service>a{display:flex;align-items:center;gap:40px}
.related-service>a>span{font-size:20px;color:#9d8556}
.service-footer-nav{display:flex;gap:32px;flex-wrap:wrap;font-size:11px;color:#b3bfd0;padding-top:30px}
.service-footer-nav a:hover,.home-footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
.home-footer-links{display:flex;flex-wrap:wrap;gap:23px;font-size:11px;color:#b3bfd0;margin-left:auto}
.home-service-contact{margin:0}
.ai-services{grid-template-rows:auto}
.ai-services>div{grid-template-rows:36px minmax(88px,auto) 1fr auto 43px}
.service-card-link{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:43px;padding:8px 0;border-bottom:1px solid #b69a61;font-size:12px;color:#e5cfaa;align-self:end}
.service-card-link>span{font-size:20px;font-weight:400}
.service-title[href]:hover{color:#e5cfaa}
@media(min-width:1600px){.service-hero,.service-section,.service-contact,.related-service{padding-left:max(7.4%,calc((100vw - 1300px)/2));padding-right:max(7.4%,calc((100vw - 1300px)/2))}}
@media(max-width:1100px){.service-hero-grid{gap:5%;grid-template-columns:1.15fr 1fr}.service-page .desktop-nav{gap:19px;font-size:11px}.service-hero{padding-inline:6%}.service-section,.service-contact{padding-inline:6%;padding-block:76px}.service-intro{font-size:12px}.service-intro br{display:none}.service-visual{padding:23px}.service-anchor-nav a{font-size:10px;padding-inline:12px}.scope-list li{padding-inline:22px}.scope-list h3{font-size:16px}.home-footer-links{width:100%;margin:5px 0 0;order:3}.home-service-contact .contact-mail{font-size:12px}}
@media(max-width:1023px){.ai-services>div{grid-template-rows:auto auto auto auto auto}.service-card-link{margin-top:3px}}
@media(max-width:760px){
  .service-page{font-size:14px}.service-page .header{height:72px}.service-hero{padding:21px 7% 0}.breadcrumbs{font-size:9px;gap:12px;margin-bottom:43px}.service-hero-grid{grid-template-columns:1fr;gap:44px;padding-bottom:41px}.service-hero h1{font-size:clamp(29px,8vw,42px);line-height:1.7;letter-spacing:.035em;margin-bottom:23px}.service-hero .service-kicker{font-size:8px;letter-spacing:.13em;margin-bottom:21px}.service-lead{font-size:13px;margin-bottom:16px}.service-intro{font-size:13px;line-height:2.1;margin-bottom:25px;max-width:34em}.service-button{padding:14px 19px;font-size:12px;gap:20px}.hero-location-note{font-size:9px;margin-top:21px}.service-visual{width:100%;max-width:440px;margin:0 auto;padding:24px}.service-visual:before{inset:-10px 10px 10px -10px}.visual-topline{font-size:8px;margin-bottom:24px}.visual-title{font-size:23px;margin-bottom:17px}.flow-list li{padding:18px 0}.flow-list strong{font-size:14px}.flow-list small{font-size:10px}.visual-caption{font-size:9px}.wire-copy{padding:27px 24px}.wire-copy p{font-size:29px}.service-anchor-nav{grid-template-columns:1fr 1fr}.service-anchor-nav a{padding:18px 8px;font-size:10px}.service-anchor-nav a:nth-child(3){border-left:0}.service-anchor-nav a:nth-child(n+3){border-top:1px solid #ffffff26}.service-section{padding:62px 7%;scroll-margin-top:72px}.service-section-heading{margin-bottom:31px}.service-section-heading h2{font-size:27px;line-height:1.75}.service-kicker{font-size:9px;margin-bottom:16px}.service-section-heading>p:not(.service-kicker){font-size:12px;margin-top:18px}.problem-section,.process-section,.faq-section{display:block}.problem-list li{padding-bottom:20px;margin-bottom:21px}.problem-list h3{font-size:15px}.problem-list p{font-size:12px;margin-left:27px}.scope-list{grid-template-columns:1fr;gap:28px}.scope-list li,.scope-list li:first-child,.scope-list li:last-child{padding:0 0 28px;border-left:0;border-bottom:1px solid #18212e24}.scope-list li:last-child{padding-bottom:0;border-bottom:0}.item-number{font-size:26px;margin-bottom:13px}.scope-list h3{font-size:18px;margin-bottom:11px}.scope-list p{font-size:13px}.example-row{grid-template-columns:25px 1fr;gap:15px;padding:26px 0}.example-number{font-size:17px}.example-row h3{font-size:16px;line-height:1.8}.example-row p{font-size:12px}.example-cross{display:none}.service-text-link{font-size:11px;gap:15px}.process-list li{gap:22px;margin-bottom:24px;padding-bottom:24px}.process-list h3{font-size:15px}.process-list p{font-size:12px}.step-number{font-size:20px}.faq-list summary{font-size:13px;grid-template-columns:22px 1fr 15px;gap:10px;padding:21px 0}.faq-list details>p{font-size:12px;padding-left:32px;padding-right:10px}.service-contact{grid-template-columns:1fr;padding:58px 7% 47px;gap:30px;scroll-margin-top:72px}.contact-copy h2{font-size:29px}.contact-copy>p:last-child{font-size:12px;margin-top:18px}.contact-copy>p:last-child br{display:none}.contact-action .service-button{font-size:12px;padding:15px 17px;min-height:58px}.contact-hint{font-size:10px;max-width:33em;margin-top:11px}.contact-address{gap:17px}.contact-address>a{font-size:21px}.related-service{padding:27px 7%;display:block}.related-service>span{font-size:10px}.related-service>a{margin-top:10px;justify-content:space-between;font-size:13px}.service-footer-nav{gap:13px 23px;padding-top:24px;font-size:10px}.home-footer-links{gap:15px 21px;font-size:10px;margin-top:8px}.service-page .footer-top{flex-wrap:nowrap}.service-page .footer-top .back-top{flex-shrink:0}.service-contact .copy-status{margin-bottom:0}.home-service-contact .contact-mail{font-size:12px}
}
@media(max-width:360px){.service-hero h1{font-size:28px}.service-contact .contact-mail{font-size:11px}.contact-address>a{font-size:20px}.contact-action .service-button{gap:8px;padding-inline:12px}.service-page .brand-name{font-size:18px}.service-page .brand-english{font-size:7px}.service-page .brand{gap:8px}.service-page .header .brand-mark{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.service-button,.faq-symbol{transition:none}}
