/* FERS ORIGINAL – independently authored visual system. */
:root{--fers-ink:#191c1c;--fers-muted:#686c6b;--fers-border:#dadfdc;--fers-width:1120px;--fers-accent:#80e2ae;--fers-dark:#101918;--fers-paper:#fafaf8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fers-paper);color:var(--fers-ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:16px;line-height:1.85}
a{color:inherit}a:hover{opacity:.72}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--fers-accent);outline-offset:4px}
img,video,iframe{max-width:100%;height:auto}.site-container{max-width:var(--fers-width);padding-inline:clamp(22px,4vw,52px);margin-inline:auto}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;color:white;background:transparent}
body:not(.home) .site-header{position:relative;background:var(--fers-dark)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px}
.brand{display:flex;flex-direction:column;gap:0}.brand-name{font-size:clamp(21px,2.3vw,29px);line-height:1.1;font-weight:800;letter-spacing:.08em;text-decoration:none}.brand-tagline{font-size:10px;letter-spacing:.15em;opacity:.72}
.nav-list,.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:clamp(12px,1.5vw,28px)}.nav-list a,.footer-menu a{text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em}.nav-toggle{display:none;border:1px solid rgba(255,255,255,.6);background:transparent;color:white;padding:6px 15px;font-weight:700}
.fers-hero{position:relative;min-height:100svh;display:grid;align-items:center;isolation:isolate;background:#141918;color:white;overflow:hidden}
.fers-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) brightness(.64)}
.fers-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(7,15,13,.75),rgba(7,15,13,.1) 65%),linear-gradient(0deg,rgba(5,10,10,.6),transparent 40%)}
.fers-hero-inner{width:100%;padding-top:120px;padding-bottom:100px}.fers-eyebrow{letter-spacing:.32em;font-size:clamp(10px,1vw,13px);font-weight:700;margin-bottom:22px}.fers-hero h1{font-size:clamp(60px,13vw,160px);font-weight:800;letter-spacing:-.075em;line-height:.96;margin:0 0 25px;white-space:nowrap}.fers-dot{color:var(--fers-accent)}
.fers-hero-tagline{font-size:clamp(17px,2.1vw,27px);letter-spacing:.14em;margin:0}.fers-scroll-cue{position:absolute;bottom:clamp(24px,6vh,70px);left:max(22px,calc((100vw - var(--fers-width))/2 + 52px));display:flex;gap:20px;font-size:10px;font-weight:700;letter-spacing:.18em;text-decoration:none}
.fers-section{padding-block:clamp(88px,12vw,175px);scroll-margin-top:70px}.fers-section-kicker{color:#60776a;font-size:12px;font-weight:800;letter-spacing:.2em;margin:0 0 18px}.fers-section h2{font-size:clamp(42px,7vw,88px);line-height:1.08;letter-spacing:-.05em;margin:0 0 40px;font-weight:750}.fers-lead{font-size:clamp(20px,2.7vw,30px);line-height:1.9;max-width:850px;font-weight:500}
.fers-services{background:#141f1b;color:#fff}.fers-services .fers-section-kicker,.fers-projects .fers-section-kicker{color:var(--fers-accent)}
.fers-service-list{padding:0;margin:0;list-style:none;border-top:1px solid #526259}.fers-service-list li{padding:27px 0;display:grid;grid-template-columns:90px 1fr;gap:18px;border-bottom:1px solid #526259}.service-number{font-size:12px;color:var(--fers-accent);font-weight:700}.fers-service-list h3{font-size:clamp(22px,3vw,37px);letter-spacing:-.025em;line-height:1.3;margin:0 0 6px;font-weight:650}.fers-service-list p{margin:0;color:#bac6bf;font-size:14px}
.fers-company-list{margin:0;max-width:900px;border-top:1px solid var(--fers-border)}.fers-company-list>div{display:grid;grid-template-columns:minmax(100px,25%) 1fr;border-bottom:1px solid var(--fers-border);padding:24px 0;gap:22px}.fers-company-list dt{font-size:13px;font-weight:700;color:var(--fers-muted)}.fers-company-list dd{margin:0;font-weight:600}
.fers-projects{background:#192e28;color:#fff}.fers-projects p:not(.fers-section-kicker){font-size:clamp(18px,2vw,23px)}.fers-text-link{display:inline-flex;align-items:center;gap:35px;margin-top:25px;text-decoration:none;border-bottom:1px solid var(--fers-accent);padding-bottom:12px;font-size:14px;font-weight:700;letter-spacing:.12em}
.fers-contact{text-align:center}.fers-contact-link{display:inline-flex;gap:45px;padding:16px 29px;background:var(--fers-ink);color:white;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.15em;margin-top:28px}
.site-main{max-width:var(--fers-width);margin:auto;padding-top:80px;padding-bottom:100px;min-height:55vh}.entry-page,.entry-single{max-width:850px}.entry-content{overflow-wrap:anywhere}.entry-title{line-height:1.3}.entry-summary{padding:28px 0;border-bottom:1px solid var(--fers-border)}.entry-summary .entry-title a{text-decoration:none}.entry-date{color:var(--fers-muted);font-size:13px}
.site-footer{background:#0f1815;color:#cad3cd}.footer-inner{padding-top:38px;padding-bottom:38px;font-size:13px}.footer-menu{margin-bottom:18px}.footer-widgets{margin-bottom:24px}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{clip:auto;z-index:10000;height:auto;width:auto;padding:8px;background:white;color:black}
.alignwide{max-width:1120px}.alignfull{width:100%;max-width:none}.wp-block-image img{height:auto}
@media(max-width:760px){.header-inner{padding-block:21px}.nav-toggle{display:block;z-index:2}.site-navigation{display:none;position:absolute;top:75px;left:0;right:0;background:#0f1c18;padding:25px 26px}.site-navigation.is-open{display:block}.nav-list{flex-direction:column;gap:18px}.nav-list a{font-size:14px}.fers-hero h1{font-size:clamp(52px,13vw,86px)}.fers-hero-inner{padding-top:155px}.fers-scroll-cue{left:24px}.fers-service-list li{grid-template-columns:38px 1fr}.fers-section{padding-block:80px}.fers-company-list>div{grid-template-columns:100px 1fr}.site-main{padding-top:48px}.footer-menu{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
