@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600&display=swap');
:root{--b:#0c4f78;--bd:#062f49;--ink:#15242c;--muted:#697981;--paper:#f7f6f2;--line:rgba(21,36,44,.14);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}header{position:fixed;z-index:10;left:0;right:0;top:0;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,242,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{letter-spacing:.18em}.brand small{font-size:8px;letter-spacing:.32em;color:var(--b);margin-top:5px}.mark,.aboutmark{font-size:46px;line-height:.7;color:var(--b);transform:rotate(-28deg);display:inline-block}nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:600}.pill{border:1px solid var(--b);border-radius:999px;padding:9px 16px;color:var(--b)}#menu{display:none;background:none;border:0;font-size:22px}.wrap{max-width:var(--max);margin:auto}.hero{padding-top:86px;min-height:100vh;display:flex;flex-direction:column}.hero-grid{width:90%;flex:1;display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center;padding:45px 0}.eyebrow,.label{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--b)}h1,h2{font-family:'Noto Sans JP',Manrope,sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(48px,6vw,84px);margin:14px 0 22px}.lead{font-size:18px;color:var(--muted);max-width:700px}.actions{display:flex;gap:26px;align-items:center;margin-top:34px;font-weight:700;font-size:14px}.btn{display:inline-flex;border:0;border-radius:999px;background:var(--b);color:white;padding:13px 22px;font-weight:700}.visual{height:620px;position:relative;overflow:hidden;background:#e8f1f5}.visual:after,.visual:before{content:'';position:absolute;width:110%;height:1px;background:var(--b);left:-5%;top:50%}.visual:before{transform:rotate(34deg)}.visual:after{transform:rotate(-34deg)}.circle{position:absolute;width:210px;height:210px;border-radius:50%;background:white;right:12%;top:12%}.card{position:absolute;width:210px;height:165px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;z-index:2}.card span{font-size:11px}.card b{line-height:1.4;letter-spacing:.08em}.c1{left:8%;top:18%;background:var(--b);color:white}.c2{right:8%;bottom:10%;background:white}.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strip span{font-size:12px;padding:17px;text-align:center;border-right:1px solid var(--line)}.section{padding:115px 5vw}.split{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.split h2,.headline h2,.contact h2{font-size:clamp(42px,5vw,66px);margin:22px 0}.muted{color:var(--muted)}.services{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:65px}.service{min-height:360px;background:white;padding:32px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.service.dark{background:var(--bd);color:white}.service>span{font-size:10px;letter-spacing:.17em}.service h3{font-size:34px;margin:10px 0}.service p{max-width:470px}.service>b{position:absolute;right:28px;bottom:24px;font-size:32px}.blue{background:var(--b);color:white}.light{color:#acd1e3}.headline{display:grid;grid-template-columns:.4fr 1.6fr;gap:40px;margin:40px 0 80px}.two{display:grid;grid-template-columns:1fr 1fr;gap:80px}.big{font-size:22px;line-height:1.55}.soft{color:#d4e4ec}.benefits{border-top:1px solid rgba(255,255,255,.28)}.benefits article{display:grid;grid-template-columns:40px 130px 1fr;gap:18px;border-bottom:1px solid rgba(255,255,255,.28);padding:22px 0}.benefits h3,.benefits p{margin:0}.benefits span{font-size:11px;color:#acd1e3}.benefits p{font-size:14px;color:#d4e4ec}.flow{margin-top:80px;padding:25px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);display:flex;justify-content:center;align-items:center;gap:22px;font-size:12px;letter-spacing:.14em}.flow i{width:80px;height:1px;background:#acd1e3}.ink{color:var(--ink)}.problems{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.problems article{min-height:230px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.problems span{font-size:11px;color:var(--b)}.problems h3{margin-top:42px}.problems p{font-size:14px;color:var(--muted)}.solution{margin-top:65px;background:var(--bd);color:white;padding:45px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.solution h3{font-size:34px;line-height:1.2}.steps{display:grid;grid-template-columns:1fr 1fr}.steps div{padding:17px;border-left:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.steps b,.steps span{display:block}.steps b{font-size:11px;letter-spacing:.13em;color:#acd1e3}.steps span{font-size:13px;margin-top:6px}.process,.types{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;margin-top:90px}.process h3,.types h3{font-size:34px;line-height:1.2}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process li{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr}.process li span{font-size:11px;color:var(--b)}.tags{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tags span{padding:22px;background:white;border:1px solid var(--line);font-size:14px}.value{background:#e7eff2}.valuegrid{display:grid;grid-template-columns:1fr 1fr}.valuegrid article{padding:25px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.valuegrid p{font-size:13px;color:var(--muted)}.about{background:var(--bd);color:white;padding:65px;display:grid;grid-template-columns:100px 1fr .8fr;gap:45px;align-items:center}.aboutmark{color:white;font-size:80px}.about h2{font-size:clamp(40px,4.5vw,58px);margin:10px 0}.about p{color:#d4e4ec}.location{font-size:11px;letter-spacing:.15em;margin-top:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact form{display:flex;flex-direction:column;gap:18px}.contact label{font-size:11px;letter-spacing:.1em;font-weight:700}.contact input,.contact textarea,.contact select{width:100%;margin-top:5px;padding:10px 0;border:0;border-bottom:1px solid #9aabb3;background:transparent;font:inherit}.contact .btn{align-self:flex-start;margin-top:8px}.contact small{color:var(--muted);font-weight:400;letter-spacing:0}footer{padding:36px 5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto auto;gap:30px;align-items:center;font-size:11px}@media(max-width:980px){nav{display:none;position:absolute;top:86px;left:0;right:0;padding:22px;background:var(--paper);flex-direction:column;align-items:flex-start}nav.open{display:flex}#menu{display:block}.hero-grid,.split,.two,.process,.types,.contact{grid-template-columns:1fr}.headline{grid-template-columns:1fr}.visual{height:500px}.about{grid-template-columns:80px 1fr}.about>div:last-child{grid-column:2}.problems{grid-template-columns:1fr 1fr}.solution{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{height:74px;padding:0 20px}.hero{padding-top:74px}.hero-grid{width:calc(100% - 40px)}h1{font-size:42px}.visual{height:420px}.card{width:165px;height:135px;padding:16px}.card b{font-size:13px}.strip{grid-template-columns:1fr 1fr}.section{padding:80px 20px}.services{grid-template-columns:1fr}.service{min-height:310px}.benefits article{grid-template-columns:35px 1fr}.benefits p{grid-column:2}.flow{gap:10px;font-size:9px}.flow i{width:28px}.problems{grid-template-columns:1fr}.solution{padding:30px 22px}.steps,.tags,.valuegrid{grid-template-columns:1fr}.about{padding:38px 24px;grid-template-columns:1fr}.about>div:last-child{grid-column:auto}footer{grid-template-columns:1fr;gap:8px}}


/* Refinamiento visual + identidad Himori */
header{height:110px;background:rgba(255,255,255,.96);padding-left:3.2vw;padding-right:3.2vw}.hero{padding-top:110px}
.brand img{display:block;width:160px;height:100px;object-fit:cover;object-position:center}.brand{line-height:0}.mark{display:none}.hero-logo{display:block;width:250px;height:150px;object-fit:cover;object-position:center;margin:0 0 18px}.visual-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96);opacity:.82}.section-photo{height:420px;margin:0 0 72px;overflow:hidden}.section-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero{padding-top:92px}.hero-grid{width:91%;grid-template-columns:1.08fr .92fr;gap:64px;padding:54px 0 46px}
h1{font-size:clamp(46px,5.15vw,72px);max-width:790px;line-height:1.1;margin:18px 0 24px}
.lead{font-size:17px;max-width:690px;line-height:1.75}.visual{height:565px}
.actions{margin-top:38px}.strip span{padding:19px 14px}.section{padding-top:125px;padding-bottom:125px}
.services{margin-top:72px}.service{min-height:340px}.headline{margin-bottom:88px}
.about{grid-template-columns:220px 1fr .8fr}.about-logo{background:white;padding:22px 18px;align-self:stretch;display:flex;align-items:center;justify-content:center}.about-logo img{width:100%;height:auto}.aboutmark{display:none}
footer{background:#fff}.footer .brand img,footer .brand img{width:150px;height:94px;object-fit:cover}
@media(max-width:980px){header{height:86px}.hero{padding-top:86px}.hero-grid{gap:36px}.about{grid-template-columns:190px 1fr}.about-logo{grid-row:1 / span 2}.about>div:last-child{grid-column:2}}
@media(max-width:650px){header{height:76px}.hero{padding-top:76px}.brand img{width:126px}.hero-grid{width:calc(100% - 36px);padding-top:38px}h1{font-size:40px}.lead{font-size:16px}.visual{height:390px}.section{padding-top:82px;padding-bottom:82px}.about{grid-template-columns:1fr}.about-logo{grid-row:auto;max-width:210px}.about>div:last-child{grid-column:auto}footer .brand img{width:126px}}

/* Mayor presencia y contraste para las cuatro necesidades de compra */
.problems{gap:14px;border:0}
.problems article{min-height:285px;padding:34px;background:#e3eef4;border:1px solid rgba(12,79,120,.22)}
.problems span{font-size:13px;font-weight:700}
.problems h3{margin-top:46px;font-size:24px;line-height:1.35}
.problems p{font-size:16px;line-height:1.65;color:#4f626d}
@media(max-width:650px){.problems article{min-height:250px;padding:28px}.problems h3{margin-top:34px;font-size:22px}.problems p{font-size:16px}}

/* Mayor contraste y legibilidad para los beneficios de la gestión */
.valuegrid{gap:14px}
.valuegrid article{min-height:180px;padding:34px;background:#d2e3eb;border:1px solid rgba(12,79,120,.24)}
.valuegrid b{font-size:20px;line-height:1.35}
.valuegrid p{font-size:16px;line-height:1.65;color:#465b66}
@media(max-width:650px){.valuegrid article{min-height:165px;padding:28px}.valuegrid b{font-size:19px}.valuegrid p{font-size:16px}}

/* Acabado unificado para todos los cuadros informativos */
.problems,.tags,.valuegrid{gap:16px}
.problems article,.valuegrid article,.tags span{background:#d7e7ee;border:1px solid #aac5d2;border-top:4px solid var(--b);box-shadow:0 10px 24px rgba(6,47,73,.08)}
.problems article{min-height:290px;padding:34px}
.problems span{font-size:13px;font-weight:700}
.problems h3{font-size:25px;line-height:1.3;margin-top:42px}
.problems p{font-size:17px;line-height:1.65;color:#405864}
.tags span{min-height:132px;padding:30px;display:flex;align-items:center;font-size:18px;font-weight:600;line-height:1.45}
.valuegrid article{min-height:190px;padding:34px}
.valuegrid b{font-size:21px;line-height:1.35}
.valuegrid p{font-size:17px;line-height:1.65;color:#405864}
@media(max-width:650px){.problems,.tags,.valuegrid{gap:12px}.problems article{min-height:245px;padding:27px}.problems h3{font-size:22px;margin-top:30px}.problems p,.valuegrid p{font-size:16px}.tags span{min-height:105px;padding:24px;font-size:17px}.valuegrid article{min-height:165px;padding:27px}.valuegrid b{font-size:19px}}

/* Fotografías adicionales de compras y fabricación industrial */
.process::before,.types::before{content:"";display:block;grid-column:1 / -1;height:340px;background-position:center;background-size:cover;border-top:5px solid var(--b);box-shadow:0 14px 32px rgba(6,47,73,.12)}
.process::before{background-image:linear-gradient(90deg,rgba(6,47,73,.12),rgba(6,47,73,0)),url('industrial-components.png')}
.types::before{background-image:linear-gradient(90deg,rgba(6,47,73,.08),rgba(6,47,73,0)),url('precision-manufacturing.png')}
@media(max-width:650px){.process::before,.types::before{height:230px}}

/* Datos de contacto destacados */
.contact-details{display:grid;grid-template-columns:1fr;gap:12px;margin-top:36px;max-width:520px}
.contact-details a{display:flex;flex-direction:column;gap:7px;padding:22px 24px;background:#d7e7ee;border-left:5px solid var(--b);box-shadow:0 8px 22px rgba(6,47,73,.08)}
.contact-details span{font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--b)}
.contact-details strong{font-size:23px;line-height:1.25;color:var(--bd)}
.contact form small a{color:var(--b);font-weight:700}
.footer-contact{display:flex;flex-direction:column;gap:3px;color:var(--b);font-weight:700}
@media(max-width:650px){.contact-details strong{font-size:20px}.contact-details a{padding:19px 20px}.footer-contact{gap:6px}}

/* Formulario seguro y pantalla de confirmación */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mail-result{min-height:100vh;display:grid;place-items:center;padding:40px 20px;background:var(--paper)}
.mail-result-card{width:min(680px,100%);padding:54px;background:white;border-top:6px solid var(--b);box-shadow:0 18px 55px rgba(6,47,73,.14)}
.mail-result-logo{width:190px;height:auto;margin-bottom:32px}
.mail-result-card h1{font-size:clamp(38px,6vw,60px);margin:12px 0 22px}
.mail-result-card p{font-size:17px;color:var(--muted);max-width:560px}
.mail-result-card .btn{margin-top:24px}
.mail-result-card.error{border-top-color:#9b3c36}
@media(max-width:650px){.mail-result-card{padding:36px 25px}.mail-result-logo{width:155px}}
