:root{color-scheme:light;--cream:#f7f3ea;--navy:#243348;--taupe:#80694d;--line:#d7c9b5}*{box-sizing:border-box}html{font-family:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--navy);background:var(--cream)}body{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 5vw;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,"Times New Roman",serif;text-decoration:none;font-size:25px;letter-spacing:.1em}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.45em;margin-top:7px}button{font:inherit;font-size:14px;color:var(--navy);border:1px solid var(--line);background:transparent;min-height:44px;padding:8px 17px;cursor:pointer}main{flex:1;display:flex;align-items:center}.landing{width:100%;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}.copy{padding:72px 4.5vw 80px 6vw}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.36em;color:var(--taupe);margin:0 0 40px}.eyebrow:after{content:"";display:block;width:50px;height:1px;background:#ad9980;margin-top:23px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(30px,3.5vw,60px);letter-spacing:.04em;line-height:1.15;margin:0 0 30px}.headline{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(29px,2.8vw,45px);line-height:1.25;color:var(--taupe);margin:0 0 25px}.intro{font-size:18px;line-height:1.65;max-width:470px;margin:0}.contact{margin-top:42px;padding-top:23px;border-top:1px solid var(--line)}.contact>span{display:block;font-size:12px;line-height:1.5;margin-bottom:10px;color:#6c685f}.contact a{font-size:clamp(16px,1.6vw,23px);text-decoration:none;overflow-wrap:anywhere}.contact a:hover{text-decoration:underline;text-underline-offset:5px}.contact a span{margin-left:8px}figure{margin:0;align-self:center;min-width:0}figure img{display:block;width:100%;height:auto}figcaption{font-size:11px;color:#75674f;padding:12px 20px;letter-spacing:.05em}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:22px 5vw;border-top:1px solid var(--line);font-size:11px;color:#746b60}a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:5px}[lang=ja] .headline{font-size:clamp(26px,2.4vw,36px);line-height:1.6}[lang=ja] .intro{font-size:16px}@media(max-width:900px){.landing{grid-template-columns:1fr}.copy{padding:52px 7vw}.eyebrow{margin-bottom:28px}h1{font-size:clamp(30px,6vw,52px)}.headline{font-size:clamp(30px,5vw,42px)}figure{padding:0 7vw 28px}figcaption{padding-left:0}header{padding:20px 7vw}footer{padding:22px 7vw}.contact{margin-top:30px}}@media(max-width:360px){.wordmark{font-size:20px}header{gap:10px}.copy{padding:38px 6vw}h1{font-size:29px}.intro{font-size:16px}button{padding:8px 11px}}
/* Blue and white identity with a lighter editorial serif. */
:root{color-scheme:light;--cream:#ffffff;--navy:#16365c;--taupe:#41617f;--line:#d4e0eb}
html{background:#fff;color:#16365c}
header{background:#fff;border-color:#d4e0eb;padding-top:28px;padding-bottom:28px}
.wordmark,h1,.headline{font-family:"Didot","Bodoni MT","Iowan Old Style","Baskerville",Georgia,serif;font-weight:400}
.wordmark{font-size:27px;letter-spacing:.08em;color:#16365c}
.wordmark span{color:#54718d}
button{color:#16365c;border-color:#b4c7d9;background:#fff}
main{background:#fff}
.copy{color:#16365c;padding-top:64px;padding-bottom:70px}
.eyebrow{color:#54718d;font-size:10px;letter-spacing:.32em}
.eyebrow:after{background:#6f8ca8}
h1{color:#16365c;font-size:clamp(34px,3.9vw,66px);letter-spacing:.035em;margin-bottom:28px}
.headline{color:#365878;font-size:clamp(30px,3vw,46px);line-height:1.3;letter-spacing:-.015em}
.intro{color:#53677a;font-size:17px;line-height:1.75}
.contact{border-color:#d4e0eb}
.contact>span{color:#60758a}
.contact a{color:#16365c;font-size:clamp(17px,1.7vw,23px)}
figure{background:#eef3f7}
figcaption{color:#536b83;background:#eef3f7;margin:0;padding:13px 22px}
footer{background:#16365c;color:#edf3f8;border-color:#16365c;padding-top:21px;padding-bottom:21px}
a:focus-visible,button:focus-visible{outline-color:#416f9b}
[lang=ja] .headline{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
@media(max-width:900px){header{padding-top:22px;padding-bottom:22px}.copy{padding:48px 7vw}h1{font-size:clamp(33px,6.7vw,58px)}.headline{font-size:clamp(31px,5.5vw,44px)}figure{padding:0;background:#fff}figcaption{padding:13px 7vw}.eyebrow{margin-bottom:29px}}
@media(max-width:360px){.wordmark{font-size:21px}h1{font-size:31px}.headline{font-size:29px}.copy{padding:40px 6vw}}

/* Approved flowing royal-blue, ivory and gold identity. */
:root{--brand-flow:url('/brand-flow.png');--brand-ivory:#f5f0e5;--brand-blue:#18395e;--brand-gold:#b7a077}
body{background:var(--brand-ivory) var(--brand-flow) center center/cover no-repeat}
header{background:#f5f0e5e8;border-color:#b7a07766}
main{background:transparent}
.landing{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);min-height:660px;gap:3vw;padding-right:6vw}
.copy{padding:66px 2vw 76px 6vw;background:linear-gradient(90deg,#f5f0e5ed,#f5f0e5c9 82%,#f5f0e500)}
h1{font-size:clamp(37px,4.6vw,76px)}
.headline{font-size:clamp(31px,3.2vw,48px);color:#746044;max-width:650px}
.intro{max-width:510px}
.contact{border-color:#b7a07780;max-width:510px}
figure{width:100%;max-width:470px;justify-self:center;background:transparent}
figure img{border:2px solid #b7a077;box-shadow:0 12px 35px #0b24463b}
figcaption{background:#f5f0e5ed;color:#4d6073;font-size:10px;text-align:center;padding:8px 12px}
footer{background:#18395ee8;border-color:#b7a07766}
@media(min-width:1600px){.landing{max-width:1800px;margin:auto}}
@media(max-width:900px){body{background-position:65% center}.landing{grid-template-columns:1fr;gap:20px;min-height:0;padding:0 0 44px}.copy{padding:48px 7vw;background:#f5f0e5e8}h1{font-size:clamp(34px,7vw,58px)}.headline{font-size:clamp(30px,5.5vw,43px)}figure{width:68%;max-width:430px;padding:0}figcaption{padding:8px 12px}.contact{margin-top:28px}}
@media(max-width:600px){
  .landing{gap:0;padding-bottom:32px}
  .copy{padding:32px 7vw 24px}
  .eyebrow{margin-bottom:24px}
  h1{font-size:clamp(29px,8.2vw,44px);margin-bottom:22px}
  .headline{font-size:clamp(27px,7.2vw,36px);line-height:1.25;margin-bottom:20px}
  .intro{font-size:16px;line-height:1.65}
  .contact{margin-top:24px;padding-top:18px}
  figure{width:62%;max-width:280px;margin:16px auto 0;justify-self:center}
  figure img{height:auto;object-fit:contain;box-shadow:0 6px 18px #0b244626}
  figcaption{font-size:9px;line-height:1.5;padding:7px 8px}
}
@media(max-width:360px){.copy{padding:30px 6vw 22px}}

/* Language controls stay visible on both desktop and mobile. */
.language-switch{display:flex;align-items:center;gap:4px;flex-shrink:0;font-family:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;white-space:nowrap}
.language-switch button{font:inherit;font-size:.875rem;line-height:1.5;min-height:44px;min-width:44px;padding:8px 10px;color:inherit;background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer;letter-spacing:0}
.language-switch button[aria-pressed="true"]{border-color:currentColor}
.language-switch button:hover{text-decoration:underline;text-underline-offset:4px}
.language-switch button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

html:lang(ja) .headline{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.7;letter-spacing:.035em;overflow-wrap:anywhere}
html:lang(ja) .intro{line-height:1.9}
@media(max-width:500px){header{gap:8px;flex-wrap:wrap}.wordmark{font-size:clamp(19px,5.8vw,27px)}.language-switch{margin-left:auto}.language-switch button{padding-inline:8px}}
