/* No.0 corporate preview. The supplied identity stays black; red is the site accent. */
html { scroll-padding-top:30px; }
.corporate-header { position:relative; z-index:10; height:100px; gap:30px; }
header.corporate-header .corporate-brand { flex:none; margin:0; }
header.corporate-header .corporate-brand img { width:106px; height:auto; }
header.corporate-header .site-nav { display:flex; gap:25px; margin-left:auto; font-size:13px; }
.site-nav a { white-space:nowrap; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--red); }
header.corporate-header>.cta-pair { margin-left:15px; }
.menu-toggle,.mobile-contact { display:none; }
.hero h1 { font-size:clamp(50px,5.4vw,76px); line-height:1.22; }
.hero .hero-content { max-width:670px; }
.hero-content>p:not(.eyebrow):not(.hero-lead):not(.cta-help) { font-size:17px; line-height:1.9; }
.section-eyebrow { display:flex; align-items:center; gap:15px; }
.no0-about { padding-top:110px; padding-bottom:100px; }
.about-top { display:grid; grid-template-columns:.96fr 1.04fr; column-gap:80px; }
.about-heading { position:relative; isolation:isolate; min-height:390px; }
.about-heading .eyebrow { margin-bottom:33px; }
.about-heading h2 { font-size:clamp(32px,3.5vw,47px); line-height:1.65; letter-spacing:-.065em; margin:0; }
.about-heading h2 em { color:var(--red); font-style:normal; }
.no0-watermark { position:absolute; z-index:-1; width:92%; height:58%; left:-8px; bottom:-12px; background:#292722; opacity:.045; mask:url('/assets/no0-logo.svg') center/contain no-repeat; -webkit-mask:url('/assets/no0-logo.svg') center/contain no-repeat; }
.about-signature { font-size:10px; font-weight:600; letter-spacing:.15em; line-height:1.7; margin-top:39px; color:#8a8276; }
.about-content { padding-top:40px; }
.about-content h3 { font-size:27px; font-weight:750; line-height:1.75; letter-spacing:-.04em; margin:0 0 26px; }
.about-content>p { color:var(--body-ink); font-size:16px; line-height:2; margin:0 0 19px; }
.about-content .text-link { margin-top:8px; display:inline-flex; align-items:center; gap:35px; font-size:14px; }
.expertise-heading { margin:70px 0 26px; padding-top:34px; border-top:1px solid var(--rule); display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.expertise-heading .eyebrow { font-size:10px; margin-bottom:14px; }
.expertise-heading h3 { font-size:30px; line-height:1.6; letter-spacing:-.04em; margin:0; }
.expertise-heading>p { color:var(--body-ink); font-size:15px; line-height:1.9; }
.mobile-break { display:none; }
.expertise-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.expertise-card { position:relative; min-height:320px; aspect-ratio:1.8; overflow:hidden; border-radius:12px; background:#302d2a; color:white; isolation:isolate; }
.expertise-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.expertise-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(12,13,15,.35),rgba(12,13,15,.08) 25%,rgba(12,13,15,.6) 55%,rgba(12,13,15,.9) 100%); }
.expertise-meta { position:absolute; inset:24px 26px auto; display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:10px; font-weight:600; letter-spacing:.11em; }
.expertise-meta>span { padding:3px 7px; background:#0007; }
.expertise-copy { position:absolute; left:28px; right:24px; bottom:27px; }
.expertise-copy h4 { font-size:31px; line-height:1.5; letter-spacing:-.035em; margin:0 0 9px; }
.expertise-copy p { font-size:16px; line-height:1.85; color:#fff; margin:0; }
.works-intro-line { display:block; }
.corporate-footer .footer-top { padding:60px 0 40px; }
.corporate-footer .footer-top img { width:150px; height:auto; }
.corporate-footer .footer-top p { font-size:17px; font-weight:650; color:var(--ink); line-height:1.8; margin:0; }
.corporate-footer .footer-top nav { margin-left:auto; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; font-size:13px; }
.preview-note { font-size:10px; letter-spacing:.1em; color:#8a8175; padding:0 0 20px; text-align:right; }
.form-preview-label { display:inline-block; padding:5px 10px; border:1px solid #d8d1c5; border-radius:5px; color:#756859; font-size:11px; margin-bottom:20px; }
.company-main { padding-top:34px; }
.breadcrumbs { display:flex; gap:15px; font-size:12px; color:#8b8176; }
.breadcrumbs a:hover { color:var(--red); }
.company-intro { padding:65px 0 70px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; }
.company-intro .eyebrow { margin:0 0 20px; }
.company-intro h1 { font-size:54px; line-height:1.4; letter-spacing:-.04em; margin:0 0 28px; }
.company-lead { font-size:21px; font-weight:600; line-height:1.8; }
.company-logo-panel { position:relative; min-height:290px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; background:#eeebe4; border-radius:12px; }
.company-logo-panel img { width:54%; height:auto; max-width:260px; }
.company-logo-panel span { font-size:9px; letter-spacing:.14em; color:#8a8176; }
.company-profile { display:grid; grid-template-columns:1fr 2fr; gap:60px; padding:0 0 90px; }
.profile-label { padding-top:28px; }
.profile-label .eyebrow { font-size:10px; margin-bottom:15px; }
.profile-label h2 { font-size:22px; line-height:1.6; margin:0; }
.company-profile dl { margin:0; }
.company-profile dl>div { display:grid; grid-template-columns:140px minmax(0,1fr); border-top:1px solid var(--rule); gap:25px; padding:25px 0; }
.company-profile dl>div:last-child { border-bottom:1px solid var(--rule); }
.company-profile dt { font-size:14px; font-weight:650; padding-top:2px; }
.company-profile dd { font-size:17px; line-height:1.9; margin:0; }
.company-contact { background:#eeebe4; border:1px solid #e3dccf; border-radius:12px; padding:44px 50px; margin-bottom:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.company-contact .eyebrow { font-size:10px; margin-bottom:17px; }
.company-contact h2 { font-size:32px; line-height:1.6; margin:0 0 15px; letter-spacing:-.04em; }
.company-contact p:not(.eyebrow) { font-size:15px; color:var(--body-ink); }
.company-contact .button { white-space:nowrap; font-size:15px; }
.policy-main { padding-top:34px; }
.policy-page .policy-simple .policy-section p { font-size:16px; }
@media(max-width:1150px) {
  header.corporate-header { padding-inline:30px; gap:24px; }
  header.corporate-header .site-nav { gap:18px; font-size:12px; }
  header.corporate-header>.cta-pair { margin-left:0; }
  .about-top { column-gap:48px; }
  .about-content h3 { font-size:24px; }
  .expertise-card { min-height:300px; }
  .expertise-copy h4 { font-size:28px; }
}
@media(max-width:900px) {
  header.corporate-header>.cta-pair { display:none; }
  .about-top { column-gap:35px; }
  .about-heading h2 { font-size:29px; }
  .about-content h3 { font-size:22px; }
  .expertise-card { min-height:300px; }
  .expertise-meta { inset:20px 20px auto; font-size:9px; gap:10px; }
  .expertise-copy { left:20px; right:20px; bottom:24px; }
  .expertise-copy h4 { font-size:25px; }
  .expertise-copy p { font-size:15px; }
  .company-intro { gap:35px; }
  .company-logo-panel { min-height:250px; }
  .company-profile { grid-template-columns:1fr; gap:25px; }
}
@media(max-width:760px) {
  header.corporate-header { height:86px; padding:14px 24px; justify-content:space-between; flex-wrap:nowrap; }
  header.corporate-header .corporate-brand img { width:94px; height:auto; }
  header.corporate-header .menu-toggle { display:flex; width:42px; height:42px; background:transparent; border:1px solid #d8d1c5; border-radius:50%; padding:12px 11px; flex-direction:column; justify-content:center; gap:5px; margin-left:auto; cursor:pointer; }
  .menu-toggle span { height:1px; width:18px; background:var(--ink); transition:transform .15s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3px) rotate(-45deg); }
  header.corporate-header .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); padding:20px 24px 26px; border-bottom:1px solid var(--rule); margin:0; box-shadow:0 16px 20px #00000008; }
  header.corporate-header .site-nav.is-open { display:grid; gap:0; }
  .site-nav a { padding:14px 0; font-size:15px; }
  .site-nav .mobile-contact { display:block; color:var(--red); }
  .hero .hero-content { padding:0; }
  .hero h1 { font-size:clamp(30px,8.7vw,40px); line-height:1.35; }
  .hero .hero-lead { font-size:16px; }
  .hero-content>p:not(.eyebrow):not(.hero-lead):not(.cta-help) { font-size:15px; line-height:1.85; }
  .no0-about { padding-top:58px; padding-bottom:55px; }
  .about-top { display:block; }
  .about-heading { min-height:315px; }
  .about-heading .eyebrow { font-size:10px; gap:12px; margin-bottom:25px; }
  .about-heading h2 { font-size:clamp(28px,7.5vw,40px); }
  .no0-watermark { width:90%; height:195px; bottom:3px; left:0; }
  .about-signature { margin-top:28px; font-size:9px; }
  .about-content { padding-top:24px; }
  .about-content h3 { font-size:22px; margin-bottom:22px; }
  .about-content>p { font-size:16px; }
  .about-content .text-link { font-size:14px; }
  .expertise-heading { margin-top:42px; padding-top:28px; display:block; }
  .expertise-heading h3 { font-size:27px; }
  .expertise-heading>p { font-size:15px; margin-top:18px; }
  .mobile-break { display:block; }
  .expertise-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .expertise-card { min-width:0; min-height:288px; aspect-ratio:auto; }
  .expertise-meta { inset:20px 20px auto; font-size:9px; }
  .expertise-copy { left:22px; right:18px; bottom:23px; }
  .expertise-copy h4 { font-size:27px; }
  .expertise-copy p { font-size:15px; line-height:1.9; }
  .questions .section-head h2 { font-size:clamp(23px,7.6vw,30px); }
  .works-intro-line { display:inline; }
  .corporate-footer .footer-top { display:grid; grid-template-columns:110px 1fr; gap:25px 22px; padding-top:40px; padding-bottom:25px; }
  .corporate-footer .footer-top img { width:110px; }
  .corporate-footer .footer-top p { font-size:14px; margin:0; }
  .corporate-footer .footer-top nav { grid-column:1/-1; margin:6px 0 0; font-size:13px; gap:15px 20px; }
  .corporate-footer .footer-end { display:grid; gap:17px; }
  .preview-note { text-align:left; }
  .company-main { padding-top:24px; }
  .company-intro { grid-template-columns:1fr; gap:32px; padding:40px 0 45px; }
  .company-intro h1 { font-size:38px; margin-bottom:22px; }
  .company-lead { font-size:19px; }
  .company-logo-panel { min-height:240px; gap:22px; }
  .company-logo-panel img { max-width:185px; }
  .company-logo-panel span { font-size:8px; }
  .profile-label { padding-top:0; }
  .profile-label h2 { font-size:22px; }
  .company-profile { padding-bottom:45px; }
  .company-profile dl>div { grid-template-columns:95px minmax(0,1fr); gap:15px; padding:22px 0; }
  .company-profile dt { font-size:13px; }
  .company-profile dd { font-size:16px; }
  .desktop-break { display:none; }
  .company-contact { display:block; padding:30px 24px; margin-bottom:0; }
  .company-contact h2 { font-size:27px; }
  .company-contact .button { width:100%; margin-top:25px; }
  .policy-main { padding-top:24px; }
  .policy-intro>p:last-child { font-size:16px; }
}
@media(max-width:360px) {
  header.corporate-header { padding-inline:20px; }
  .hero h1 { font-size:28px; }
  .hero .hero-lead { font-size:15px; }
  .about-heading h2 { font-size:26px; }
  .about-heading { min-height:290px; }
  .no0-watermark { height:165px; }
  .about-content h3 { font-size:20px; }
  .expertise-copy h4 { font-size:24px; }
  .expertise-copy p { font-size:14px; }
  .expertise-meta { inset:18px 18px auto; font-size:8px; letter-spacing:.06em; }
  .company-profile dl>div { grid-template-columns:80px minmax(0,1fr); gap:12px; }
  .corporate-footer .footer-top { grid-template-columns:90px 1fr; gap:20px; }
  .corporate-footer .footer-top img { width:90px; }
  .corporate-footer .footer-top p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .menu-toggle span { transition:none; } }
