/* Contact page only: matches the front-page Bauhaus palette without changing legacy templates. */
body.sl-contact-page { min-width:0!important; width:100%; margin:0; }
body.sl-contact-page .sl-home { width:100%; min-width:0; }
body.sl-contact-page .sl-home h1, body.sl-contact-page .sl-home h2 { position:static; display:block; width:auto; height:auto; min-height:0; padding:0; border:0; background:none; text-align:left; }
body.sl-contact-page .sl-home .sl-nav > a.sl-nav-contact { color:#fff!important; }
body.sl-contact-page .mw_wp_form input[type="submit"], body.sl-contact-page .mw_wp_form input[type="button"] { background:var(--sl-ink)!important; color:#fff!important; }
body.sl-contact-page .mw_wp_form input[name="back"] { background:var(--sl-paper)!important; color:var(--sl-ink)!important; }
body.sl-contact-page { --sl-ink:#16181c; --sl-charcoal:#24272c; --sl-cloud:#ebe6da; --sl-paper:#f4f0e6; --sl-blue:#1f4fa3; --sl-yellow:#f3c21b; --sl-red:#e2412b; --sl-line:rgba(22,24,28,.16); background:var(--sl-paper)!important; color:var(--sl-ink); font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif; text-align:left; }
body.sl-contact-page *,body.sl-contact-page *::before,body.sl-contact-page *::after { box-sizing:border-box; }
body.sl-contact-page .sl-home { min-height:100vh; overflow:clip; background:var(--sl-paper); }
body.sl-contact-page .sl-home a { color:inherit!important; text-decoration:none; }
body.sl-contact-page .sl-home a:focus-visible,body.sl-contact-page .sl-home summary:focus-visible,body.sl-contact-page input:focus-visible,body.sl-contact-page textarea:focus-visible,body.sl-contact-page select:focus-visible { outline:3px solid var(--sl-blue); outline-offset:3px; }
body.sl-contact-page .sl-site-header,body.sl-contact-page .sl-kicker,body.sl-contact-page .sl-site-footer { font-family:"Space Grotesk","Noto Sans JP",sans-serif; }
.sl-contact-page .sl-site-header { position:absolute; z-index:5; top:0; left:0; display:flex; align-items:center; justify-content:space-between; width:100%; padding:24px clamp(18px,4vw,64px); }
.sl-contact-page .sl-logo-plate { display:flex; align-items:center; width:clamp(160px,16vw,226px); height:48px; padding:10px 14px; border:1px solid rgba(28,32,37,.24); background:var(--sl-cloud); }.sl-contact-page .sl-logo-plate img { display:block; width:100%; height:auto; }
.sl-contact-page .sl-nav { display:flex; align-items:center; gap:clamp(18px,2.6vw,42px); font:500 10px "IBM Plex Mono",monospace; letter-spacing:.08em; }.sl-contact-page .sl-nav>a { position:relative; padding:9px 0; }.sl-contact-page .sl-nav>a:not(.sl-nav-contact)::after { position:absolute; right:0; bottom:1px; left:0; height:1px; background:var(--sl-blue); content:""; transform:scaleX(0); transition:transform .24s ease; }.sl-contact-page .sl-nav>a:hover::after { transform:scaleX(1); }.sl-contact-page .sl-nav-contact { padding:11px 15px!important; background:var(--sl-ink); color:#fff!important; }.sl-contact-page .sl-nav-contact span { color:var(--sl-yellow); }
.sl-contact-page .sl-mobile-nav { display:none; }
.sl-contact-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.48fr); gap:clamp(30px,8vw,150px); min-height:600px; padding:clamp(150px,20vh,210px) clamp(18px,7vw,112px) 82px; overflow:hidden; border-bottom:1px solid var(--sl-line); background-color:var(--sl-paper); background-image:linear-gradient(var(--sl-line) 1px,transparent 1px),linear-gradient(90deg,var(--sl-line) 1px,transparent 1px); background-size:56px 56px; }.sl-contact-hero>div,.sl-contact-side { position:relative; z-index:1; }.sl-contact-page .sl-kicker { display:flex; align-items:center; gap:11px; margin:0; font:600 10px/1.5 "IBM Plex Mono",monospace; letter-spacing:.12em; }.sl-contact-page .sl-kicker span { display:grid; width:24px; height:24px; place-items:center; background:var(--sl-blue); color:#fff; font-size:9px; }.sl-contact-hero h1 { margin:29px 0 0; font:600 clamp(46px,6vw,88px)/1.08 "Space Grotesk","Noto Sans JP",sans-serif; letter-spacing:-.075em; }.sl-contact-hero h1 em { color:var(--sl-blue); font-style:normal; }.sl-contact-hero>div>p:last-child { max-width:590px; margin:28px 0 0; font-size:16px; line-height:2; }.sl-contact-side { align-self:end; display:grid; gap:24px; padding:25px; background:var(--sl-ink); color:#fff; box-shadow:12px 12px 0 var(--sl-yellow); }.sl-contact-side span { font:10px/1.7 "IBM Plex Mono",monospace; letter-spacing:.1em; }.sl-contact-side strong { color:var(--sl-yellow); font:600 clamp(42px,5vw,74px)/.82 "Space Grotesk",sans-serif; letter-spacing:-.08em; }.sl-contact-orb { position:absolute; border-radius:50%; pointer-events:none; }.sl-contact-orb--red { top:28%; right:8%; width:clamp(42px,7vw,96px); height:clamp(42px,7vw,96px); background:var(--sl-red); }.sl-contact-orb--yellow { right:34%; bottom:-44px; width:100px; height:100px; background:var(--sl-yellow); }
.sl-contact-form-section { display:grid; grid-template-columns:minmax(250px,.55fr) minmax(0,1fr); gap:clamp(32px,8vw,130px); padding:clamp(72px,10vw,150px) clamp(18px,7vw,112px); background:var(--sl-cloud); }.sl-contact-form-intro h2 { margin:20px 0 0; font:600 clamp(34px,4.2vw,60px)/1.1 "Space Grotesk","Noto Sans JP",sans-serif; letter-spacing:-.06em; }.sl-contact-form-intro>p:last-child { max-width:370px; margin:22px 0 0; font-size:14px; line-height:2; }.sl-contact-form-wrap { min-width:0; padding:clamp(20px,3vw,42px); border:1px solid var(--sl-ink); background:var(--sl-paper); box-shadow:12px 12px 0 var(--sl-blue); }
.sl-contact-page .mw_wp_form { width:100%; }.sl-contact-page .mw_wp_form form,.sl-contact-page .mw_wp_form table { width:100%; }.sl-contact-page .mw_wp_form table { border-collapse:collapse; }.sl-contact-page .mw_wp_form tr { display:block; padding:0 0 22px; margin:0 0 22px; border-bottom:1px solid var(--sl-line); }.sl-contact-page .mw_wp_form th,.sl-contact-page .mw_wp_form td { display:block; width:100%; padding:0; border:0; text-align:left; vertical-align:top; }.sl-contact-page .mw_wp_form th { margin-bottom:9px; font:600 12px "IBM Plex Mono",monospace; letter-spacing:.08em; }.sl-contact-page .mw_wp_form td { font-size:14px; line-height:1.8; }.sl-contact-page .mw_wp_form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),.sl-contact-page .mw_wp_form select,.sl-contact-page .mw_wp_form textarea { width:100%; max-width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--sl-ink); border-radius:0; background:#fff; color:var(--sl-ink); font:400 16px/1.5 "Noto Sans JP",sans-serif; }.sl-contact-page .mw_wp_form textarea { min-height:150px; resize:vertical; }.sl-contact-page .mw_wp_form input[type="checkbox"],.sl-contact-page .mw_wp_form input[type="radio"] { accent-color:var(--sl-blue); }.sl-contact-page .mw_wp_form label { display:inline-flex; gap:7px; align-items:center; margin:5px 16px 5px 0; cursor:pointer; }.sl-contact-page .mw_wp_form .error,.sl-contact-page .mw_wp_form .mwform-err { display:block; margin-top:7px; color:#b71916; font-size:13px; font-weight:700; }.sl-contact-page .mw_wp_form input[type="submit"],.sl-contact-page .mw_wp_form input[type="button"],.sl-contact-page .mw_wp_form button { min-height:49px; margin:9px 10px 0 0; padding:12px 22px; border:1px solid var(--sl-ink); border-radius:0; background:var(--sl-ink); color:#fff; cursor:pointer; font:600 11px "IBM Plex Mono",monospace; letter-spacing:.1em; }.sl-contact-page .mw_wp_form input[name="back"],.sl-contact-page .mw_wp_form .mwform-back-button input { background:var(--sl-paper); color:var(--sl-ink); }.sl-contact-page .mw_wp_form input[type="submit"]:hover,.sl-contact-page .mw_wp_form button:hover { box-shadow:4px 4px 0 var(--sl-yellow); transform:translate(-2px,-2px); }.sl-contact-page .mw_wp_form_confirm,.sl-contact-page .mw_wp_form_complete { padding:16px; border-left:6px solid var(--sl-blue); background:#fff; }.sl-contact-page .mw_wp_form_complete { border-left-color:var(--sl-yellow); }
.sl-contact-page .sl-site-footer { display:flex; justify-content:space-between; gap:18px; padding:20px clamp(18px,4vw,64px); background:var(--sl-ink); color:#fff; font-size:9px; letter-spacing:.1em; }
body.sl-contact-page .sl-home .sl-contact-form-intro a,body.sl-contact-page .sl-home .sl-privacy-consent a { color:var(--sl-blue)!important; text-decoration:underline; text-underline-offset:3px; }.sl-contact-page .sl-privacy-consent { padding:16px 0 20px; margin:0 0 24px; border-top:1px solid var(--sl-ink); border-bottom:1px solid var(--sl-line); }.sl-contact-page .sl-privacy-consent__notice { margin:0 0 9px; font-size:13px; line-height:1.8; }.sl-contact-page .sl-privacy-consent__choice { margin:0; }.sl-contact-page .sl-privacy-consent label { font-weight:700; }.sl-contact-page .sl-new-window { margin-left:2px; white-space:nowrap; }
@media (max-width:820px) { .sl-contact-page .sl-site-header { padding:18px; }.sl-contact-page .sl-nav { display:none; }.sl-contact-page .sl-mobile-nav { position:relative; display:block; }.sl-contact-page .sl-mobile-nav summary { display:flex; align-items:center; gap:10px; padding:10px 0; cursor:pointer; font:600 10px "IBM Plex Mono",monospace; letter-spacing:.1em; list-style:none; }.sl-contact-page .sl-mobile-nav summary::-webkit-details-marker { display:none; }.sl-contact-page .sl-menu-mark,.sl-contact-page .sl-menu-mark::before { display:block; width:20px; height:1px; background:var(--sl-ink); content:""; }.sl-contact-page .sl-menu-mark { transform:translateY(3px); }.sl-contact-page .sl-menu-mark::before { transform:translateY(-6px); }.sl-contact-page .sl-mobile-nav[open] .sl-menu-mark { transform:rotate(45deg); }.sl-contact-page .sl-mobile-nav[open] .sl-menu-mark::before { transform:rotate(-90deg); }.sl-contact-page .sl-mobile-nav nav { position:absolute; top:53px; right:0; display:grid; width:min(270px,calc(100vw - 36px)); padding:10px 17px; background:var(--sl-ink); color:#fff; box-shadow:8px 8px 0 var(--sl-yellow); }.sl-contact-page .sl-mobile-nav nav a { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.2); font:12px "IBM Plex Mono",monospace; letter-spacing:.08em; }.sl-contact-page .sl-mobile-nav nav a:last-child { border:0; color:var(--sl-yellow)!important; }.sl-contact-hero { display:block; min-height:auto; padding:135px 18px 70px; background-size:42px 42px; }.sl-contact-hero h1 { margin-top:22px; font-size:clamp(43px,12.5vw,61px); }.sl-contact-hero>div>p:last-child { margin-top:20px; font-size:14px; line-height:1.95; }.sl-contact-side { max-width:260px; margin:52px 12px 0 auto; }.sl-contact-form-section { display:block; padding:76px 18px; }.sl-contact-form-intro>p:last-child { margin-bottom:36px; }.sl-contact-form-wrap { padding:20px; box-shadow:8px 8px 0 var(--sl-blue); }.sl-contact-page .mw_wp_form input[type="submit"],.sl-contact-page .mw_wp_form input[type="button"],.sl-contact-page .mw_wp_form button { width:100%; margin-right:0; }.sl-contact-page .sl-site-footer { align-items:flex-start; flex-direction:column; padding:17px 18px; font-size:8px; } }
@media (prefers-reduced-motion:reduce) { .sl-contact-page *, .sl-contact-page *::before, .sl-contact-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
