/*
Theme Name: REX Gifu v2.4 - CF7 Direct
Author: OpenAI
Description: Custom Japanese corporate construction theme for 合同会社レックス.
Version: 2.4.0
Text Domain: rex-gifu
*/
:root{--navy:#06355f;--deep:#031f39;--blue:#0d5c9c;--ink:#17212b;--muted:#66727d;--line:#e5e9ed;--soft:#f5f7f9;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.97);box-shadow:0 2px 14px rgba(0,0,0,.08)}.head{min-height:96px;display:flex;align-items:center;gap:28px}.brand img{width:310px;max-height:84px;object-fit:contain}.nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px;font-weight:800}.nav a:hover{color:var(--blue)}.phone{background:var(--navy);color:#fff;padding:20px 22px;font-size:18px;font-weight:900;white-space:nowrap}
.hero{min-height:670px;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(1,24,46,.86),rgba(1,24,46,.18)),url('assets/images/hero.jpg') center/cover no-repeat}.hero-copy{max-width:750px}.eyebrow{letter-spacing:.2em;font-weight:800}.hero h1,.page-hero h1,.section h2{font-family:"Noto Serif JP","Yu Mincho",serif}.hero h1{font-size:clamp(45px,6vw,78px);line-height:1.35;margin:.15em 0}.hero p{font-size:18px;max-width:660px}.btn{display:inline-block;padding:13px 25px;margin-top:14px;font-weight:800;border:1px solid currentColor}.btn.fill{background:var(--navy);color:#fff;border-color:var(--navy)}
.section{padding:84px 0}.alt{background:var(--soft)}.title-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section h2{font-size:42px;line-height:1.25;margin:0}.en{display:block;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.2em;color:var(--blue);margin-top:7px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:420px;color:#fff;position:relative;overflow:hidden;display:flex;align-items:end;padding:28px;background-position:center;background-size:cover}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,23,43,.94),rgba(2,23,43,.04))}.service-card>div{position:relative;z-index:1}.service-card h3{font-size:30px;margin:0}.service-card p{margin:.4em 0}.civil{background-image:url('assets/images/civil.jpg')}.scaff{background-image:url('assets/images/scaffolding.jpg')}.demo{background-image:url('assets/images/demolition.jpg')}
.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.strength{border-top:4px solid var(--navy);padding:24px;background:#fff;box-shadow:0 7px 28px rgba(0,0,0,.06)}.strength b{font-size:21px}
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work{background:#fff;border:1px solid var(--line)}.work img{width:100%;height:225px;object-fit:cover}.work .txt{padding:20px}.work h3{margin:0}.note{font-size:12px;color:var(--muted)}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.about-photo{min-height:430px;background:url('assets/images/civil.jpg') center/cover}.facts{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);margin-top:25px}.facts div{padding:11px;border-bottom:1px solid var(--line)}
.contact-band{background:linear-gradient(90deg,var(--deep),var(--navy));color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.tel{font-size:34px;font-weight:900}.formbox{background:#fff;color:var(--ink);padding:30px}.formbox input,.formbox select,.formbox textarea{width:100%;padding:12px;border:1px solid #cbd2d8;margin:5px 0 15px;font:inherit}.formbox button{border:0;background:var(--navy);color:#fff;padding:14px 28px;font-weight:900}
.page-hero{min-height:390px;color:#fff;display:flex;align-items:end;padding:70px 0;background-position:center;background-size:cover}.page-hero h1{font-size:54px;margin:0}.page-hero.civil-hero{background-image:linear-gradient(90deg,rgba(2,27,52,.78),rgba(2,27,52,.15)),url('assets/images/civil.jpg')}.page-hero.scaff-hero{background-image:linear-gradient(90deg,rgba(2,27,52,.78),rgba(2,27,52,.15)),url('assets/images/scaffolding.jpg')}.page-hero.demo-hero{background-image:linear-gradient(90deg,rgba(2,27,52,.78),rgba(2,27,52,.15)),url('assets/images/demolition.jpg')}.page-hero.about-hero{background-image:linear-gradient(90deg,rgba(2,27,52,.82),rgba(2,27,52,.25)),url('assets/images/services-overview.png')}
.content-narrow{width:min(900px,92%);margin:auto}.lead{font-size:20px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.feature{background:var(--soft);padding:25px}.feature h3{color:var(--navy)}
footer{padding:36px 0}.foot{display:flex;justify-content:space-between;gap:30px;align-items:center}.foot img{width:250px}.small{font-size:12px;color:var(--muted)}
@media(max-width:980px){.nav{display:none}.brand img{width:220px}.phone{margin-left:auto;font-size:14px;padding:14px}.head{min-height:76px}.services,.strengths,.works,.about,.contact-grid,.feature-grid{grid-template-columns:1fr}.hero{min-height:570px}.section{padding:60px 0}.section h2{font-size:34px}.title-row{display:block}.page-hero h1{font-size:42px}.about-photo{min-height:300px}.foot{display:block}.hero h1{font-size:44px}}

/* REX header 480px FIX */
@media (min-width: 981px){
  .site-header .wrap.head{
    width:min(1480px,96%);
    min-height:132px;
    gap:18px;
  }
  .site-header .brand{
    flex:0 0 480px;
    width:480px;
  }
  .site-header .brand img{
    display:block;
    width:480px !important;
    max-width:none !important;
    max-height:116px !important;
    height:auto !important;
    object-fit:contain;
  }
  .site-header .nav{
    margin-left:auto;
    gap:15px;
    font-size:13px;
    white-space:nowrap;
  }
  .site-header .phone{
    padding:16px 16px;
    font-size:16px;
  }
}
@media (max-width: 980px){
  .site-header .brand{width:auto;flex:0 1 auto}
  .site-header .brand img{
    width:260px !important;
    max-width:58vw !important;
    height:auto !important;
  }
}

/* Contact Form 7 - REX styling */
.rex-cf7{margin-top:34px;background:#fff;padding:34px;box-shadow:0 7px 30px rgba(0,0,0,.08);border-top:4px solid var(--navy)}
.rex-cf7 .wpcf7-form p{margin:0 0 18px}
.rex-cf7 label{display:block;font-weight:700}
.rex-cf7 input[type="text"],
.rex-cf7 input[type="email"],
.rex-cf7 input[type="tel"],
.rex-cf7 select,
.rex-cf7 textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cbd2d8;background:#fff;font:inherit;border-radius:0}
.rex-cf7 textarea{min-height:180px}
.rex-cf7 input[type="submit"]{border:0;background:var(--navy);color:#fff;padding:15px 38px;font-weight:900;font-size:16px;cursor:pointer}
.rex-cf7 input[type="submit"]:hover{background:var(--blue)}
.rex-cf7 .wpcf7-acceptance label{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.rex-cf7 .wpcf7-response-output{margin:20px 0 0!important;padding:12px 16px!important}
@media(max-width:980px){.rex-cf7{padding:22px}}
