/* Technical floor only: no colour, type or layout opinion lives here. Every model owns its look. */
@import url(fonts.css);
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;line-break:strict}
body{margin:0;font-feature-settings:'palt' 1;overflow-wrap:anywhere}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit}
.tax{font-size:.62em;letter-spacing:.04em;margin-left:.3em}
/* 税込 tells the customer what the price means: it stays readable whatever the model does with the digits. */
.tax{font-size:max(.75rem,.5em)!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:90;padding:10px 16px;background:#fff;color:#002a44}
.skip:focus{top:12px}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.motion-tools{display:flex;flex-wrap:wrap;gap:10px}
.motion-tools[hidden]{display:none}
.motion-tools button{min-height:44px;padding:8px 16px;background:none;border:1px solid currentColor;cursor:pointer;font-size:.8125rem}
.motion-tools button[hidden]{display:none}
/* Logo opening: the same scene as the approved E2 page. */
/* Until the intro stage exists the page stays behind its colour: no flash of the first screen on a slow load. */
html.pre-intro{--opening-paper:#034573;background:var(--opening-paper)}
html.pre-intro body{visibility:hidden}
.opening{position:fixed;inset:0;z-index:80;overflow:hidden;pointer-events:none;color:#fcfef8;--opening-paper:#034573}
.opening-bg{position:absolute;inset:0;background:var(--opening-paper)}
.opening-art{position:absolute;aspect-ratio:850/920;transform-origin:0 0}
.opening-art svg{display:block;width:100%;height:100%;overflow:visible}
.opening-art .iv-awning{transform-box:fill-box;transform-origin:center top}
.opening-art .iv-grow{transform-origin:355px 790px}
.opening-art .iv-ribbon,.opening-art .iv-flower{transform-box:fill-box;transform-origin:center}
.opening-art .iv-letter{transform-box:fill-box;transform-origin:center bottom}
.opening-art [fill="#054E87" i]{fill:#FCFEF8}
.opening-art [fill="#FCFEF8" i]{fill:#054E87}
.logo-color-receiver{position:absolute;inset:0;width:100%;height:100%}
.opening-caption{position:absolute;left:12px;right:12px;text-align:center;font:700 clamp(17px,3vw,25px)/1.8 'Varianti Mincho',serif;letter-spacing:.06em}
.opening-controls{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));right:16px;left:16px;display:flex;justify-content:center;gap:10px}
.opening-controls button{pointer-events:auto;min-height:44px;padding:8px 16px;background:var(--opening-paper);color:inherit;border:1px solid currentColor;font-size:13px;line-height:1.4}
.opening-controls :focus-visible{outline-color:#ffd323}
@media(max-height:500px){.opening-controls{bottom:8px}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}.motion-tools{display:none!important}}
@media print{.opening,.motion-tools,.skip{display:none!important}}
/* A call link answers the pointer on every model, whatever its look. */
@media(hover:hover){a[href^="tel:"]:hover{text-decoration-line:underline;text-underline-offset:.18em}}
/* Feedback 03/11: frase sull'asse del logo; il 。 resta fuori dal centro e l'ultima spaziatura non sposta il testo */
.opening-caption-in{position:relative;display:inline-block;margin-right:-.06em}
.opening-caption-kuten{position:absolute;left:100%;top:0}
