/* Published-style homepage with the Opal feature: language and phone adaptations. */
body.homepage-polished main .primary{border-radius:4px}
body.homepage-polished .home-opal-name .home-opal-wordmark{width:74px;height:auto;flex:none}
body.homepage-polished:lang(en) .home-opal-type{font-family:Arial,Helvetica,sans-serif}

@media(min-width:901px){
 body.homepage-polished:lang(en) .hero-copy h1{font-size:34px;line-height:1.55;letter-spacing:0}
 body.homepage-polished:lang(en) .home-opal h2{font-size:28px;line-height:1.6;letter-spacing:0}
 body.homepage-polished:lang(en) .philosophy h2{font-size:30px;letter-spacing:0}
}
@media(min-width:901px) and (max-width:1100px){
 body.homepage-polished:lang(en) .hero-copy h1{font-size:29px}
 body.homepage-polished:lang(en) .home-opal h2{font-size:25px}
 body.homepage-polished:lang(en) .home-opal-type{font-size:11px}
}

@media(max-width:900px){
 body.homepage-polished .home-opal{display:block;padding-bottom:48px}
 body.homepage-polished .home-opal-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:24px;align-items:center;padding:34px 30px;border:1px solid #dce6ed;border-radius:6px;background:linear-gradient(110deg,#f1f6fa 0%,#f7fafc 55%,#edf3f7 100%)}
 body.homepage-polished .home-opal-copy{position:relative;z-index:1;min-width:0}
 body.homepage-polished .home-opal-eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.1em;margin:0 0 18px;color:#526d85}
 body.homepage-polished .home-opal-eyebrow::before{content:"";width:22px;height:2px;flex:none;background:#b49357}
 body.homepage-polished .home-opal h2{font-size:26px;line-height:1.65;letter-spacing:.025em;margin:0 0 18px}
 body.homepage-polished:lang(en) .home-opal h2{font-size:25px;line-height:1.4;letter-spacing:0}
 body.homepage-polished .home-opal-name{display:flex;align-items:center;margin:0 0 18px;color:#33557d}
 body.homepage-polished .home-opal-type{font:11px/1.8 "Yu Gothic",Meiryo,sans-serif;letter-spacing:.02em;color:#526d85;border-left:1px solid #b7c9d7;padding-left:12px;margin-left:13px;min-width:0}
 body.homepage-polished .home-opal-description{font-size:13px;line-height:1.95;color:#526d85}
 body.homepage-polished .home-opal-button{min-height:49px;padding:12px 20px;font-size:12px;justify-content:center;margin-top:23px}
 body.homepage-polished .home-opal-visual{position:relative;isolation:isolate;min-width:0;height:335px;width:100%;max-width:360px;margin:auto}
 body.homepage-polished .home-opal-orbit{position:absolute;width:230px;height:230px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #d5e1e9;border-radius:50%;z-index:-1}
 body.homepage-polished .home-opal-unit{position:absolute;width:195px;height:360px;object-fit:contain;right:1%;top:47%;transform:translateY(-50%);filter:drop-shadow(8px 10px 10px #29455e15)}
 body.homepage-polished .home-opal-controller{position:absolute;width:160px;height:160px;object-fit:contain;left:-2%;bottom:7px;filter:drop-shadow(4px 7px 7px #29455e10)}
 body.homepage-polished .home-opal-caption{position:absolute;right:0;bottom:-7px;color:#526d85;font:9px/1.7 Arial,sans-serif;letter-spacing:.06em}
}
@media(max-width:640px){
 body.homepage-polished .home-opal-panel{grid-template-columns:minmax(0,1fr);gap:24px;padding:29px 25px}
 body.homepage-polished .home-opal-button{width:100%}
 body.homepage-polished .home-opal-visual{height:310px;max-width:315px}
 body.homepage-polished .home-opal-unit{width:185px;height:345px;right:3%}
 body.homepage-polished .home-opal-controller{width:150px;height:150px;left:0;bottom:0}
 body.homepage-polished .home-opal-orbit{width:220px;height:220px}
 body.homepage-polished:lang(en) .hero-values [data-value]{font-size:10px;line-height:1.5;letter-spacing:0;min-height:66px}
}
@media(max-width:360px){
 body.homepage-polished .home-opal-panel{padding:26px 21px}
 body.homepage-polished .home-opal h2{font-size:24px}
 body.homepage-polished:lang(en) .home-opal h2{font-size:23px}
 body.homepage-polished .home-opal-visual{height:285px}
 body.homepage-polished .home-opal-unit{width:165px;height:310px;right:0}
 body.homepage-polished .home-opal-controller{width:132px;height:132px;left:-2px}
 body.homepage-polished .home-opal-orbit{width:200px;height:200px}
}
