@charset "UTF-8";
header nav{flex-wrap:wrap} @media(max-width:700px){header{flex-wrap:wrap;padding:18px 0}header nav{width:100%;justify-content:space-between;gap:10px}}
/* Revised corporate introduction and consistent business presentation */
:root{--bg:#101312;--ink:#f5f6f2;--muted:#b1b8b4;--line:#343b36;--accent:#d9fb66}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}.skip{position:fixed;top:-80px;background:var(--accent);color:#111;padding:15px;z-index:5}.skip:focus{top:10px}header{min-height:104px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:23px}.brand strong{font-size:48px;letter-spacing:-4px;line-height:1;font-weight:900}.brand strong span{font-size:14px;vertical-align:top;letter-spacing:0}.brand>span{font-size:14px}nav{display:flex;gap:36px;font-size:14px}nav a:hover{color:var(--accent)}.hero{position:relative;padding:64px 5% 62px;min-height:690px;overflow:hidden;background:linear-gradient(115deg,transparent 60%,#1f2920)}.eyebrow{font-size:14px;letter-spacing:2px;font-weight:bold;color:var(--muted)}h1{font-size:clamp(48px,7.6vw,116px);letter-spacing:-.045em;line-height:1.2;margin:30px 0 34px;font-weight:900;position:relative;z-index:1}h1 span{color:var(--accent)}.hero-bottom{display:flex;align-items:flex-end;gap:70px;position:relative;z-index:1}.hero-bottom p{font-size:17px;line-height:1.9;margin:0}.button{display:flex;align-items:center;gap:42px;background:var(--accent);color:#101312;padding:20px 24px;font-size:16px;font-weight:bold;transition:background .2s}.button:hover{background:#ebffaf}.hero-index{position:absolute;right:5%;top:45%;font-size:clamp(50px,8vw,130px);font-weight:900;letter-spacing:-7px;color:#54624a;transform:rotate(-90deg);transform-origin:center}.business{padding:60px 5% 0;background:#f1f3ed;color:#151a16}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:42px}.section-heading .eyebrow{color:#555f55}h2{font-size:30px;line-height:1.5;margin:0}.division{display:grid;grid-template-columns:70px 1.9fr 1fr;gap:20px;border-top:1px solid #bfc7bc;padding:42px 0 48px;align-items:start}.number{font-size:18px;padding-top:5px}.category{font-size:14px;margin:0 0 20px;font-weight:bold}.division h3{font-size:clamp(42px,5.7vw,80px);line-height:1.02;letter-spacing:-.045em;margin:0;font-weight:900}.division h3.japanese{font-size:clamp(28px,3.9vw,56px);line-height:1.35;letter-spacing:-.045em}.description{font-size:16px;line-height:1.9;margin:24px 0 0;color:#465043}.division-side{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:18px 0 0 26px;border-left:1px solid #bfc7bc}.word{font-size:clamp(20px,3vw,42px);font-weight:900;letter-spacing:-1px}.division-side p{font-size:14px;line-height:1.8}.hybrid .word{color:#286151}.paint .word{color:#315191}.division h3.some{font-size:76px;letter-spacing:.03em}.some span{display:block;font-size:14px;letter-spacing:.2em;margin-top:15px;font-weight:normal}.company{padding:74px 5%;display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.company .section-heading{display:block}.company h2{margin-top:20px}.company .eyebrow{color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:125px 1fr;gap:25px;border-top:1px solid var(--line);padding:23px 0;font-size:16px;line-height:1.9}dt{color:var(--muted)}dd{margin:0}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 5%;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.footer-name{font-size:20px;color:var(--ink);font-weight:bold}@media(min-width:1500px){header,main,footer{max-width:1600px;margin-left:auto;margin-right:auto}}@media(max-width:700px){header{min-height:85px}.brand{gap:13px}.brand strong{font-size:38px}.brand>span{display:none}nav{gap:20px}.hero{min-height:600px;padding-top:44px}.hero h1{font-size:clamp(46px,10vw,70px);margin-top:40px}.hero-index{display:none}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.button{margin-top:28px;width:fit-content}.business{padding-top:40px}.section-heading{margin-bottom:30px}h2{font-size:26px}.division{grid-template-columns:30px 1fr;gap:14px;padding:30px 0 34px}.division h3{font-size:48px}.division h3.japanese{font-size:clamp(25px,6.4vw,42px)}.division h3.some{font-size:60px}.division-side{grid-column:2;display:block;border:0;padding:10px 0 0}.division-side .word{font-size:18px;letter-spacing:.08em}.division-side p{display:none}.desktop-break{display:none}.company{display:block;padding-top:48px;padding-bottom:40px}.company .section-heading{margin-bottom:30px}dl>div{grid-template-columns:90px 1fr;gap:16px;font-size:15px}footer{flex-wrap:wrap;gap:15px}footer p{margin:0}.footer-name{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Corporate identity and confirmed contact information */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{background:linear-gradient(115deg,#101312 50%,#20222c)}
.hero-emblem{position:absolute;right:5%;top:120px;width:34%;max-width:460px;background:#ebedf5;padding:28px 24px 20px;transform:rotate(-3deg);border-bottom:5px solid #929cbc}
.hero-emblem img{display:block;width:100%;height:auto}.hero-emblem>span{display:block;color:#26203e;text-align:center;font-size:14px;letter-spacing:3px;margin-top:18px}
.hero h1{max-width:65%;font-size:clamp(48px,6.9vw,103px)}
.hammar-logo{max-width:580px;padding:18px 20px;background:#fff}.hammar-logo img{display:block;width:100%;height:auto}
.division-main{min-width:0}.division-side{gap:18px}.division-side p{margin-top:auto}.site-link{display:inline-block;border-bottom:1px solid currentColor;font-size:16px;padding:8px 0;line-height:1.6}.site-link:hover{color:#763482}
.inline-phone{text-decoration:underline;text-underline-offset:5px}
.contact{margin:0 5% 65px;padding:38px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}.contact h2{margin-top:16px}.contact p{font-size:16px;color:var(--muted);line-height:1.8}.contact-number>a{font-size:clamp(28px,4.2vw,58px);font-weight:bold;letter-spacing:-1px;border-bottom:2px solid var(--accent);display:inline-block;padding-bottom:8px}.contact-number>a:hover{color:var(--accent)}
@media(max-width:900px){.hero-emblem{top:180px;width:30%;padding:18px}.hero-emblem>span{font-size:12px;letter-spacing:1px}.contact{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){header{gap:12px}.brand strong{font-size:32px}nav{gap:13px;font-size:14px}.hero h1{max-width:100%;font-size:clamp(44px,9.7vw,67px)}.hero-emblem{position:static;transform:none;width:100%;max-width:310px;padding:20px;margin-top:38px}.hero{padding-bottom:38px}.hero-emblem>span{font-size:14px;letter-spacing:2px}.hammar-logo{padding:12px}.division-side{display:flex;align-items:flex-start;gap:10px}.site-link{font-size:15px}.contact{margin-bottom:30px}.contact-number p{font-size:14px}.contact-number>a{font-size:clamp(28px,8vw,44px)}}

/* Supplied brand and project photography */
.hybrid-logo{display:block;width:100%;max-width:270px;height:auto;border:1px solid #bfc7bc}
.work-gallery{grid-column:2 / -1;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px;min-width:0}
.work-photo{margin:0;min-width:0}.work-photo a{display:block;background:#15191c}.work-photo img{display:block;width:100%;height:300px;object-fit:contain}.work-photo.photo-0{grid-column:1 / -1}.photo-0 img{height:auto}.work-photo figcaption{font-size:14px;line-height:1.7;margin-top:9px;color:#465043}
@media(max-width:700px){.hybrid-logo{max-width:210px;margin-top:10px}.work-gallery{grid-column:1 / -1;gap:18px;margin-top:14px}.work-photo img{height:200px}.photo-0 img{height:auto}}
@media(max-width:420px){.work-gallery{grid-template-columns:1fr}.work-photo.photo-0{grid-column:auto}.work-photo img{height:auto}}

.paint-gallery{grid-column:2 / -1;min-width:0;margin-top:18px}.paint-gallery h4{font-size:20px;line-height:1.6;margin:0 0 20px}.paint-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.paint-photo-grid img{height:auto}.more-photos{margin-top:28px;border-top:1px solid #bfc7bc}.more-photos summary{cursor:pointer;padding:20px 0;font-size:16px;line-height:1.8;font-weight:bold}.more-photos summary:focus-visible{outline:3px solid #315191;outline-offset:4px}.more-photos[open] summary{margin-bottom:8px}@media(max-width:700px){.paint-gallery{grid-column:1 / -1}.paint-photo-grid{grid-template-columns:1fr;gap:22px}}
.division-side .contact-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:44px;box-sizing:border-box;padding:9px 14px;border-radius:2px;color:#fff;font-size:15px;font-weight:bold;letter-spacing:.04em;line-height:1.4;transition:transform .2s ease,opacity .2s ease}.division-side .contact-link:hover{color:#fff;opacity:.88;transform:translateY(-1px)}.division-side .line-link{background:#06c755}.division-side .email-link{background:#263e67}
.work-gallery .more-photos{grid-column:1 / -1}.custom-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.paint-photo-grid .featured-photo{grid-column:1 / -1}@media(max-width:700px){.custom-photo-grid{grid-template-columns:1fr;gap:18px}}
.history{padding:74px 5%;border-top:1px solid var(--line);background:#151a16}.history .section-heading{margin-bottom:34px}.history .section-heading .eyebrow{color:var(--muted)}.timeline{max-width:940px;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.timeline li{display:grid;grid-template-columns:120px 1fr;gap:36px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline time{color:var(--accent);font-size:18px;font-weight:bold;letter-spacing:.03em}.timeline p{margin:0;font-size:17px;line-height:1.8}.history-note{max-width:940px;margin:28px 0 0;color:var(--muted);font-size:15px;line-height:1.8}@media(max-width:700px){.history{padding-top:48px;padding-bottom:48px}.timeline li{grid-template-columns:82px 1fr;gap:16px;padding:18px 0}.timeline time{font-size:15px}.timeline p{font-size:15px}.history-note{font-size:14px}}
.hero{min-height:590px;padding-top:54px;padding-bottom:54px}
.hero h1{max-width:65%;font-size:clamp(40px,5.4vw,78px);line-height:1.3;letter-spacing:-.04em;margin:26px 0 32px}
.hero-emblem{width:28%;max-width:360px;top:110px;transform:none;padding:24px}
.hero-bottom{gap:36px;align-items:center}
.hero-bottom p{max-width:650px}
.hero-bottom .hero-services{line-height:1.9;min-width:0}
.hero-services>span{display:block}
.hero-services .keep-phrase{display:inline-block}
.division-side{justify-content:flex-start;gap:14px}
.division-side p{margin:0}
.division-side>.site-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;border:1px solid #263e32;font-weight:bold}
.division-side>.site-link:hover{background:#e1e8dc}
.division-side>.contact-link{min-height:46px;padding:10px 18px}
.brand-stories{margin-top:6px;width:100%;border-top:1px solid #bfc7bc}
.brand-stories summary{cursor:pointer;font-size:14px;line-height:1.7;padding:14px 0}
.brand-stories>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:8px}
.brand-stories .site-link{font-size:14px}
.brand-stories summary:focus-visible{outline:3px solid #315191;outline-offset:3px}
.hybrid-logo{max-width:170px}
.hammar-logo{max-width:430px}
.work-gallery>.photo-0 img,.paint-photo-grid>.featured-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:900px) and (min-width:701px){.hero-bottom{align-items:flex-start;flex-direction:column;gap:20px}.hero-emblem{top:115px;width:28%;padding:16px}}
@media(max-width:700px){
.hero{display:grid;grid-template-columns:1fr 100px;gap:0 16px;min-height:0;padding:28px 5% 34px;align-items:center}
.hero>.eyebrow{grid-column:1;grid-row:1;font-size:12px;letter-spacing:1.5px}
.hero-emblem{grid-column:2;grid-row:1;position:static;width:100%;max-width:none;margin:0;padding:8px;border-bottom-width:2px}
.hero-emblem>span{display:none}
.hero h1{grid-column:1 / -1;grid-row:2;max-width:100%;font-size:clamp(30px,7.8vw,52px);line-height:1.4;margin:26px 0 24px;letter-spacing:-.04em}
.hero-bottom{grid-column:1 / -1;grid-row:3;display:block}
.hero-bottom p{font-size:16px;line-height:1.9}
.hero-bottom .button{margin-top:22px;min-height:48px;padding:15px 20px}
.hybrid-logo{max-width:150px;margin:0 0 8px}
.hammar-logo{max-width:340px}
.division-side{gap:12px}
.company dl>div{grid-template-columns:105px minmax(0,1fr);gap:14px}
.company dd{overflow-wrap:anywhere}
}

/* Shared values across all three HDS businesses */
.philosophy{padding:68px 5%;background:#1a211c;border-bottom:1px solid var(--line)}
.philosophy .section-heading .eyebrow{color:var(--muted)}
.philosophy-statement{font-size:clamp(26px,3.3vw,46px);font-weight:700;line-height:1.65;margin:0 0 20px;letter-spacing:-.025em}
.philosophy-statement span{display:inline-block}
.philosophy-intro{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 36px;overflow-wrap:anywhere}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.value{border-top:2px solid var(--accent);padding-top:24px;min-width:0}
.value-letter{display:block;color:var(--accent);font-size:54px;line-height:1;font-weight:900;margin-bottom:20px}
.value h3{font-size:26px;line-height:1.3;margin:0 0 8px}
.value p{font-size:16px;line-height:1.9;margin:16px 0 0;overflow-wrap:anywhere}
.value .value-label{font-size:14px;color:var(--muted);margin:0}
@media(min-width:701px) and (max-width:900px){.value p br{display:none}}
@media(max-width:700px){.philosophy{padding:44px 5%}.philosophy .section-heading{margin-bottom:26px}.philosophy-statement{font-size:clamp(24px,6.3vw,36px)}.philosophy-statement span{display:block}.philosophy-intro{margin-bottom:28px}.values-grid{grid-template-columns:1fr;gap:26px}.value{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding-top:22px}.value-letter{font-size:44px;margin:0}.value h3{font-size:24px}.value p{margin-top:12px;text-wrap:pretty}}
