:root{--wine:#245777;--paper:#ffffff;--ink:#243f50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;padding:28px 7%;gap:30px;border-bottom:1px solid #d7e6ef}.logo{font:28px Georgia;letter-spacing:4px;color:var(--wine)}.logo span{display:block;font:12px Arial;letter-spacing:2px;margin-top:8px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,footer>a:last-child:hover{text-decoration:underline;text-underline-offset:6px}.company-hero{display:grid;grid-template-columns:1.05fr 1fr;background:#e5f3fc;color:var(--ink)}.company-hero>div:first-child{padding:68px 13% 70px}.eyebrow{font-size:12px;letter-spacing:2px;margin:0 0 25px}.company-hero h1{font-size:clamp(32px,3.5vw,55px);font-weight:400;letter-spacing:.06em;margin:0 0 35px}.lead{font:clamp(35px,4vw,60px)/1.6 Georgia,'Yu Mincho',serif;margin:0 0 26px}.description{font-size:16px;line-height:2}.text-link{display:inline-block;border-bottom:1px solid #7098b1;margin-top:24px;padding-bottom:8px;font-size:14px}.hero-image{position:relative;min-height:610px;overflow:hidden}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-image span{position:absolute;left:25px;bottom:25px;font-size:11px;letter-spacing:2px;color:white;background:#0007;padding:10px}.business{padding:95px 7%}.section-title{display:flex;align-items:baseline;gap:35px;margin-bottom:35px;flex-wrap:wrap}.section-title .eyebrow{color:var(--wine);margin:0}.section-title h2{font:38px Georgia,'Yu Mincho',serif;margin:0}.section-title>span{margin-left:auto;font-size:14px}.business-card{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid #d7e6ef}.card-image{min-height:440px;overflow:hidden}.card-image img{display:block;width:100%;height:100%;max-height:520px;object-fit:cover}.card-copy{padding:52px 12%;align-self:center}.card-copy h3{font:clamp(26px,3vw,39px)/1.5 Georgia,'Yu Mincho',serif;color:var(--wine);margin:0}.english{font:20px Georgia;color:var(--wine);margin-top:8px}.tagline{font:26px Georgia,'Yu Mincho',serif;margin:30px 0}.card-copy>p:not(.eyebrow):not(.english):not(.tagline){font-size:15px;line-height:2}.button{display:inline-block;background:var(--wine);color:var(--paper);padding:17px 26px;margin-top:20px;font-size:14px}.business-card:hover .button{background:#174665}.business-card:hover{border-color:var(--wine)}footer{display:flex;align-items:end;justify-content:space-between;padding:38px 7%;gap:25px;border-top:1px solid #d7e6ef;font-size:12px}a:focus-visible{outline:3px solid #bb843b;outline-offset:5px}@media(max-width:760px){header{padding:22px 6%}.logo{font-size:22px}nav{gap:16px;font-size:12px}.company-hero{grid-template-columns:1fr}.company-hero>div:first-child{padding:50px 7%}.hero-image{min-height:400px;max-height:480px;aspect-ratio:1.15}.company-hero h1{font-size:34px}.lead{font-size:40px}.business{padding:60px 7%}.section-title{gap:18px}.section-title>span{width:100%;margin:0}.business-card{grid-template-columns:1fr}.card-image{min-height:0;height:330px}.card-image img{object-position:center 55%}.card-copy{padding:35px 8%}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

header{background:#f5faff}.company-hero{background:#e5f3fc;color:#243f50}.company-hero .eyebrow{color:#416d89}.company-hero h1,.lead{color:#214e6c}.business{background:#fff}.business-card{background:#f6fbff}.section-pending{padding:60px 7%;background:#f0f8fd;border-top:1px solid #d7e6ef}.section-pending h2{font:32px Georgia,"Yu Mincho",serif;color:#245777;margin:0}.section-pending+.section-pending{background:#f8fcff}.section-pending p{font-size:14px;color:#5b7383;margin:18px 0 0}footer{background:#eaf5fc}html{scroll-padding-top:25px}@media(max-width:760px){header{flex-wrap:wrap;gap:20px}nav{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}}

@font-face{font-family:FuuhaiBrush;src:url("/fonts/fuuhai-brush.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}.company-hero h1{font-family:FuuhaiBrush,"Yu Mincho",serif;font-weight:400;font-size:clamp(40px,4.7vw,72px);letter-spacing:.06em;line-height:1.5}.logo span{font-family:FuuhaiBrush,"Yu Mincho",serif;font-size:20px;line-height:1.5;letter-spacing:.08em}@media(max-width:760px){.company-hero h1{font-size:clamp(32px,8vw,52px)}.logo span{font-size:18px}}

/* Typography follows the cafe page; the company wordmark stays in brush script. */
:root{--type-body:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--type-heading:Georgia,'Yu Mincho',serif}
body{font-family:var(--type-body)}
.eyebrow{font-family:var(--type-body);font-size:12px;font-weight:600;line-height:1.6;letter-spacing:2px;margin-bottom:32px}
.lead{font-family:var(--type-heading);font-size:clamp(35px,4vw,48px);font-weight:400;line-height:1.6;letter-spacing:0;margin-bottom:27px}
.description{font-size:16px;line-height:2.1;margin:0 0 22px}
.section-title h2,.section-pending h2{font-family:var(--type-heading);font-size:40px;font-weight:400;line-height:1.6;letter-spacing:0}
.card-copy h3{font-family:var(--type-heading);font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.6;letter-spacing:0}
.english{font:400 24px/1.5 Georgia,serif;margin:8px 0 22px}
.tagline{font-family:var(--type-heading);font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.7;letter-spacing:.06em;margin:6px 0 24px}
.card-copy>p:not(.eyebrow):not(.english):not(.tagline){font-size:16px;line-height:2.2}
.section-pending p{font-size:16px;line-height:2.1;margin-top:22px}
.text-link,.button,nav{font-family:var(--type-body);font-size:14px;line-height:1.6}
.button{padding:18px 32px;margin-top:23px}
@media(max-width:800px){.lead{font-size:35px}.section-title h2,.section-pending h2{font-size:32px}.card-copy h3{font-size:30px}.english{font-size:22px}.tagline{font-size:23px}}

.company-details{max-width:960px;margin:32px 0 0}.company-details>div{display:grid;grid-template-columns:230px 1fr;gap:30px;padding:23px 0;border-bottom:1px solid #d7e6ef;font-size:16px;line-height:2}.company-details dt{color:#245777}.company-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.company-details>div{grid-template-columns:1fr;gap:6px;padding:20px 0}}

.philosophy-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:64px;margin-top:38px;max-width:1100px}.philosophy-layout blockquote{margin:0;padding:24px 0 24px 25px;border-left:2px solid #b6d7ed}.philosophy-layout blockquote>p:first-child{font-family:var(--type-heading);font-size:32px;line-height:1.9;letter-spacing:.12em;color:#245777;margin:0 0 20px}.philosophy-layout cite{font-size:14px;font-style:normal;color:#5b7383}.philosophy-layout .poem-meaning{font-size:14px;line-height:2}.philosophy-copy h3{font-family:var(--type-heading);font-size:30px;font-weight:400;line-height:1.7;color:#245777;margin:0 0 25px}.philosophy-copy p{font-size:16px;line-height:2.2;color:var(--ink);margin:0 0 20px}@media(max-width:800px){.philosophy-layout{grid-template-columns:1fr;gap:30px}.philosophy-copy h3{font-size:26px}.philosophy-layout blockquote>p:first-child{font-size:28px}}

/* Soft, dimensional company surfaces. */
.company-hero{margin:24px 3% 0;border-radius:36px;overflow:hidden;background:linear-gradient(135deg,#f2faff 0%,#e0f0fb 100%);box-shadow:0 14px 40px rgba(43,91,124,.09),inset 0 1px 0 #fff}
.hero-image{border-radius:32px 0 0 32px;overflow:hidden}
.hero-image span{border-radius:12px}
.business-card{border:1px solid #e0edf6;border-radius:32px;padding:18px;gap:6px;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f0f8ff 55%,#e7f3fc 100%);box-shadow:0 20px 45px rgba(40,86,119,.12),0 4px 10px rgba(40,86,119,.05),inset 0 1px 0 rgba(255,255,255,.95);transition:box-shadow .2s ease,transform .2s ease}
.card-image{border-radius:23px;overflow:hidden;box-shadow:0 5px 15px rgba(31,68,92,.09)}
.card-image img{max-height:none;object-fit:cover}
.card-copy{padding:36px 9%}
.button{border-radius:999px;background:linear-gradient(160deg,#397699,#245777);box-shadow:0 7px 16px rgba(36,87,119,.22),inset 0 1px 0 rgba(255,255,255,.28);border:1px solid rgba(29,72,101,.12);transition:box-shadow .2s ease}
.business-card:hover .button{background:linear-gradient(160deg,#326d90,#1d4b69);box-shadow:0 9px 20px rgba(36,87,119,.27),inset 0 1px 0 rgba(255,255,255,.25)}
.section-title>span{background:#edf6fd;border:1px solid #dfedf7;border-radius:999px;padding:8px 17px}
.section-pending{margin:0 7% 32px;padding:46px 5%;border:1px solid #e1edf5;border-radius:28px;background:linear-gradient(135deg,#f6fbff,#edf7fd);box-shadow:0 10px 30px rgba(40,86,119,.06)}
.section-pending+.section-pending{background:linear-gradient(135deg,#ffffff,#f0f8ff)}
.company-details>div:last-child{border-bottom:0}
.philosophy-layout blockquote{border-radius:0 20px 20px 0;background:rgba(227,242,252,.45);padding-right:20px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.business-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(40,86,119,.16),0 5px 12px rgba(40,86,119,.06)}}
@media(max-width:760px){.company-hero{margin:16px 4% 0;border-radius:26px}.hero-image{border-radius:24px 24px 0 0}.business-card{border-radius:25px;padding:12px;gap:0}.card-image{border-radius:18px}.card-copy{padding:30px 6%}.section-pending{margin:0 7% 24px;padding:32px 6%;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.business-card,.button{transition:none}}

@media(prefers-reduced-motion:no-preference){
 .scroll-ready{opacity:0;transform:translateY(28px) scale(.98)}
 .scroll-visible{animation:section-arrive .72s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms) both}
 @keyframes section-arrive{0%{opacity:0;transform:translateY(28px) scale(.98)}70%{opacity:1;transform:translateY(-3px) scale(1.003)}100%{opacity:1;transform:translateY(0) scale(1)}}
}
@media(prefers-reduced-motion:reduce){.scroll-ready,.scroll-visible{opacity:1;transform:none;animation:none}}
@media print{.scroll-ready,.scroll-visible{opacity:1!important;transform:none!important;animation:none!important}}
