/* Helical / reference layout v6. All photographs are original files.
   The entire site scales as one composition; photographs use contain, never cover. */
:root{color-scheme:light;--navy:#073e7b;--blue:#0873c7;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,"Noto Sans CJK JP",sans-serif}
*{box-sizing:border-box}html{background:#f3f6fa}body{margin:0;color:var(--navy);font-family:var(--sans);-webkit-text-size-adjust:100%}
.site{width:min(1440px,calc(100% - 40px));margin:12px auto 24px;background:white;box-shadow:0 5px 24px #082e5814;container-type:inline-size;overflow:clip}
img{max-width:100%}h1,h2,h3,p,figure{margin:0}a{color:inherit}button{font:inherit}
/* Hero: the scenic artwork is shipped in assets; no placeholder gradients or circles. */
.hero{height:40.8cqw;position:relative;isolation:isolate;color:#fff;background:#0c81cd url("assets/hero-coast.jpg") center center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(0,80,158,.18) 0%,rgba(0,73,149,.25) 49%,transparent 80%),radial-gradient(ellipse 53% 31% at 15% 3%,rgba(255,255,255,.86),rgba(255,255,255,0) 90%)}
.hero-top{position:relative;z-index:2}.brand{position:absolute;top:2.6cqw;left:4cqw;display:flex;align-items:center;gap:1cqw;background:none}
.brand-mascot{display:block;width:8.6cqw;height:8.6cqw;object-fit:contain;filter:none}
.wordmark-wrap{width:25cqw;display:flex;align-items:center;flex-direction:column;gap:.5cqw;background:none}.brand-wordmark{width:100%;height:auto;display:block;filter:none}
.wordmark-wrap p{color:#05182a;font-size:1.06cqw;font-weight:700;line-height:1.2;letter-spacing:.03em;white-space:nowrap}
.regional-copy{position:absolute;top:3.15cqw;right:8.7cqw;font-family:var(--serif);text-shadow:0 1px 5px #07397455}
.regional-copy p{font-size:1.95cqw;line-height:1.5;letter-spacing:.03em;font-weight:600}.regional-copy small{display:block;margin-top:.35cqw;font-family:Georgia,serif;font-size:1.13cqw}
.hero-copy{position:absolute;top:14cqw;left:4cqw;width:82cqw;text-shadow:0 2px 9px #00386977}
.hero h1{font-family:var(--serif);font-size:4.15cqw;font-weight:600;line-height:1.3;letter-spacing:.01em}.title-line{display:block;white-space:nowrap}.scope,.semi{font-size:.64em;font-weight:600;letter-spacing:.025em}.scope{margin-left:.1em}.semi{font-size:.64em}
.hero-lead{font-family:var(--serif);font-size:1.95cqw;font-weight:600;line-height:1.5;margin-top:.75cqw;display:flex;align-items:center;gap:1.1cqw}.hero-lead::before{content:"";width:2.8cqw;height:2px;background:#34c7f7;box-shadow:0 0 5px #49cfff}
.kyushu-mark{position:absolute;top:12cqw;right:3.1cqw;width:12.7cqw}.kyushu-mark img{display:block;width:12.7cqw;height:15cqw;object-fit:contain}.kyushu-mark p{position:absolute;left:-3.4cqw;bottom:.5cqw;font-size:.87cqw;line-height:1.24;letter-spacing:.04em;font-weight:700;color:#083777;text-shadow:0 1px 3px #b8e8ff}
/* Strengths */
.strengths{display:grid;grid-template-columns:repeat(4,1fr) 1.25fr;min-height:13.9cqw;padding:1.1cqw 1.4cqw 1.1cqw;background:linear-gradient(180deg,#fff,#fcfeff)}
.strengths article{text-align:center;padding:0 .5cqw;position:relative;display:flex;flex-direction:column;align-items:center}.strengths article::after{content:"";position:absolute;right:0;top:4.45cqw;bottom:0;width:1px;background:#67b6ea}
.icon-circle{width:4.85cqw;height:4.85cqw;border-radius:50%;background:radial-gradient(circle at 28% 18%,#57c7ff,#1188d7 42%,#054589 84%);display:grid;place-items:center;box-shadow:inset 0 0 2px #dcf5ff}.icon-circle img{width:62%;height:62%;object-fit:contain}
.strengths h2{font-size:1.49cqw;line-height:1.4;font-weight:700;margin:.65cqw 0 .45cqw;white-space:nowrap}.strengths article p{font-size:1.33cqw;line-height:1.52}.strengths aside{padding:1.8cqw .5cqw 0 1.75cqw}.strengths aside p{font-family:var(--serif);font-size:1.55cqw;line-height:1.8;font-weight:500}
/* Photo gallery */
.section-bar{height:4.6cqw;display:flex;align-items:center;justify-content:space-between;padding:0 1.9cqw;color:#fff;background:linear-gradient(110deg,#062953,#0064bd 45%,#042651);position:relative;isolation:isolate;overflow:hidden}
.section-bar::before{content:"";position:absolute;width:45%;height:180%;border:1px solid #54d0ff;border-radius:50%;left:20%;top:40%;box-shadow:0 -2px 8px #66dfff;z-index:-1;transform:rotate(4deg)}
.section-bar h2{font-family:var(--serif);font-size:2.58cqw;font-weight:600;white-space:nowrap}.section-bar h2 span{font-family:Georgia,serif;font-size:1.48cqw;font-weight:400;margin-left:1.45cqw}.section-bar p{font-family:var(--serif);font-size:1.05cqw;line-height:1.5;margin-left:2cqw;text-align:right}
.works-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65cqw 1.05cqw;padding:.8cqw 1.7cqw .9cqw;background:#fff}
.work-card{min-width:0;padding:0 .3cqw .2cqw 0;border-right:1px solid #b6d5ed}.work-card:nth-child(5n){border-right:0;padding-right:0}
.work-photo{display:flex;align-items:center;justify-content:center;width:100%;height:11.65cqw;background:#fff;text-decoration:none;outline-offset:2px;cursor:zoom-in}
.work-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none!important;transform:none!important;opacity:1}
.work-card figcaption{padding:.4cqw .25cqw .1cqw}.work-card h3{font-size:1.42cqw;line-height:1.4;font-weight:700;white-space:nowrap;letter-spacing:-.025em}.work-card p{font-family:var(--serif);font-size:1.24cqw;line-height:1.48;margin-top:.25cqw;min-height:3.68cqw;overflow-wrap:anywhere}
/* About, matching the dark blue / light-trail reference. */
.about{position:relative;isolation:isolate;display:grid;grid-template-columns:58% 42%;min-height:18.6cqw;overflow:hidden;color:white;background:linear-gradient(115deg,#033366 0%,#063675 48%,#037dcc 95%)}
.light-waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.about-copy{padding:1.25cqw 2.25cqw 1.5cqw 3.5cqw;z-index:1}.about-copy h2{font-family:var(--serif);font-size:3.55cqw;font-weight:600;line-height:1.2;margin:0 0 1cqw}.about-copy p{font-size:1.17cqw;line-height:1.73;margin:.15cqw 0 0;text-shadow:0 1px 3px #03294d}
.about-side{position:relative;isolation:isolate;padding:2cqw 1.4cqw 1.25cqw 1.4cqw;overflow:hidden}
.about-side::before{content:"";position:absolute;inset:30% 0 0 0;z-index:-1;background:url("assets/about-city.png") right bottom/100% auto no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 45%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%)}
.about-side small{position:absolute;right:1.8cqw;top:2.3cqw;font-family:Georgia,serif;font-size:.79cqw}.about-side h3{font-family:var(--serif);font-size:1.9cqw;line-height:1.55;font-weight:500;max-width:75%;text-shadow:0 1px 5px #033873}.about-side p{font-family:Georgia,serif;font-size:1.22cqw;line-height:1.4;margin-top:2.55cqw;letter-spacing:.01em;text-shadow:0 1px 4px #002b58}
/* Company + business-card inspired SDGs panel */
.lower{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);background:#fff;padding:.45cqw 1.6cqw .55cqw;gap:1.1cqw}
.company{padding:.45cqw 1.65cqw .1cqw 1.95cqw}.company h2{display:flex;align-items:center;gap:1.5cqw;font-family:var(--serif);font-size:2.13cqw;line-height:1.4;font-weight:600;margin-bottom:.3cqw}.company h2::after{content:"";height:1px;flex:1;background:#40a8e7}
.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:10.65cqw 1fr;border-bottom:1px solid #d6e1eb;min-height:2.2cqw}.company dt,.company dd{font-size:1.12cqw;line-height:1.36;margin:0;padding:.31cqw .7cqw;color:#1f2a34}.company dt{background:#f0f1f2}.company dd small{font-size:.88cqw;white-space:nowrap}
.sdgs{display:grid;grid-template-columns:55% 45%;gap:0;position:relative;background:linear-gradient(125deg,#fff 5%,#eff9ee 90%);overflow:hidden;padding:.4cqw .5cqw .25cqw .3cqw}.sdgs-text{position:relative;z-index:2}.sdgs h2{font-size:1.95cqw;font-weight:600;line-height:1.5;display:inline-block}.sdgs h2::after{content:"";display:block;height:2px;width:18cqw;background:linear-gradient(to right,#c18f2d 0 20%,#fcc000 20% 40%,#079fd9 40% 60%,#4aae3d 60% 80%,#f26627 80%)}
.sdgs ul{list-style:none;margin:.65cqw 0 0;padding:0}.sdgs li{display:flex;gap:.7cqw;align-items:flex-start;font-size:1.02cqw;line-height:1.55;margin:.42cqw 0;color:#202831}.sdg-dot{flex-shrink:0;display:block;width:1.45cqw;height:1.45cqw;border-radius:50%;margin-top:.1cqw}.dot12{background:#bb8b2b}.dot7{background:#fdbb00}.dot14{background:#0798cb}.dot15{background:#46a73d}.dot9{background:#f06b22}
.sdgs-message{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 .2cqw .8cqw;position:relative;isolation:isolate}.sdgs-message img{position:absolute;top:.1cqw;right:-.8cqw;width:24cqw;max-width:none;height:10.2cqw;object-fit:cover;object-position:right top;z-index:-1;mask-image:linear-gradient(to right,transparent,black 25%),linear-gradient(to bottom,black 55%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,black 25%),linear-gradient(to bottom,black 55%,transparent);-webkit-mask-composite:source-in}
.sdgs-message h3{font-family:var(--serif);font-size:1.64cqw;line-height:1.45;font-weight:700;padding-top:8.5cqw;white-space:nowrap;text-shadow:0 1px 4px #fff}.sdgs-message small{font-family:Georgia,serif;font-size:.78cqw;line-height:1.4;white-space:nowrap;margin-top:.5cqw}
footer{height:8cqw;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:2.75cqw;font-weight:600;color:white;background:radial-gradient(ellipse at 62% -42%,#1189e7,transparent 70%),linear-gradient(115deg,#01356d,#06448f 50%,#022e63);position:relative;overflow:hidden}
footer::after{content:"";position:absolute;width:150%;height:150%;left:-35%;top:15%;border-radius:50%;border-top:1px solid #3aa6e54d;transform:rotate(-6deg)}
/* Native-image viewer: the linked originals are never resampled on disk. */
.photo-dialog{border:0;border-radius:6px;padding:0;max-width:94vw;max-height:94vh;background:#fff;color:var(--navy);box-shadow:0 8px 80px #0007}.photo-dialog::backdrop{background:#001427bf}.photo-dialog-top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:30px}.photo-dialog h2{font-size:16px}.photo-close{border:0;background:#edf4fa;border-radius:50%;width:36px;height:36px;font-size:27px;cursor:pointer;line-height:1}.full-photo{display:block;width:auto;max-width:94vw;height:auto;max-height:calc(94vh - 60px);object-fit:contain;margin:auto}.work-photo:focus-visible,.photo-close:focus-visible{outline:3px solid #0798cb}
@media(min-width:761px) and (max-width:980px){.site{width:calc(100% - 20px);margin-top:10px}.company dd{font-size:1.08cqw}}
@media(max-width:760px){
 html{background:#fff}.site{width:100%;margin:0;box-shadow:none;overflow:hidden}
 .hero{height:465px;background-size:auto 465px;background-position:center bottom}.hero::before{background:linear-gradient(180deg,#0061ad15,#0052924d 38%,transparent 88%),radial-gradient(ellipse 110% 32% at 0 0,#ffffffcb,transparent 90%)}
 .brand{left:20px;top:22px;gap:10px}.brand-mascot{width:66px;height:66px}.wordmark-wrap{width:191px;gap:3px}.wordmark-wrap p{font-size:9px}
 .hero-copy{left:20px;top:127px;width:calc(100% - 40px)}.hero h1{font-size:clamp(18px,6vw,34px);line-height:1.45;letter-spacing:0}.title-line{white-space:normal}.scope,.semi{font-size:.65em}.hero-lead{font-size:15px;margin-top:12px;gap:9px;line-height:1.65}.hero-lead::before{width:18px;flex-shrink:0}
 .regional-copy{top:329px;left:20px;right:auto}.regional-copy p{font-size:15px;line-height:1.5}.regional-copy small{font-size:9px;margin-top:6px}.kyushu-mark{top:auto;right:10px;bottom:17px;width:82px}.kyushu-mark img{width:82px;height:98px}.kyushu-mark p{font-size:6px;left:-19px;bottom:4px}
 .strengths{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 10px;gap:16px 0}.strengths article{padding:0 10px}.strengths article::after{top:40px}.strengths article:nth-child(2n)::after{display:none}.icon-circle{width:47px;height:47px}.strengths h2{font-size:14px;margin:8px 0 5px}.strengths article p{font-size:12px;line-height:1.6}.strengths aside{grid-column:1/-1;text-align:center;padding:8px}.strengths aside p{font-size:14px;line-height:1.6}.strengths aside p br:first-child{display:none}
 .section-bar{height:auto;min-height:64px;align-items:flex-start;flex-direction:column;padding:10px 16px;gap:6px}.section-bar h2{font-size:25px}.section-bar h2 span{font-size:14px;margin-left:12px}.section-bar p{font-size:10px;text-align:left;margin:0;line-height:1.6}
 .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 12px 16px;gap:16px 10px}.work-card{border-right:0;padding:0}.work-photo{height:auto;aspect-ratio:4/3}.work-card figcaption{padding:6px 2px 0}.work-card h3{font-size:12.4px;letter-spacing:-.03em;line-height:1.5}.work-card p{font-size:11.4px;line-height:1.6;margin-top:3px;min-height:0}
 .about{display:block;min-height:0}.about-copy{padding:23px 22px 6px}.about-copy h2{font-size:30px;margin-bottom:12px;line-height:1.3}.about-copy p{font-size:13px;line-height:1.9;margin:7px 0}.light-waves{height:100%}.about-side{min-height:160px;padding:16px 22px}.about-side h3{font-size:19px;line-height:1.5}.about-side small{font-size:8px;right:15px;top:20px}.about-side p{font-size:12px;margin-top:17px}.about-side::before{inset:0 0 0 15%;background-size:auto 145px;mask-image:linear-gradient(to right,transparent,black 80%);-webkit-mask-image:linear-gradient(to right,transparent,black 80%)}
 .lower{display:block;padding:18px 16px}.company{padding:0 0 18px}.company h2{font-size:22px;margin-bottom:9px;gap:12px}.company dl>div{grid-template-columns:86px auto;min-height:30px}.company dt,.company dd{font-size:11.5px;line-height:1.5;padding:6px 7px}.company dd small{font-size:9px;white-space:normal}.sdgs{grid-template-columns:57% 43%;gap:0;padding:12px 5px;min-height:180px}.sdgs h2{font-size:18px}.sdgs h2::after{width:145px}.sdgs ul{margin:10px 0 0}.sdgs li{font-size:9.5px;gap:7px;margin:6px 0;line-height:1.6}.sdg-dot{width:12px;height:12px;margin-top:2px}.sdgs-message{padding:0 0 12px}.sdgs-message img{width:190px;height:100px;right:-10px;top:0}.sdgs-message h3{font-size:15px;line-height:1.45;padding-top:84px}.sdgs-message small{font-size:6px;margin-top:5px}.sdgs-message small{white-space:normal}
 footer{height:65px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{html,body{background:#fff}.site{width:100%;max-width:none;margin:0;box-shadow:none}.photo-dialog{display:none}}

/* Mobile headline keeps complete phrases together. */
.mobile-heading{display:none}
@media(max-width:760px){.desktop-heading{display:none}.mobile-heading{display:block}.hero h1{font-size:clamp(23px,7vw,32px)}.mobile-scope{display:block;font-size:.60em;line-height:1.65;white-space:nowrap;margin-top:.12em}.mobile-result{display:block;white-space:nowrap;margin-top:.1em}}
