/*
Theme Name: Hirano Construction
Theme URI: https://hirano-construction-asakura.yf0000.chatgpt.site/
Author: Hirano Construction
Description: 株式会社平野建設の公式WordPressテーマ
Version: 1.13.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hirano-construction
*/
:root{--navy:#0b2b56;--blue:#003989;--cyan:#5f91c4;--ice:#edf3f7;--ink:#10283d;--red:#c8333d;--line:#cbd8e2;--background:#fff;--foreground:#10283d;--card:#fff;--card-foreground:#10283d;--popover:#fff;--popover-foreground:#10283d;--primary:#003989;--primary-foreground:#fff;--secondary:#edf3f7;--secondary-foreground:#10283d;--muted:#edf3f7;--muted-foreground:#587085;--accent:#dce8f1;--accent-foreground:#003989;--destructive:#c8333d;--border:#cbd8e2;--input:#cbd8e2;--ring:#5f91c4;--radius:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,84px);color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:37px;height:44px;display:grid;place-items:center;transform:skew(-13deg);background:linear-gradient(145deg,#e7424a,#8e101b);box-shadow:inset -6px 0 rgba(0,0,0,.15)}.brand-mark i{transform:skew(13deg);font-family:Georgia,serif;font-size:26px;font-weight:700}.brand b{display:block;font-family:Georgia,serif;letter-spacing:.18em;font-size:18px}.brand small{display:block;font-size:8px;letter-spacing:.22em;margin-top:2px}.desktop-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,42px);font-size:13px;letter-spacing:.08em}.desktop-nav>a:not(.nav-contact){position:relative}.desktop-nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:#fff;transition:.25s}.desktop-nav>a:hover:after{width:100%}.nav-contact{display:flex;align-items:center;gap:24px;padding:15px 18px 15px 24px;border:1px solid rgba(255,255,255,.55)}.menu-button{display:none;background:transparent;color:#fff;border:0}.hero{position:relative;min-height:820px;height:100svh;color:#fff;overflow:hidden;background:var(--navy)}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,42,.82) 0%,rgba(3,30,54,.48) 44%,rgba(3,28,51,.08) 77%),url('assets/images/hirano-hero.png') center/cover no-repeat;transform:scale(1.015)}.hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero:after{content:"";position:absolute;z-index:1;left:-7%;bottom:-16%;width:67%;height:32%;background:var(--blue);transform:skewX(-28deg);opacity:.9}.hero-content{position:relative;z-index:3;padding:clamp(190px,24vh,260px) clamp(28px,9vw,150px) 100px}.eyebrow{display:flex;align-items:center;gap:15px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.22em}.eyebrow span{display:grid;place-items:center;width:27px;height:27px;border:1px solid currentColor;font-family:Georgia,serif;font-size:14px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(48px,5.1vw,82px);line-height:1.38;letter-spacing:.12em;margin:30px 0 28px;text-shadow:0 2px 22px rgba(0,0,0,.2)}.hero-lead{font-family:"Yu Mincho",serif;font-size:clamp(15px,1.25vw,19px);line-height:2;letter-spacing:.12em}.round-link{display:grid;place-items:center;width:64px;height:64px;margin-top:36px;border:1px solid rgba(255,255,255,.65);border-radius:50%;transition:.25s}.round-link:hover{background:#fff;color:var(--blue);transform:translateY(4px)}.hero-meta{position:absolute;z-index:3;left:clamp(28px,5vw,84px);right:clamp(28px,5vw,84px);bottom:32px;display:flex;justify-content:space-between;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.2em}.hero-number{position:absolute;z-index:2;right:-18px;bottom:-70px;font-family:Arial,sans-serif;font-weight:800;font-size:clamp(180px,25vw,410px);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.23)}.section{max-width:1500px;margin:auto;padding:150px clamp(28px,7vw,110px)}.intro{display:grid;grid-template-columns:170px 1fr;gap:0 7vw}.section-label{display:flex;align-items:flex-start;gap:24px}.section-label span{font-family:Arial,sans-serif;font-size:12px;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:5px}.section-label p{margin:0;writing-mode:vertical-rl;font-family:Georgia,serif;letter-spacing:.17em;color:#7990a2}.intro-copy{max-width:840px}.kicker{color:var(--blue);font-weight:700;letter-spacing:.12em;margin:0 0 24px}.intro h2{font-family:"Yu Mincho",serif;font-size:clamp(44px,5vw,76px);font-weight:500;letter-spacing:.1em;line-height:1.42;margin:0}.body-copy{max-width:690px;margin:40px 0 0 auto;font-size:16px;line-height:2.25;letter-spacing:.05em;color:#435b6e}.intro-stats{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:95px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-stats div{padding:32px 30px;border-right:1px solid var(--line)}.intro-stats div:last-child{border-right:0}.intro-stats strong{font-family:Georgia,serif;font-size:clamp(38px,4vw,62px);font-weight:400;color:var(--blue)}.intro-stats span{display:block;margin-top:10px;font-size:13px;color:#60778a}
@media(max-width:900px){.site-header{height:76px}.desktop-nav{display:none}.menu-button{display:block}.hero{min-height:720px}.hero-content{padding-top:160px}.hero h1{font-size:clamp(39px,10vw,58px);letter-spacing:.06em}.hero:after{width:90%;height:22%}.section{padding-top:100px;padding-bottom:100px}.intro{grid-template-columns:1fr}.section-label{margin-bottom:42px}.section-label p{writing-mode:initial}.intro-stats{grid-column:1;margin-top:65px}.intro-stats div{padding:24px 14px}.intro-stats strong{font-size:32px}.intro-stats span{font-size:11px}}@media(max-width:560px){.brand b{font-size:15px}.hero{height:92svh}.hero-content{padding-left:24px;padding-right:24px}.hero-lead{font-size:14px}.hero-meta span:last-child{display:none}.intro-stats{grid-template-columns:1fr}.intro-stats div{border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:18px}.intro-stats div:last-child{border-bottom:0}.intro h2{font-size:40px}.body-copy{line-height:2}}
.business{background:var(--navy);color:#fff;overflow:hidden}.business-head{display:grid;grid-template-columns:170px 1fr 330px;align-items:end;gap:7vw;padding-bottom:80px}.inverse span{color:var(--cyan);border-color:var(--cyan)}.pale{color:#73c5e7}.business h2,.strength h2,.works-copy h2,.company h2,.contact h2{font-family:"Yu Mincho",serif;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.45;letter-spacing:.09em;margin:0}.business-intro{font-size:15px;line-height:2.2;color:#b7cad9}.business-list{max-width:1500px;margin:auto;border-top:1px solid rgba(255,255,255,.22)}.business-list article{position:relative;display:grid;grid-template-columns:80px 80px 1fr 60px;align-items:center;gap:35px;padding:50px clamp(28px,7vw,110px);border-bottom:1px solid rgba(255,255,255,.22);transition:.3s}.business-list article:hover{background:#0a4b80}.business-list article>svg:not(.card-arrow){width:48px;height:48px;color:var(--cyan);stroke-width:1.2}.card-no{font-family:Georgia,serif;color:#7894aa}.business-list small{font-family:Arial,sans-serif;letter-spacing:.18em;color:#75b6d2}.business-list h3{font-family:"Yu Mincho",serif;font-size:30px;letter-spacing:.08em;margin:8px 0}.business-list p{max-width:600px;color:#afc3d2;line-height:1.9;margin:0}.card-arrow{justify-self:end}.strength{display:grid;grid-template-columns:170px 1fr;gap:7vw}.strength-content{max-width:1050px}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:80px;border-top:1px solid var(--line)}.strength-grid article{padding:38px 30px 10px 0;border-right:1px solid var(--line);margin-right:30px}.strength-grid article:last-child{border:0}.strength-grid b{font-family:Georgia,serif;color:var(--blue);font-size:13px}.strength-grid h3{font-family:"Yu Mincho",serif;font-size:25px;line-height:1.6;letter-spacing:.08em;margin:25px 0}.strength-grid p{font-size:14px;line-height:2;color:#5c7182}.works-preview{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--blue);color:#fff}.works-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:70px;background:linear-gradient(140deg,#0a375d,#0878b4)}.works-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(128deg,transparent 38%,rgba(255,255,255,.08) 38%,rgba(255,255,255,.08) 58%,transparent 58%)}.works-visual svg,.works-visual p{position:relative;z-index:2}.works-visual svg{color:#7ed4f2;stroke-width:1}.works-visual p{font:11px Arial,sans-serif;letter-spacing:.2em}.contour{position:absolute;width:620px;height:620px;top:-130px;right:-120px;border:1px solid rgba(255,255,255,.16);border-radius:48% 52% 43% 57%;box-shadow:0 0 0 38px rgba(255,255,255,.04),0 0 0 82px rgba(255,255,255,.04),0 0 0 130px rgba(255,255,255,.03)}.works-copy{padding:100px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.mini-num{font:11px Arial,sans-serif;letter-spacing:.2em;color:#8ac9e3;margin-bottom:80px}.works-copy h2{margin:12px 0 30px}.works-copy>p:last-of-type{font-size:15px;line-height:2.2;color:#c9dbe7;max-width:520px}.works-copy a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.45);padding:24px 0;margin-top:40px;letter-spacing:.1em}.company{display:grid;grid-template-columns:170px 1fr;gap:7vw}.company-main{max-width:950px}.company dl{margin:65px 0 0;border-top:1px solid var(--line)}.company dl div{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line);padding:23px 12px}.company dt{font-size:13px;color:#698092}.company dd{margin:0;font-size:15px}.contact{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:110px clamp(28px,8vw,130px);background:#eaf3f8}.contact>div>p{font:12px Arial,sans-serif;letter-spacing:.22em;color:var(--blue)}.contact h2{font-size:clamp(28px,3.2vw,48px)}.contact>a{flex:0 0 190px;height:190px;border-radius:50%;background:var(--blue);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:.3s}.contact>a:hover{background:var(--navy);transform:scale(1.04)}footer{position:relative;background:var(--navy);color:#fff;padding:80px clamp(28px,7vw,110px) 35px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}footer>div p{font-size:13px;line-height:1.5;color:#a9becd}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:13px}footer>small{grid-column:1/-1;margin-top:50px;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);font:9px Arial,sans-serif;letter-spacing:.18em;color:#7e98aa}
@media(max-width:900px){.business-head{grid-template-columns:1fr}.business-intro{margin-top:10px}.business-list article{grid-template-columns:45px 50px 1fr;gap:18px}.card-arrow{display:none}.strength{grid-template-columns:1fr}.works-preview{grid-template-columns:1fr}.works-visual{min-height:380px}.contact>a{flex-basis:150px;height:150px}footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:2}}@media(max-width:560px){.business-list article{grid-template-columns:38px 1fr;padding-top:35px;padding-bottom:35px}.business-list article>svg:not(.card-arrow){display:none}.business-list h3{font-size:24px}.strength-grid{grid-template-columns:1fr;margin-top:50px}.strength-grid article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:30px 0}.works-visual{padding:35px;min-height:300px}.works-copy{padding:70px 28px}.mini-num{margin-bottom:50px}.contact{align-items:flex-start;flex-direction:column;padding-top:80px;padding-bottom:80px}.contact>a{width:140px;flex-basis:140px;align-self:flex-end}footer{grid-template-columns:1fr}.footer-links{grid-column:1}footer>small{margin-top:20px}}

/* Friendly technical hero */
.site-header{height:108px;padding-left:54px;padding-right:54px;border:0;color:#fff}.site-header:before{content:"";position:absolute;z-index:-1;left:18px;top:18px;width:min(400px,34vw);height:90px;background:#fff;border-radius:30px 0 38px 0}.site-header .brand{color:var(--ink)}.site-header .nav-contact{background:#fff;color:var(--blue);border:0;border-radius:18px;padding:18px 20px 18px 25px;font-weight:700}.hero{height:100svh;min-height:760px;background:#fff;padding:18px;color:#fff}.hero-bg{inset:18px;border-radius:38px;background:linear-gradient(90deg,rgba(4,31,54,.52) 0%,rgba(4,31,54,.2) 48%,rgba(4,31,54,.02) 78%),url('assets/images/hirano-hero.png') center/cover no-repeat;transform:none}.hero-grid{inset:18px;border-radius:38px;opacity:.38;background-size:82px 82px;mask-image:none}.hero-grid:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);border-radius:38px}.hero:after{display:none}.hero-content{padding:clamp(190px,25vh,250px) clamp(50px,8vw,130px) 120px}.eyebrow{width:max-content;padding:9px 13px 9px 10px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(5,35,60,.2);backdrop-filter:blur(8px);font-size:10px}.eyebrow span{width:21px;height:21px;border-radius:50%;font-size:11px}.hero h1{font-size:clamp(50px,5.5vw,88px);line-height:1.3;letter-spacing:.1em;margin-top:32px}.hero-lead{padding-left:20px;border-left:1px solid rgba(255,255,255,.75)}.round-link{width:220px;height:auto;border-radius:0;border:0;border-bottom:1px solid rgba(255,255,255,.72);display:flex;justify-content:space-between;padding:18px 0;margin-top:35px;font-size:13px;letter-spacing:.1em}.round-link:hover{background:transparent;color:#fff;transform:translateX(8px)}.hero-services{position:absolute;z-index:4;right:55px;top:128px;display:flex;align-items:center;gap:13px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.87);backdrop-filter:blur(9px);color:var(--ink);font-size:10px;letter-spacing:.06em}.hero-services i{display:block;width:3px;height:3px;border-radius:50%;background:var(--blue)}.hero-coordinate{position:absolute;z-index:3;right:42px;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:right top;font:9px Arial,sans-serif;letter-spacing:.22em;color:rgba(255,255,255,.8)}.hero-meta{left:52px;right:52px;bottom:40px}.hero-number{right:42px;bottom:-40px;font-size:clamp(150px,20vw,310px);-webkit-text-stroke:1px rgba(255,255,255,.36)}
@media(max-width:900px){.site-header{height:90px;padding:18px 38px}.site-header:before{left:18px;top:18px;width:255px;height:72px;border-radius:24px 0 30px 0}.menu-button{color:var(--ink);background:#fff;width:54px;height:54px;border-radius:18px;place-items:center}.hero{min-height:700px}.hero-content{padding-top:170px}.hero-services{right:35px;top:auto;bottom:70px}.hero-number{bottom:5px}.hero-meta{left:38px;right:38px}}@media(max-width:560px){.site-header{padding:18px 28px}.site-header:before{width:218px}.hero{height:92svh;min-height:680px;padding:10px}.hero-bg,.hero-grid{inset:10px;border-radius:28px}.hero-grid:after{border-radius:28px}.hero-content{padding:155px 28px 100px}.hero h1{font-size:clamp(38px,10.5vw,48px);line-height:1.45}.eyebrow{font-size:8px}.hero-services{left:28px;right:auto;bottom:65px;gap:8px;padding:10px 12px}.hero-services span{font-size:8px}.hero-coordinate{display:none}.hero-meta{left:28px;bottom:29px}.hero-number{display:none}.round-link{width:190px}.site-header .menu-button{display:grid}}

/* Gothic typography and map-led About Us */
.hero h1,.hero-lead,.intro h2,.business h2,.business-list h3,.strength h2,.strength-grid h3,.works-copy h2,.company h2,.contact h2{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.hero h1,.business h2,.strength h2,.works-copy h2,.company h2,.contact h2{font-weight:700}.hero-lead{font-weight:500}.intro{position:relative;max-width:none;min-height:850px;display:grid;grid-template-columns:minmax(500px,.95fr) minmax(420px,1.05fr);gap:40px;padding:145px clamp(40px,7.6vw,130px) 95px;background:#fff;overflow:hidden}.intro:before{content:"BUILDING THE GROUNDWORK FOR TOMORROW.";position:absolute;left:-12px;top:-23px;white-space:nowrap;color:#0b5fa3;font:700 clamp(64px,8.4vw,136px)/1 Arial,sans-serif;letter-spacing:-.045em;opacity:.08}.intro-main{position:relative;z-index:2}.about-heading{margin-top:10px}.tiny-mark{display:flex;align-items:center;gap:7px;color:var(--blue);font:600 14px/1 Arial,sans-serif}.tiny-mark i{display:block;width:9px;height:9px;transform:rotate(45deg);background:var(--red)}.tiny-mark i+ i{margin-left:-8px;background:var(--blue)}.about-heading h2{font-size:clamp(45px,5.4vw,82px);font-weight:800;line-height:1.3;letter-spacing:.02em;margin:42px 0 62px;color:#142a3b}.about-heading h2 em{display:inline-block;color:var(--blue);font:800 clamp(80px,9vw,145px)/.9 Arial,sans-serif;letter-spacing:-.065em;font-style:normal;margin-right:14px}.about-heading h2 small{font-size:.44em;font-weight:800}.intro .body-copy{max-width:680px;margin:0;font-size:16px;line-height:2.2;color:#263f52;font-weight:500}.fukuoka-map{position:relative;z-index:1;align-self:center;min-height:590px;display:grid;place-items:center}.fukuoka-map:before{content:"FUKUOKA PREFECTURE";position:absolute;right:2%;top:7%;font:700 10px Arial,sans-serif;letter-spacing:.22em;color:#89a0b2;writing-mode:vertical-rl}.fukuoka-map img{width:min(680px,100%);height:auto;opacity:.22;filter:grayscale(1) sepia(.1) hue-rotate(165deg) saturate(2.2);mix-blend-mode:multiply}.map-logo{position:absolute;left:52%;top:53%;display:flex;flex-direction:column;align-items:center;color:var(--ink);filter:drop-shadow(0 5px 12px rgba(255,255,255,.8))}.map-logo .brand-mark{width:36px;height:43px;color:#fff}.map-logo b{font:800 12px Arial,sans-serif;letter-spacing:.14em;margin-top:8px}.map-logo small{margin-top:3px;font-size:11px;font-weight:700;color:var(--blue)}.intro-stats{grid-column:1/-1;position:relative;z-index:2;margin-top:40px}.intro-stats strong{font-family:Arial,sans-serif;font-weight:700}.section-label{font-family:Arial,sans-serif}
@media(max-width:900px){.intro{grid-template-columns:1fr;min-height:0;padding-top:110px}.fukuoka-map{position:absolute;right:-15%;top:130px;width:65%;min-height:480px;opacity:.75}.intro-main{max-width:70%}.about-heading h2{font-size:52px}.about-heading h2 em{font-size:92px}.intro-stats{grid-column:1;margin-top:80px}.map-logo{left:52%;top:54%}}@media(max-width:560px){.intro{display:block;padding:100px 28px 70px}.intro:before{font-size:65px;top:-5px}.intro-main{max-width:none}.about-heading h2{font-size:38px;margin:32px 0 340px}.about-heading h2 em{font-size:72px}.fukuoka-map{top:260px;right:-20%;width:115%;min-height:390px}.map-logo{left:52%;top:52%;transform:scale(.85)}.intro .body-copy{font-size:15px;line-height:2}.intro-stats{margin-top:60px}}

/* Official brand assets */
.brand img{display:block;width:190px;height:auto}.site-header .brand-mark,.site-header .brand>b,.site-header .brand>small{display:none}.map-logo{width:115px}.map-logo>img{width:115px;height:auto;opacity:1;filter:none;mix-blend-mode:normal}.map-logo small{display:inline-block;padding:4px 10px;margin-top:7px;border-radius:999px;background:#fff;box-shadow:0 5px 15px rgba(16,40,61,.12)}footer>.brand{width:max-content;background:#fff;border-radius:10px;padding:12px 16px}footer>.brand img{width:180px}

/* Editorial service-card layout */
.business{position:relative;background:#fff;color:var(--ink);padding:140px clamp(30px,5vw,80px) 170px}.business-inner{max-width:1420px;margin:auto;display:grid;grid-template-columns:minmax(370px,.78fr) minmax(590px,1.22fr);gap:clamp(55px,7vw,120px);align-items:start}.business-copy{position:sticky;top:80px;padding:85px 0 40px}.business-copy h2{font-size:clamp(44px,4.6vw,72px);line-height:1.45;margin:55px 0 30px;color:#142a3b}.business-copy>p{max-width:440px;font-size:15px;line-height:2;color:#586f81}.business-copy>a{display:flex;justify-content:space-between;align-items:center;width:300px;margin-top:60px;padding:20px 24px;border-radius:999px;background:#eef3f6;font-size:13px;font-weight:700}.business-copy>a svg{width:34px;height:34px;padding:9px;border-radius:50%;background:var(--navy);color:#fff}.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 28px}.service-cards article{background:#f2f5f7;padding:18px 18px 22px;transition:transform .3s,box-shadow .3s}.service-cards article:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(16,40,61,.1)}.service-cards article:nth-child(2){margin-top:85px}.service-cards article:nth-child(3){grid-column:1/2}.service-image{aspect-ratio:1/1;background:#fff;border-radius:28px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:contain}.service-title{display:grid;grid-template-columns:52px 1fr 25px;align-items:center;gap:14px;padding:18px 4px 0}.service-title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;font:700 13px Arial,sans-serif;letter-spacing:.08em}.service-cards article:nth-child(2) .service-title>span{background:var(--red)}.service-title small{font:700 9px Arial,sans-serif;letter-spacing:.1em;color:#7b8f9f}.service-title h3{font-size:18px;margin:5px 0 0;font-weight:700}.service-title>svg{width:20px}.business-wave{position:absolute;z-index:0;left:0;right:56%;bottom:65px;height:75px;overflow:hidden}.business-wave i{position:absolute;left:-5%;width:115%;height:70px;border-radius:50%;border-top:15px solid var(--blue);transform:rotate(-2deg)}.business-wave i+ i{top:25px;border-color:var(--red);transform:rotate(3deg)}
@media(max-width:1000px){.business-inner{grid-template-columns:1fr}.business-copy{position:relative;top:0;padding:0}.service-cards{max-width:760px;margin-left:auto}.business-wave{right:45%;bottom:55px}}@media(max-width:650px){.brand img{width:155px}.business{padding:100px 24px 130px}.business-copy h2{font-size:40px;margin-top:35px}.business-copy>a{margin-top:35px;width:260px}.service-cards{grid-template-columns:1fr;gap:24px;margin-top:35px}.service-cards article:nth-child(2){margin-top:0}.service-cards article:nth-child(3){grid-column:1}.service-image{aspect-ratio:1.15/1}.service-title h3{font-size:17px}.business-wave{right:5%;height:55px;bottom:35px}.site-header:before{width:205px}.site-header{padding-left:24px}.site-header .brand img{width:145px}}

/* User-directed FV corner treatment and refreshed About Us styling */
.hero{--hero-inset:18px;--logo-panel-width:min(400px,34vw);--logo-panel-height:90px;--hero-corner-radius:34px}
.hero-corner{position:absolute;z-index:6;width:var(--hero-corner-radius);height:var(--hero-corner-radius);pointer-events:none;background:radial-gradient(circle at 100% 100%,transparent 0 calc(var(--hero-corner-radius) - .75px),#fff var(--hero-corner-radius))}
.hero-corner-top{left:calc(var(--hero-inset) + var(--logo-panel-width));top:var(--hero-inset)}
.hero-corner-left{left:var(--hero-inset);top:calc(var(--hero-inset) + var(--logo-panel-height))}
.tiny-mark i,.tiny-mark i+ i{background:var(--blue)}
.fukuoka-map>img{width:min(680px,100%);height:auto;opacity:1;filter:none;mix-blend-mode:normal}
.about-heading h2{max-width:620px}
@media(max-width:900px){.hero{--logo-panel-width:255px;--logo-panel-height:72px;--hero-corner-radius:30px}}
@media(max-width:650px){.hero{--logo-panel-width:205px}}
@media(max-width:560px){.hero{--hero-inset:10px}.site-header:before{left:10px;top:10px}}

/* Three-service layout and illustration-free About Us */
.intro{display:block;min-height:auto;padding-top:150px;padding-bottom:135px}
.intro-main{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(400px,.9fr) minmax(480px,1.1fr);gap:clamp(70px,10vw,160px);align-items:end}
.about-heading{margin:0}.about-heading h2{margin:42px 0 0;font-size:clamp(48px,5.2vw,78px)}
.intro .body-copy{margin:0 0 8px;max-width:660px}
.tiny-mark{gap:9px}.tiny-mark i{width:10px;height:10px;border-radius:50%;transform:none}.tiny-mark i+ i{display:none}
.business{padding-top:135px}
.business-inner{display:block;max-width:1240px}
.business-copy{position:relative;top:auto;padding:0;display:grid;grid-template-columns:minmax(420px,1fr) minmax(340px,.75fr);column-gap:clamp(60px,9vw,140px);align-items:end}
.business-copy .tiny-mark{grid-column:1/-1;margin-bottom:42px}.business-copy h2{grid-column:1;margin:0}.business-copy>p{grid-column:2;margin:0 0 18px}.business-copy>a{grid-column:2;width:max-content;min-width:210px;margin-top:24px;justify-content:center;background:#eef3f6}
.service-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:78px;max-width:none}
.service-cards article:nth-child(2){margin-top:0}.service-cards article:nth-child(3){grid-column:auto}
.service-image{aspect-ratio:1.08/1}.service-image img{padding:10px;object-fit:contain}
.service-title{grid-template-columns:52px 1fr}.service-cards article:nth-child(2) .service-title>span{background:var(--blue)}
@media(max-width:900px){.intro-main{grid-template-columns:1fr;gap:55px}.business-copy{grid-template-columns:1fr}.business-copy h2,.business-copy>p,.business-copy>a{grid-column:1}.business-copy>p{margin-top:28px}.service-cards{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto}.service-image{aspect-ratio:1.35/1}}
@media(max-width:560px){.intro{padding:100px 28px 85px}.about-heading h2{margin:32px 0 0;font-size:40px}.intro .body-copy{font-size:15px}.business{padding-top:100px}.service-cards{margin-top:48px}}

/* Four-service layout and the public-to-private strength story */
.business-inner{display:grid;grid-template-columns:minmax(360px,.76fr) minmax(610px,1.24fr);gap:clamp(55px,7vw,115px);align-items:start}
.business-copy{position:sticky;top:80px;display:block;padding:70px 0 30px}
.business-copy .tiny-mark{margin-bottom:0}
.business-copy h2{margin:48px 0 30px;font-size:clamp(40px,4.2vw,66px)}
.business-copy>p{max-width:450px;margin:0}
.service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
.service-cards article:nth-child(2){margin-top:72px}
.service-cards article:nth-child(3){grid-column:auto}
.service-cards article:nth-child(4){margin-top:72px}
.service-title{grid-template-columns:52px 1fr}

.strength{padding-top:145px;padding-bottom:155px}
.strength-content{max-width:1120px}
.strength-content>.kicker{color:var(--blue);font-weight:700;letter-spacing:.08em}
.strength-content>h2{margin-top:22px}
.strength-bridge{display:grid;grid-template-columns:1fr 190px 1fr;align-items:stretch;margin:80px 0 72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bridge-side{display:flex;min-height:210px;flex-direction:column;justify-content:center;padding:40px clamp(20px,3vw,48px)}
.bridge-side.private{text-align:right}
.bridge-side small{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.16em;color:var(--blue)}
.bridge-side strong{margin-top:18px;font-size:clamp(20px,2vw,28px);line-height:1.5;color:#142a3b}
.bridge-core{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:35px 14px;background:var(--blue)}
.bridge-core:before,.bridge-core:after{content:"";position:absolute;left:50%;width:2px;height:28px;background:var(--blue);transform:translateX(-50%)}
.bridge-core:before{top:-28px}.bridge-core:after{bottom:-28px}
.bridge-core span{font-size:12px;line-height:1.5}.bridge-core b{margin-top:10px;font-size:17px;line-height:1.6}
.strength-points{border-top:1px solid var(--line)}
.strength-points article{display:grid;grid-template-columns:70px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}
.strength-points article>b{font:700 13px Arial,sans-serif;color:var(--blue)}
.strength-points h3{font-size:clamp(20px,2vw,27px);line-height:1.5;margin:0 0 12px;color:#142a3b}
.strength-points p{max-width:760px;margin:0;font-size:15px;line-height:2;color:#5c7182}

@media(max-width:1000px){.business-inner{grid-template-columns:1fr}.business-copy{position:relative;top:auto;padding:0}.service-cards{max-width:760px;margin-left:auto}.strength-bridge{grid-template-columns:1fr 170px 1fr}}
@media(max-width:650px){.service-cards{grid-template-columns:1fr}.service-cards article:nth-child(2),.service-cards article:nth-child(4){margin-top:0}.strength{padding-top:95px;padding-bottom:100px}.strength-bridge{grid-template-columns:1fr;margin:55px 0}.bridge-side{min-height:135px;text-align:left!important}.bridge-core:before,.bridge-core:after{display:none}.strength-points article{grid-template-columns:42px 1fr;gap:14px}.strength-points p{font-size:14px}}

/* Requested section typography and reference-matched spacing */
.about-heading h2,.business-copy h2,.strength-content>h2,.works-copy h2,.company-main>h2,.contact h2{font-size:50px;line-height:75px}
.intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:clamp(50px,7vw,110px);align-items:center;padding:135px clamp(40px,7.6vw,130px)}
.intro-main{display:block;width:100%;max-width:850px;margin:0}
.about-heading h2{max-width:none;margin:42px 0 42px}
.intro .body-copy{max-width:800px;margin:0}
.about-map{display:flex;align-items:center;justify-content:center;min-width:0}
.about-map img{display:block;width:100%;height:auto}
.business{padding:145px clamp(30px,5vw,80px) 150px}
.business-inner{grid-template-columns:minmax(370px,42fr) minmax(600px,58fr);gap:clamp(42px,5vw,82px);max-width:1360px}
.business-copy{padding:135px 0 40px}
.business-copy h2{margin:45px 0 34px}
.service-cards{gap:42px 30px}
.service-cards article,.service-cards article:nth-child(2),.service-cards article:nth-child(4){margin-top:0}
.service-cards article{padding:20px 20px 24px;background:#f3f3f3}
.service-image{aspect-ratio:1/1;border-radius:26px}
.business-wave{display:none}

@media(max-width:1000px){.intro{grid-template-columns:minmax(0,7fr) minmax(230px,3fr);gap:40px}.business-inner{grid-template-columns:1fr}.business-copy{padding:0}.service-cards{max-width:820px;margin:55px auto 0}}
@media(max-width:700px){.about-heading h2,.business-copy h2,.strength-content>h2,.works-copy h2,.company-main>h2,.contact h2{font-size:36px;line-height:1.55}.intro{grid-template-columns:1fr;padding:100px 28px 85px}.about-map{width:min(360px,78%);margin:10px auto 0}.about-heading h2{margin:32px 0}.business{padding:100px 24px}.service-cards{grid-template-columns:1fr;gap:24px}.service-image{aspect-ratio:1.15/1}}

/* Type hierarchy and oversized map treatment */
.intro{overflow:hidden}
.intro-main{position:relative;z-index:2}
.intro .body-copy{font-size:20px;line-height:40px;font-weight:700}
.about-map{position:relative;z-index:1;overflow:visible}
.about-map img{width:200%;max-width:none;transform:translateX(-18%)}
.business-copy>p,.strength-points p,.works-copy>p:last-of-type{font-size:17px;line-height:32px;font-weight:700}
.business-inner{grid-template-columns:minmax(530px,43fr) minmax(580px,57fr)}
.business-copy h2{white-space:nowrap}
.strength,.company{display:block}
.strength-content,.company-main{max-width:1120px;margin:0 auto}
.strength-kicker{margin:28px 0 0;color:var(--blue);font-size:17px;line-height:32px;font-weight:700;letter-spacing:.08em}
.strength-content>h2{margin-top:18px}
.company-main>h2{margin-top:30px}
.works-copy .tiny-mark{color:#fff;margin-bottom:70px}
.works-copy .tiny-mark i{background:#003fe0;box-shadow:0 0 0 2px rgba(255,255,255,.65)}

@media(max-width:1180px){.business-inner{grid-template-columns:minmax(470px,43fr) minmax(500px,57fr)}.business-copy h2{font-size:46px;line-height:68px}}
@media(max-width:1000px){.business-inner{grid-template-columns:1fr}.business-copy h2{font-size:50px;line-height:75px;white-space:normal}}
@media(max-width:700px){.intro .body-copy{font-size:18px;line-height:36px}.about-map{width:min(330px,72%)}.about-map img{width:155%;transform:translateX(-12%)}.business-copy h2{font-size:36px;line-height:1.55}.business-copy>p,.strength-points p,.works-copy>p:last-of-type{font-size:16px;line-height:30px}.works-copy .tiny-mark{margin-bottom:45px}}

/* Calm navy direction, tighter rhythm, and editorial strength section */
.intro:before{content:"BUILDING THE GROUNDWORK FOR TOMORROW.";color:var(--blue)}
.hero:after{opacity:.78}
.section-jp{margin:13px 0 0;font-size:15px;line-height:1.5;font-weight:700;letter-spacing:.08em;color:#273f55}
.inverse+.section-jp,.works-copy .section-jp{color:#fff}
.about-heading h2{margin-top:30px}
.business-copy h2{margin-top:30px}
.strength-content>h2,.company-main>h2{margin-top:30px}
.intro{padding-top:105px;padding-bottom:100px}
.business{padding-top:110px;padding-bottom:110px}
.business-copy{padding-top:105px}
.strength{padding-top:105px;padding-bottom:110px;background:#f5f8fa}
.company{padding-top:105px;padding-bottom:110px}
.contact{padding-top:90px;padding-bottom:90px}
.landscape-break{height:clamp(360px,42vw,610px);background:linear-gradient(rgba(13,40,72,.08),rgba(13,40,72,.25)),url('assets/images/asakura-landscape.png') center 55%/cover no-repeat}
.strength-content{max-width:1240px}
.strength-bridge{grid-template-columns:1fr 250px 1fr;margin:58px 0 0;border:0;background:#fff;box-shadow:0 22px 70px rgba(13,40,72,.09)}
.bridge-side{min-height:190px;padding:38px 48px}
.bridge-side.public{border-left:5px solid var(--blue)}
.bridge-side.private{border-right:5px solid var(--blue)}
.bridge-core{background:var(--navy)}
.bridge-core:before,.bridge-core:after{display:none}
.strength-points{display:grid;grid-template-columns:repeat(3,1fr);border-top:0;margin-top:34px;background:var(--navy);color:#fff}
.strength-points article{display:block;position:relative;min-height:290px;padding:46px 38px;border:0;border-right:1px solid rgba(255,255,255,.16)}
.strength-points article:last-child{border-right:0}
.strength-points article>b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;margin-bottom:42px}
.strength-points h3{color:#fff;font-size:23px;line-height:1.55}
.strength-points p{color:#c8d4df;font-size:15px;line-height:30px;font-weight:600}
.works-copy .tiny-mark{margin-bottom:0}
.works-copy .tiny-mark i{background:#193b6b}
.works-copy .section-jp{margin-bottom:42px}

@media(max-width:900px){.strength-points{grid-template-columns:1fr}.strength-points article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.strength-bridge{grid-template-columns:1fr}.bridge-side.private{text-align:left}.bridge-side.public,.bridge-side.private{border-right:0;border-left:5px solid var(--blue)}.landscape-break{height:390px}}
@media(max-width:700px){.intro,.business,.strength,.company{padding-top:80px;padding-bottom:85px}.business-copy{padding-top:0}.landscape-break{height:290px}.strength-points article{padding:36px 28px}.strength-points article>b{margin-bottom:25px}.bridge-side{padding:30px 28px}}

/* Reference-led strength panel and line-art interlude */
.landscape-break{height:330px;display:flex;align-items:flex-end;overflow:hidden;background:#fff}
.landscape-break img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center bottom;opacity:.5}
.strength{max-width:1420px;margin:70px auto;padding:100px clamp(45px,8vw,125px) 90px;border-radius:48px;background:var(--blue);color:#fff}
.strength-content{max-width:1080px}
.strength-head{display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:end}
.strength-head .tiny-mark,.strength-head .section-jp{color:#fff}
.strength-head h2{margin:0;color:#fff;font-size:clamp(36px,4vw,50px);line-height:1.5}
.strength-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:58px;background:transparent}
.strength-points article{min-height:330px;padding:38px 30px;border:0;border-radius:22px 22px 0 0;background:#fff;color:var(--ink)}
.strength-points article>b{margin-bottom:48px;background:var(--blue)}
.strength-points h3{color:var(--ink);font-size:21px}
.strength-points p{color:#53697b;font-size:14px;line-height:28px}
.strength-bridge{display:grid;grid-template-columns:1fr 250px 1fr;margin:48px 0 0;border:0;border-radius:22px;overflow:hidden;background:#e8f1f8;box-shadow:none;color:var(--ink)}
.bridge-side{min-height:150px;padding:30px 38px}
.bridge-side.public,.bridge-side.private{border:0}
.bridge-core{background:#fff;color:var(--blue)}
.works-copy .tiny-mark i{background:#003989}

@media(max-width:900px){.strength{margin:45px 20px;border-radius:34px;padding:75px 38px}.strength-head{grid-template-columns:1fr;gap:32px}.strength-points{grid-template-columns:1fr}.strength-points article{min-height:0;border-radius:18px;padding:34px}.strength-bridge{grid-template-columns:1fr}.bridge-side.public,.bridge-side.private{border:0}.landscape-break{height:250px}}
@media(max-width:560px){.strength{margin:28px 12px;padding:60px 22px;border-radius:26px}.strength-points article>b{margin-bottom:24px}.landscape-break{height:180px}}

/* Editorial strength layout and final spacing refinements */
.business-copy>p{color:#263f52}
.intro:before{z-index:0}
.about-map{z-index:0;transform:translateY(-100px)}
.intro{padding-bottom:55px}
.business{padding-top:70px}
.section-jp{margin:13px 0 0;color:#273f55;font-size:15px;line-height:1.5;font-weight:700;letter-spacing:.08em}
.strength{max-width:1500px;margin:0 auto;padding:105px clamp(28px,7vw,110px);border-radius:0;background:#fff;color:var(--ink)}
.strength-content{max-width:1240px;display:grid;grid-template-columns:minmax(330px,.78fr) minmax(580px,1.22fr);gap:clamp(55px,8vw,120px);align-items:start}
.strength-head{display:block}
.strength-head .tiny-mark,.strength-head .section-jp{color:inherit}.strength-head .tiny-mark{color:var(--blue)}
.strength-head h2{margin:42px 0 0;color:var(--ink);font-size:clamp(36px,3.4vw,50px);line-height:1.5}
.strength-points{display:block;margin:10px 0 0;background:transparent;color:var(--ink)}
.strength-points article{display:grid;grid-template-columns:42px 1fr 72px;gap:22px;align-items:start;min-height:0;padding:34px 0;border:0;border-bottom:1px solid #91acc4;border-radius:0;background:transparent;color:var(--ink)}
.strength-points article:first-child{padding-top:0}
.strength-points article>b{display:block;width:auto;height:auto;margin:5px 0 0;border-radius:0;background:none;color:var(--blue);font-size:14px}
.strength-points h3{margin:0 0 11px;color:var(--ink);font-size:22px;line-height:1.55}
.strength-points p{margin:0;color:#53697b;font-size:14px;line-height:27px}
.strength-points article>svg{justify-self:end;width:54px;height:54px;color:#d8e4ee;stroke-width:1.2}
.strength-bridge{display:none}
.landscape-break{width:100%;height:300px}
.landscape-break img{width:100%;max-width:none;max-height:none;object-fit:cover;object-position:center bottom}
.company-main{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(520px,1.25fr);gap:clamp(55px,8vw,120px);align-items:start;max-width:1240px}
.company-main>dl{margin:0}
.company-heading h2{margin-top:42px}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#eaf3f8}
.contact:before{content:"";position:absolute;z-index:-1;inset:0;background:url('assets/images/asakura-landscape.png') center 52%/cover no-repeat;opacity:.13}
.contact>div{position:relative;z-index:1}.contact>a{position:relative;z-index:1}
.contact .tiny-mark{margin-bottom:28px}.contact h2{font-size:clamp(28px,3vw,40px);line-height:1.55}
footer>.footer-brand{background:transparent;padding:0;border-radius:0}
footer>.footer-brand img{width:190px;filter:brightness(0) invert(1)}

@media(max-width:900px){.about-map{transform:translateY(-55px)}.strength-content,.company-main{grid-template-columns:1fr}.strength-points{margin-top:45px}.company-main>dl{margin-top:20px}.landscape-break{height:230px}}
@media(max-width:560px){.about-map{transform:translateY(-25px)}.intro{padding-bottom:35px}.business{padding-top:55px}.strength{margin:0;padding:80px 28px}.strength-points article{grid-template-columns:35px 1fr}.strength-points article>svg{display:none}.landscape-break{height:155px}.contact h2{font-size:27px}}

/* Strength emphasis, full-width line art, and project-story Works */
.about-map{z-index:0;transform:translateY(-100px)}
.strength-content{grid-template-columns:minmax(400px,.88fr) minmax(580px,1.12fr);gap:clamp(45px,6vw,90px)}
.strength-head h2{font-weight:800}
.strength-points h3{font-weight:800}
.strength-points p{color:var(--ink);font-weight:700}
.landscape-break{display:block;width:100%;height:auto;line-height:0;background:#fff}
.landscape-break img{display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;opacity:.2}
.company-main{grid-template-columns:minmax(520px,1.05fr) minmax(470px,.95fr);gap:clamp(45px,6vw,85px)}
.company-heading h2{font-size:50px;line-height:75px;white-space:nowrap}

.works-preview{position:relative;isolation:isolate;min-height:720px;display:grid;grid-template-columns:minmax(500px,.9fr) minmax(500px,1.1fr);align-items:center;overflow:visible;background:#fff;color:var(--ink)}
.works-copy{position:relative;z-index:3;grid-column:1;padding:110px clamp(45px,7vw,110px)}
.works-copy .tiny-mark{color:var(--blue)}
.works-copy .tiny-mark i{background:var(--blue);box-shadow:none}
.works-copy .section-jp{color:#273f55}
.works-copy .kicker{color:var(--blue)}
.works-copy h2{color:var(--ink)}
.works-copy>p:last-of-type{color:#435b6e}
.works-copy a{width:300px;color:#fff;background:var(--blue);border:0;border-radius:999px;padding:20px 25px}
.works-photo{position:relative;z-index:2;grid-column:2;width:min(680px,90%);aspect-ratio:1/1;justify-self:end;margin-right:-4%;overflow:hidden;border-radius:52% 0 0 52%}
.works-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) saturate(.3);opacity:.78}
.works-routes{position:absolute;z-index:1;top:0;right:0;left:0;height:calc(100% + 200px);overflow:visible;pointer-events:none}
.works-routes i{position:absolute;display:block;width:115%;height:155px;left:-18%;border-radius:50%;transform:rotate(8deg);border-top:34px solid rgba(0,57,137,.9)}
.works-routes i:nth-child(1){top:57%}
.works-routes i:nth-child(2){top:70%;left:-12%;transform:rotate(-7deg);border-top-width:22px;border-color:rgba(95,145,196,.7)}
.works-routes i:nth-child(3){top:82%;left:-25%;transform:rotate(4deg);border-top-width:8px;border-color:rgba(200,51,61,.55)}

@media(max-width:1050px){.strength-content{grid-template-columns:1fr}.strength-points{margin-top:45px}.company-main{grid-template-columns:1fr}.company-heading h2{white-space:normal}.works-preview{grid-template-columns:1fr;min-height:0;padding-bottom:70px}.works-copy{grid-column:1;padding-bottom:70px}.works-photo{grid-column:1;width:min(680px,88%);justify-self:end;margin-right:0;border-radius:48% 0 0 48%}.works-routes i:nth-child(1){top:72%}.works-routes i:nth-child(2){top:82%}.works-routes i:nth-child(3){top:90%}}
@media(max-width:560px){.about-map{transform:translateY(-45px)}.company-heading h2{font-size:36px;line-height:1.55;white-space:normal}.works-copy{padding:80px 28px 55px}.works-photo{width:92%;aspect-ratio:1.1/1}.works-copy a{width:260px}.works-routes i{height:90px;border-top-width:22px}}

/* Final overlap, route-line, and footer type tuning */
.intro:before{z-index:5;pointer-events:none}
.intro-main{z-index:4}
.about-map{z-index:0;transform:translateY(-100px)}
.about-map img{width:240%}
.strength-content{max-width:1320px;grid-template-columns:minmax(610px,1.08fr) minmax(500px,.92fr);gap:50px}
.strength-head h2{white-space:nowrap}
.landscape-break img{opacity:.1}
.works-routes i{left:36%;width:82%;height:190px;border-top-width:48px}
.works-routes i:nth-child(1){top:68%;transform:rotate(7deg)}
.works-routes i:nth-child(2){top:82%;left:32%;height:170px;border-top-width:34px;transform:rotate(-6deg)}
.works-copy h2{white-space:nowrap}
footer>div p{color:#fff;font-weight:700;line-height:2}
.footer-links{font-weight:700;line-height:1.8}

@media(max-width:1180px){.strength-content{grid-template-columns:minmax(560px,1fr) minmax(430px,.85fr)}.strength-head h2{font-size:46px}.works-copy h2{white-space:normal}}
@media(max-width:1050px){.strength-content{grid-template-columns:1fr}.strength-head h2{white-space:normal}.works-routes i{left:32%;width:90%}.works-routes i:nth-child(1){top:78%}.works-routes i:nth-child(2){top:89%}}
@media(max-width:560px){.about-map{transform:translateY(-45px)}.about-map img{width:185%}.works-routes i{left:44%;width:90%;border-top-width:30px}.works-routes i:nth-child(2){left:38%;border-top-width:22px}}

/* Map reset, supplied strength artwork, and gradient route ribbons */
.about-map{transform:translateY(-180px)}
.about-map img{width:200%}
.strength-points article>svg{display:none}
.strength-points article>img{justify-self:end;width:72px;height:72px;object-fit:contain;mix-blend-mode:multiply}
.works-copy{z-index:5}
.works-copy h2{margin-top:42px}
.works-photo{z-index:2}
.works-routes{z-index:4}
.works-routes i{left:-22%;width:148%;height:112px;border:0;border-radius:50% 45% 55% 40%;background:linear-gradient(90deg,#00245d 0%,#003989 42%,#3978b9 72%,#9ac5e7 100%);opacity:.96}
.works-routes i:nth-child(1){top:68%;transform:rotate(-8deg)}
.works-routes i:nth-child(2){top:84%;left:-18%;width:140%;height:62px;border:0;background:linear-gradient(90deg,#6b9ecb 0%,#b8d7ee 48%,#1f629f 100%);transform:rotate(6deg);opacity:.82}

@media(max-width:900px){.about-map{transform:translateY(-110px)}.strength-points article>img{width:64px;height:64px}.works-routes i:nth-child(1){top:80%}.works-routes i:nth-child(2){top:91%}}
@media(max-width:560px){.about-map{transform:translateY(-70px)}.about-map img{width:155%}.strength-points article{grid-template-columns:35px 1fr 52px}.strength-points article>img{display:block;width:50px;height:50px}.works-routes i{height:65px}.works-routes i:nth-child(2){height:38px}}

/* Final requested hero, map, company, and route refinements */
.hero-lead{padding-left:0;border-left:0}
.about-map{transform:translate(100px,-180px)}
.business{padding-top:40px}
.company dl{margin-top:0}
.company dl div{grid-template-columns:180px minmax(0,1fr);align-items:start}
.company dt{padding-top:4px;font-weight:700}
.company dd{font-weight:700;line-height:1.9}
.works-routes i{
  left:-24%;
  width:152%;
  height:72px;
  border-radius:999px;
  background:linear-gradient(90deg,#00245d 0%,#003989 45%,#3978b9 75%,#9ac5e7 100%);
}
.works-routes i:nth-child(1){top:66%;transform:rotate(-14deg)}
.works-routes i:nth-child(2){top:84%;left:-20%;width:145%;height:44px;border-radius:999px;transform:rotate(11deg)}

@media(max-width:900px){
  .about-map{transform:translate(70px,-110px)}
  .business{padding-top:35px}
  .works-routes i:nth-child(1){top:78%}
  .works-routes i:nth-child(2){top:91%}
}
@media(max-width:560px){
  .about-map{transform:translate(35px,-70px)}
  .business{padding-top:30px}
  .company dl div{grid-template-columns:1fr;gap:8px}
  .works-routes i{height:42px}
  .works-routes i:nth-child(2){height:28px}
}

/* Single curved Works route */
.works-routes i:nth-child(1){
  display:block;
  left:-18%;
  top:52%;
  width:145%;
  height:430px;
  border:0;
  border-top:58px solid transparent;
  border-radius:50% 50% 0 0;
  background:linear-gradient(90deg,#001e50 0%,#003989 48%,#1457a8 100%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  clip-path:inset(0 0 320px 0);
  transform:rotate(-7deg);
}
.works-routes i:nth-child(2){display:none}

@media(max-width:900px){.works-routes i:nth-child(1){top:69%;height:300px;border-top-width:44px;clip-path:inset(0 0 220px 0)}}
@media(max-width:560px){.works-routes i:nth-child(1){left:-28%;top:75%;width:165%;height:190px;border-top-width:30px;clip-path:inset(0 0 135px 0);transform:rotate(-9deg)}}

/* Exact rising S-curve traced from the supplied red guide */
.works-routes svg{display:block;width:100%;height:100%;overflow:visible}
.works-routes path{fill:none;stroke:url(#worksRouteGradient);stroke-width:63;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.works-routes i{display:none!important}
.works-preview{margin-bottom:200px}
@media(max-width:900px){.works-routes path{stroke-width:49}}
@media(max-width:560px){.works-routes path{stroke-width:35}}

/* Final spacing refinements */
.intro:before{top:8px}
.company-main{grid-template-columns:minmax(480px,.8fr) minmax(600px,1.2fr);gap:clamp(35px,4vw,65px)}
@media(max-width:1050px){.company-main{grid-template-columns:1fr}}

/* Vertically center the hero message, with a slight downward optical offset */
.hero-content{position:absolute;top:50%;right:0;left:0;width:100%;padding:0 clamp(50px,8vw,130px);transform:translateY(-42%)}
@media(max-width:560px){.hero-content{padding:0 28px;transform:translateY(-40%)}}

/* WordPress integration */
.site-header svg,.works-copy a svg,.contact>a svg,.menu-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-contact svg{width:16px;height:16px}
.admin-bar .site-header{top:32px}
.wp-content{min-height:65vh;padding-top:150px}
@media(max-width:900px){
  .admin-bar .site-header{top:32px}
  .site-header .desktop-nav.is-open{display:flex;position:absolute;top:76px;right:20px;left:20px;flex-direction:column;align-items:stretch;gap:0;padding:16px;background:#0b2b56;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.2)}
  .site-header .desktop-nav.is-open a{padding:14px 16px}
  .site-header .desktop-nav.is-open .nav-contact{margin-top:8px}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Customizer image binding and animation-ready section hooks */
.hero-bg{background-image:linear-gradient(90deg,rgba(4,31,54,.52) 0%,rgba(4,31,54,.2) 48%,rgba(4,31,54,.02) 78%),var(--hero-image)}
[data-section]{--reveal-distance:32px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Motion system */
@keyframes hirano-marquee{
  from{transform:translate3d(100vw,0,0)}
  to{transform:translate3d(-110%,0,0)}
}
@keyframes hirano-hero-reveal{
  from{opacity:0;transform:translate3d(0,34px,0);filter:blur(8px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
.intro:before{
  left:0;
  animation:hirano-marquee 24s linear infinite;
  will-change:transform;
}
.motion-ready .hero-content h1,.motion-ready .hero-content .hero-lead{opacity:0}
.motion-ready .hero-content h1{animation:hirano-hero-reveal 1.15s cubic-bezier(.2,.75,.25,1) .25s forwards}
.motion-ready .hero-content .hero-lead{animation:hirano-hero-reveal .9s cubic-bezier(.2,.75,.25,1) 1.25s forwards}
.motion-ready .reveal-item{
  opacity:0;
  transform:translate3d(0,var(--reveal-distance),0);
  transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.25,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
.motion-ready .reveal-item.reveal-image{transform:translate3d(0,26px,0) scale(.975)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
@media(max-width:700px){.intro:before{animation-duration:18s}.motion-ready .reveal-item{--reveal-distance:22px;transition-duration:.7s}}
@media(prefers-reduced-motion:reduce){
  .intro:before{animation:none;transform:none}
  .motion-ready .hero-content h1,.motion-ready .hero-content .hero-lead{opacity:1;animation:none}
  .motion-ready .reveal-item,.motion-ready .reveal-item.reveal-image{opacity:1;transform:none;transition:none}
}

/* Unified content width */
:root{--site-content-width:1280px;--site-gutter:clamp(28px,7vw,110px)}
.section{width:100%;max-width:1500px;padding-right:var(--site-gutter);padding-left:var(--site-gutter)}
.business-inner,.strength-content,.company-main{width:100%;max-width:var(--site-content-width);margin-right:auto;margin-left:auto}
.business{padding-right:var(--site-gutter);padding-left:var(--site-gutter)}
.works-copy{padding-left:max(var(--site-gutter),calc((100vw - var(--site-content-width))/2))}
.works-photo{margin-right:max(0px,calc((100vw - var(--site-content-width))/2))}
.contact,footer{padding-right:max(var(--site-gutter),calc((100vw - var(--site-content-width))/2));padding-left:max(var(--site-gutter),calc((100vw - var(--site-content-width))/2))}
@media(max-width:1050px){.works-photo{margin-right:0}}

/* Works route draws from left to right when it enters the viewport */
.motion-ready .works-routes path{
  stroke-dasharray:var(--route-length,2600);
  stroke-dashoffset:var(--route-length,2600);
  transition:stroke-dashoffset 2.25s cubic-bezier(.3,.05,.2,1);
}
.motion-ready .works-routes path.is-drawn{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.motion-ready .works-routes path{stroke-dashoffset:0;transition:none}}

/* Seamless About marquee — the duplicated groups remove every blank interval */
.intro:before{display:none!important}
.about-marquee{position:absolute;z-index:3;top:8px;right:0;left:0;width:100%;overflow:hidden;pointer-events:none;color:var(--blue);font:700 clamp(64px,8.4vw,136px)/1 Arial,sans-serif;letter-spacing:-.045em;opacity:.08;white-space:nowrap}
.about-marquee-track{display:flex;width:max-content;will-change:transform;animation:hirano-marquee-loop 28s linear infinite}
.about-marquee-group{display:flex;flex:none;align-items:center}
.about-marquee-group span{display:block;padding-right:.42em}
@keyframes hirano-marquee-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.about-marquee{top:4px;font-size:65px}.about-marquee-track{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.about-marquee-track{animation:none}}

/* FV main copy, followed by supporting copy */
.motion-ready .hero-content h1{color:#fff;background:none;transform:none;animation:blurIn 1s ease-out both}
.motion-ready .hero-content .hero-lead{transform:none;animation:blurIn 1s ease-out 1s both}
@keyframes blurIn{from{filter:blur(10px);opacity:0}to{filter:blur(0);opacity:1}}
@media(prefers-reduced-motion:reduce){
  .motion-ready .hero-content h1,.motion-ready .hero-content .hero-lead{animation:none;opacity:1;filter:none}
}
