@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

:root {
  --ink:#111;
  --muted:#6c6c6c;
  --line:#dedede;
  --paper:#f6f6f3;
  --accent:#2455ff;
  --blue:#2455ff;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Noto Sans JP",sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,245,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}
.logo{display:flex;align-items:center}.logo img{width:112px;height:auto;display:block}
.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:1.2px}
.nav a{position:relative}.nav a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#111;transition:.25s}.nav a:hover:after{width:100%}
.nav-contact{padding:12px 18px;border:1px solid #111}.menu-toggle{display:none;background:none;border:0;font-size:25px}
.hero{min-height:820px;position:relative;overflow:hidden;background:#101010;color:#fff;padding:190px 7vw 120px;display:flex;align-items:center}
.hero-inner{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:700;margin:0 0 22px}.hero h1{font-size:clamp(60px,9vw,132px);line-height:.92;letter-spacing:-6px;margin:0 0 38px;font-weight:800}.hero h1 span{color:var(--accent)}.hero-copy{font-size:16px;color:#d2d2d2;margin-bottom:38px}
.button,.contact-button{display:inline-flex;align-items:center;gap:32px;padding:17px 23px;border:1px solid currentColor;font-size:12px;font-weight:800;letter-spacing:1.5px;transition:.25s}.button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.hero-shape{box-shadow:0 0 80px rgba(36,85,255,.08);position:absolute;right:-8%;top:7%;width:55vw;height:70vw;max-height:900px;border:1px solid #303030;border-radius:50%;transform:rotate(-25deg)}.hero-grid{position:absolute;right:4%;bottom:-10%;width:44vw;height:55vw;background:repeating-linear-gradient(90deg,transparent 0 70px,#252525 71px 72px),repeating-linear-gradient(0deg,transparent 0 70px,#252525 71px 72px);opacity:.35;transform:skewY(-14deg)}
.section{max-width:var(--max);margin:auto;padding:145px 5vw}.section-label{font-size:10px;font-weight:800;letter-spacing:2px;border-top:1px solid var(--line);padding-top:15px;margin-bottom:75px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.section h2{font-size:clamp(42px,5vw,72px);line-height:1.1;letter-spacing:-3px;margin:0}.section h2 span{color:var(--blue)}.lead{font-size:18px;max-width:560px}.lead p+p{margin-top:25px;color:var(--muted)}
.service{background:#111;color:#fff;max-width:none;padding-left:max(5vw,calc((100vw - var(--max))/2 + 5vw));padding-right:max(5vw,calc((100vw - var(--max))/2 + 5vw))}.service .section-label{border-color:#333}.service .section-heading{margin-bottom:70px}.service h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.card{background:#111;min-height:420px;padding:40px;position:relative;transition:.3s}.card:hover{background:#191919;transform:translateY(-8px)}.card-no{position:absolute;top:28px;right:28px;font-size:11px;color:#666}.icon{font-size:46px;color:var(--accent);margin-bottom:70px}.card h3{font-size:24px;letter-spacing:-1px;margin:0 0 20px}.card p{color:#aaa;font-size:14px}.card a{display:block;margin-top:35px;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--accent)}
.strength{background:#fff;max-width:none;padding-left:max(5vw,calc((100vw - var(--max))/2 + 5vw));padding-right:max(5vw,calc((100vw - var(--max))/2 + 5vw))}.strength .two-col{max-width:var(--max);margin:auto}.strength-list{border-top:1px solid var(--line)}.strength-item{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.strength-item strong{font-size:12px;color:#8a8a8a}.strength-item h3{font-size:14px;letter-spacing:1.5px;margin:0 0 7px}.strength-item p{margin:0;color:var(--muted);font-size:14px}
.recruit{background:var(--accent);padding:130px 7vw}.recruit-inner{max-width:var(--max);margin:auto}.recruit h2{font-size:clamp(55px,8vw,110px);line-height:.95;letter-spacing:-5px;margin:0 0 30px}.recruit p:not(.eyebrow){max-width:560px;margin-bottom:35px}.button.light{border-color:#111}
.company{background:var(--paper)}.company-table{max-width:900px;margin-top:70px;border-top:1px solid var(--line)}.company-table>div{display:grid;grid-template-columns:180px 1fr;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.company-table dt{font-weight:700}.company-table dd{margin:0;color:#555}
.contact{background:#111;color:#fff;padding:150px 7vw}.contact-inner{max-width:var(--max);margin:auto}.contact h2{font-size:clamp(55px,8vw,110px);line-height:.9;letter-spacing:-5px;margin:0 0 35px}.contact h2 span{color:var(--accent)}.contact p:not(.eyebrow){max-width:540px;color:#aaa;margin-bottom:40px}.contact-button{color:var(--accent)}
footer{background:#0a0a0a;color:#fff;padding:45px 5vw 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:70px}.footer-links{display:flex;gap:28px;font-size:10px;font-weight:700;letter-spacing:1.2px}.footer-bottom{border-top:1px solid #252525;padding-top:18px;display:flex;justify-content:space-between;color:#666;font-size:10px}

@media(max-width:800px){
 .site-header{height:70px}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px;background:#f7f7f5;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}
 .hero{min-height:760px;padding:150px 7vw 80px}.hero h1{letter-spacing:-3px}.hero-shape{box-shadow:0 0 80px rgba(36,85,255,.08);width:100vw;height:120vw}.hero-grid{width:80vw;height:90vw}
 .section{padding:100px 7vw}.section-label{margin-bottom:50px}.two-col{grid-template-columns:1fr;gap:55px}.cards{grid-template-columns:1fr}.card{min-height:340px}.icon{margin-bottom:45px}.strength .two-col{grid-template-columns:1fr}
 .recruit,.contact{padding:100px 7vw}.recruit h2,.contact h2{letter-spacing:-3px}.company-table>div{grid-template-columns:120px 1fr}
 .footer-top{align-items:flex-start;flex-direction:column;gap:35px}.footer-links{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}
}

/* LINQS brand treatment */
.logo img { filter: none; }

@media(max-width:800px){
  .logo img{width:96px}
}

/* LINQS BLUE BRAND SYSTEM */
:root {
  --accent:#2455ff;
  --blue:#2455ff;
  --blue-light:#5b7cff;
}
.hero {
  background:
    radial-gradient(circle at 78% 48%, rgba(36,85,255,.16), transparent 25%),
    #101010;
}
.hero h1 span { color: var(--accent); }
.section h2 span { color: var(--blue); }
.card a, .icon { color: var(--accent); }
.recruit {
  background: var(--accent);
  color: #fff;
}
.contact-button { color: #fff; border-color: var(--blue-light); }
