/* Home-only design system. Editorial HTML modules share these tokens with live product/article modules. */
.page--home { --ph-red:var(--wb-h-accent,#c41e2e); --ph-dark:#181818; --ph-muted:#626262; --ph-paper:#f4f4f2; }
.page--home #common-home { background:#fff; color:#181818; }
.page--home .ph-section { padding:88px 0; font-family:var(--wb-font-base); }
.page--home .ph-section :is(h2,h3,p,figure) { margin-top:0; }
.page--home .ph-section h2 { margin-bottom:0; font:600 clamp(30px,3.2vw,48px)/1.15 var(--wb-font-base); letter-spacing:-.045em; text-transform:none; color:inherit; }
.page--home .ph-section h3 { margin-bottom:12px; font:600 22px/1.25 var(--wb-font-base); letter-spacing:-.025em; text-transform:none; color:inherit; }
.page--home .ph-section p { line-height:1.7; }
.page--home .ph-section :is(a,button,summary):focus-visible { outline:3px solid var(--ph-red); outline-offset:5px; }
.page--home .ph-section--dark { background:var(--ph-dark); color:#fff; }
.page--home .ph-kicker { margin:0 0 14px; color:var(--ph-muted); font-size:11px; font-weight:600; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; }
.page--home .ph-kicker::before { content:""; display:inline-block; width:18px; height:2px; margin:0 8px 3px 0; background:var(--ph-red); }
.page--home .ph-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:36px; }
.page--home .ph-intro { margin:0; max-width:380px; color:var(--ph-muted); font-size:15px; }
.page--home .ph-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; padding:6px 0; min-height:44px; color:inherit; font-size:13px; font-weight:600; text-decoration:underline; text-decoration-color:#9998; text-underline-offset:5px; }
.page--home .ph-link:hover { color:var(--ph-red); text-decoration-color:currentColor; }
.page--home .ph-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; padding:14px 22px; border:1px solid transparent; border-radius:12px; background:var(--ph-red); color:#fff; font:600 14px/1.4 var(--wb-font-base); text-decoration:none; transition:transform .2s,box-shadow .2s,background .2s; }
.page--home .ph-button:hover { color:#fff; transform:translateY(-2px); box-shadow:0 8px 22px #0002; }
.page--home .ph-button:active { transform:translateY(1px); }
.page--home .ph-button--outline { border-color:#18181860; color:inherit; background:transparent; }
.page--home .ph-button--outline:hover { color:inherit; background:#8881; }
.page--home .ph-section--dark :is(.ph-kicker,.ph-intro) { color:#bbb; }
.page--home .ph-section--dark .ph-link:hover { color:#fff; text-decoration-color:var(--ph-red); }
.page--home .ph-section--dark .ph-button--outline { border-color:#ffffff50; }
.page--home .ph-section--catalog { padding-top:50px; }
.page--home .ph-directions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.page--home .ph-direction { display:flex; flex-direction:column; min-width:0; --ph-card-padding:20px; padding:var(--ph-card-padding); overflow:hidden; background:var(--ph-paper); border:1px solid #e4e4e1; border-radius:18px; color:#181818; transition:transform .25s,border-color .25s,box-shadow .25s; }
.page--home .ph-direction:hover,.page--home .ph-direction:focus-visible { color:#181818; transform:translateY(-5px); border-color:#c41e2e70; box-shadow:0 18px 35px #1818180c; }
.page--home .ph-direction__top { display:flex; align-items:center; justify-content:space-between; color:#666; font-size:11px; }
.page--home .ph-direction__top>span:last-child { display:grid; place-items:center; width:36px; height:36px; border:1px solid #ccc; border-radius:50%; color:#181818; font-size:20px; }
.page--home .ph-direction .ph-sketch { margin:8px calc(-1 * var(--ph-card-padding)) 14px; aspect-ratio:1.2; }
.page--home .ph-direction h3 { font-size:21px; min-height:2.5em; margin-bottom:10px; }
.page--home .ph-direction p { color:#656565; font-size:13px; margin-bottom:20px; }
.page--home .ph-direction__link { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:16px; border-top:1px solid #ddd; font-size:12px; font-weight:600; }
.page--home .ph-sketch { position:relative; display:block; overflow:hidden; background:#f4f4f2; }
.page--home .ph-sketch img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:opacity .5s,transform .5s; }
.page--home .ph-sketch__colour { position:absolute; inset:0; opacity:0; }
.page--home a:is(:hover,:focus-visible) .ph-sketch__colour { opacity:1; }
.page--home a:is(:hover,:focus-visible) .ph-sketch img { transform:scale(1.035); }
.page--home .ph-sketch--fuel img { opacity:.85; }
.page--home .ph-solutions { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
.page--home .ph-blueprint { margin:0; border:1px solid #ffffff30; border-radius:20px; overflow:hidden; background:#f2f2ef; color:#181818; }
.page--home .ph-blueprint__media { position:relative; aspect-ratio:1.2; }
.page--home .ph-blueprint__media img { display:block; width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.page--home .ph-blueprint__render { position:absolute; inset:0; }
.page--home .ph-blueprint figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; font-size:13px; font-weight:600; border-top:1px solid #ddd; }
.page--home .ph-blueprint small { display:block; margin-top:5px; font-size:11px; font-weight:400; color:#666; }
.page--home .ph-blueprint button { min-height:44px; padding:9px 14px; border:1px solid #ccc; border-radius:10px; color:#181818; background:#fff; font:500 12px/1.4 var(--wb-font-base); cursor:pointer; }
.page--home .ph-options article { padding:24px 0; border-bottom:1px solid #ffffff25; }
.page--home .ph-options article:first-child { padding-top:0; }
.page--home .ph-options article p { max-width:510px; color:#ccc; margin:0 0 12px; font-size:15px; }
.page--home .ph-number { display:block; margin-bottom:12px; color:#bbb; font-size:11px; letter-spacing:.05em; }
.page--home .ph-options>.ph-button { margin-top:24px; }
.page--home .ph-model-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.page--home .ph-model { display:flex; flex-direction:column; border:1px solid #e1e1e1; border-radius:18px; overflow:hidden; background:#fff; }
.page--home .ph-model__image { display:block; padding:0; overflow:hidden; background:#f6f6f4; aspect-ratio:1.25; }
.page--home .ph-model__image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .3s; }
.page--home .ph-model:hover img { transform:scale(1.04); }
.page--home .ph-model__body { display:flex; flex-direction:column; flex:1; padding:22px; }
.page--home .ph-model__label { color:#6b6b6b; font-size:11px; margin-bottom:8px; }
.page--home .ph-model h3 { font-size:19px; }
.page--home .ph-model__body .ph-model__price { margin:auto 0 14px; padding-top:12px; font-size:20px; font-weight:600; letter-spacing:-.02em; }
.page--home .ph-model__price del { display:block; font-size:13px; color:#6b6b6b; font-weight:400; }
.page--home .ph-footnote { margin:20px 0 0; font-size:12px; color:#666; }
.page--home .ph-ranges { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:25px; }
.page--home .ph-ranges>span { margin-right:10px; color:#666; font-size:12px; }
.page--home .ph-ranges a { min-height:44px; padding:10px 15px; border:1px solid #ddd; border-radius:30px; font-size:13px; }
.page--home .ph-ranges a:hover { color:var(--ph-red); border-color:var(--ph-red); }
.page--home #home-equipment { background:var(--ph-paper); }
.page--home .ph-equipment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.page--home .ph-equipment__card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #ddd; border-radius:18px; background:#fff; color:#181818; }
.page--home .ph-equipment__card .ph-sketch { aspect-ratio:1.7; }
.page--home .ph-equipment__card>div { display:flex; flex-direction:column; flex:1; padding:24px; }
.page--home .ph-equipment__card .ph-link { margin-top:auto; align-self:flex-start; }
.page--home .ph-equipment__card p { font-size:14px; color:#666; }
.page--home .ph-fuel { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:32px; padding:32px; border:1px solid #d7d7d7; border-radius:18px; }
.page--home .ph-fuel p:last-child { max-width:760px; margin-bottom:0; font-size:14px; color:#666; }
.page--home .ph-fuel .ph-button { flex-shrink:0; }
.page--home .ph-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:0; padding:0; list-style:none; }
.page--home .ph-timeline li { padding-top:22px; border-top:1px solid #ffffff35; }
.page--home .ph-timeline li>span { display:grid; place-items:center; width:38px; height:38px; margin-bottom:24px; border:1px solid #ffffff40; border-radius:50%; font-size:12px; }
.page--home .ph-timeline h3 { font-size:20px; }
.page--home .ph-timeline p { color:#bbb; font-size:14px; }
.page--home .ph-budget { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; margin-top:54px; padding:36px; border:1px solid #ffffff30; border-radius:20px; background:linear-gradient(120deg,#ffffff0b,transparent); }
.page--home .ph-budget p:last-child { max-width:700px; margin-bottom:0; color:#ccc; font-size:14px; }
.page--home .ph-budget__action { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.page--home .ph-company { border-bottom:1px solid #eee; }
.page--home .ph-company__grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.page--home .ph-company__grid>div:first-child>.ph-link { margin-top:24px; }
.page--home .ph-company__lead { font-size:24px; line-height:1.5!important; letter-spacing:-.025em; }
.page--home .ph-company__grid>div>p:not(.ph-company__lead):not(.ph-kicker) { color:#666; font-size:15px; }
.page--home .ph-company__links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.page--home .ph-company__links a { min-height:44px; padding:10px 0; border-bottom:1px solid #ccc; font-size:13px; }
.page--home .ph-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.page--home .ph-story { overflow:hidden; display:flex; flex-direction:column; border:1px solid #e2e2e2; border-radius:18px; }
.page--home .ph-story__image { display:block; aspect-ratio:1.7; overflow:hidden; background:#eee; }
.page--home .ph-story__image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.page--home .ph-story:hover img { transform:scale(1.035); }
.page--home .ph-story__body { display:flex; flex-direction:column; flex:1; padding:24px; }
.page--home .ph-story time { display:block; margin-bottom:14px; color:#6b6b6b; font-size:11px; }
.page--home .ph-story h3 { font-size:21px; }
.page--home .ph-story__body>p { color:#666; font-size:13px; }
.page--home .ph-story__body>.ph-link { margin-top:auto; align-self:flex-start; }
.page--home .ph-stories+.ph-stories { padding-top:20px; }
.page--home .ph-faq { background:var(--ph-paper); }
.page--home .ph-faq__grid { display:grid; grid-template-columns:.7fr 1fr; gap:80px; }
.page--home .ph-faq__grid>div:first-child>p:not(.ph-kicker) { max-width:330px; margin:22px 0 8px; color:#666; font-size:14px; }
.page--home .ph-faq details { border-bottom:1px solid #d5d5d5; }
.page--home .ph-faq details:first-child { border-top:1px solid #d5d5d5; }
.page--home .ph-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:74px; padding:18px 0; font-size:16px; font-weight:600; cursor:pointer; list-style:none; }
.page--home .ph-faq summary::-webkit-details-marker { display:none; }
.page--home .ph-faq summary>span { flex-shrink:0; font-size:23px; color:var(--ph-red); transition:transform .2s; }
.page--home .ph-faq details[open] summary>span { transform:rotate(45deg); }
.page--home .ph-faq details>p { margin:0 0 22px; color:#5a5a5a; font-size:14px; }
.page--home .ph-contact { background:var(--ph-dark); color:#fff; padding-bottom:60px; }
.page--home .ph-contact__panel { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:80px; padding:48px; border:1px solid #ffffff30; border-radius:24px; background:radial-gradient(ellipse at 0 0,#c41e2e22,transparent 65%),linear-gradient(120deg,#ffffff08,transparent); }
.page--home .ph-contact .ph-kicker { color:#ccc; }
.page--home .ph-contact__panel>div>p:not(.ph-kicker) { max-width:520px; margin:24px 0; color:#ccc; font-size:15px; }
.page--home .ph-contact__details { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.page--home .ph-contact__phone { color:#fff; font-size:clamp(23px,2.5vw,36px); letter-spacing:-.025em; }
.page--home .ph-contact__details>a:hover { color:#fff; text-decoration:underline; }
.page--home .ph-contact__privacy { color:#ccc; font-size:11px; }
.page--home .ph-section[id] { scroll-margin-top:100px; }
@media(max-width:1100px) {
 .page--home .ph-directions { gap:10px; }
 .page--home .ph-direction { --ph-card-padding:16px; }
 .page--home .ph-direction h3 { font-size:18px; }
 .page--home .ph-solutions,.page--home .ph-company__grid,.page--home .ph-faq__grid { gap:32px; }
 .page--home .ph-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page--home .ph-model__image { aspect-ratio:1.6; }
 .page--home .ph-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page--home .ph-contact__panel { gap:30px; padding:32px; }
}
@media(max-width:767px) {
 .page--home .ph-section { padding:52px 0; }
 .page--home .ph-section h2 { font-size:31px; }
 .page--home .ph-head { display:block; margin-bottom:26px; }
 .page--home .ph-head>.ph-intro,.page--home .ph-head>.ph-link { margin-top:16px; }
 .page--home .ph-intro { font-size:14px; }
 .page--home .ph-directions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .page--home .ph-direction { --ph-card-padding:13px; border-radius:14px; }
 .page--home .ph-direction .ph-sketch { aspect-ratio:1; }
 .page--home .ph-direction h3 { font-size:17px; }
 .page--home .ph-direction p { font-size:12px; }
 .page--home .ph-solutions,.page--home .ph-equipment,.page--home .ph-company__grid,.page--home .ph-faq__grid,.page--home .ph-contact__panel,.page--home .ph-budget { grid-template-columns:1fr; gap:28px; }
 .page--home .ph-blueprint figcaption { padding:15px; flex-wrap:wrap; }
 .page--home .ph-blueprint button { width:100%; }
 .page--home .ph-options h3 { font-size:22px; }
 .page--home .ph-model__body { padding:16px; }
 .page--home .ph-model h3 { font-size:17px; }
 .page--home .ph-model__price { font-size:18px; }
 .page--home .ph-model__image { aspect-ratio:1.2; }
 .page--home .ph-model-grid { gap:12px; }
 .page--home .ph-fuel { display:block; padding:24px; }
 .page--home .ph-fuel .ph-button { margin-top:24px; }
 .page--home .ph-budget { padding:24px; }
 .page--home .ph-timeline { gap:25px 20px; }
 .page--home .ph-timeline h3 { font-size:18px; }
 .page--home .ph-timeline p { font-size:13px; }
 .page--home .ph-company__lead { font-size:21px; }
 .page--home .ph-story-grid { grid-template-columns:1fr; }
 .page--home .ph-story h3 { font-size:21px; }
 .page--home .ph-stories+.ph-stories { padding-top:8px; }
 .page--home .ph-contact__panel { padding:24px; }
 .page--home .ph-contact__panel>div>p:not(.ph-kicker) { font-size:14px; }
 .page--home .ph-section[id] { scroll-margin-top:72px; }
}
@media(max-width:380px) {
 .page--home .ph-direction h3 { font-size:15px; }
 .page--home .ph-model-grid { grid-template-columns:1fr; }
 .page--home .ph-button { gap:12px; padding-inline:16px; font-size:13px; }
 .page--home .ph-timeline { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .page--home .ph-section * { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Compact floating control, consistent with the homepage panels. */

/* Product reviews and document library. */
.page--home .ph-reviews { background:#f4f4f2; }
.page--home .ph-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.page--home .ph-review { min-width:0; padding:28px; border:1px solid #dededb; border-radius:20px; background:#fff; }
.page--home .ph-review__top { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.page--home .ph-review__avatar { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:50%; background:#f6ebec; color:#a61b28; font-size:18px; font-weight:600; }
.page--home .ph-review h3 { margin:0; font-size:16px; line-height:1.35; }
.page--home .ph-review time { display:block; margin-top:3px; color:#666; font-size:12px; }
.page--home .ph-review__rating { display:flex; align-items:baseline; gap:4px; margin-left:auto; white-space:nowrap; font-size:18px; font-weight:600; }
.page--home .ph-review__rating>span { color:#c41e2e; }
.page--home .ph-review__rating small { color:#707070; font-size:12px; font-weight:400; }
.page--home .ph-review blockquote { margin:0 0 24px; padding:0; border:0; font-style:normal; }
.page--home .ph-review blockquote p { font-size:15px; line-height:1.7; color:#343434; white-space:pre-line; }
.page--home .ph-review__excerpt { min-height:180px; }
.page--home .ph-review__full summary { display:flex; justify-content:space-between; align-items:center; min-height:44px; list-style:none; cursor:pointer; font-size:13px; font-weight:600; border-bottom:1px solid #ddd; }
.page--home .ph-review__full summary::-webkit-details-marker { display:none; }
.page--home .ph-review__full summary span { font-size:20px; transition:transform .2s; }
.page--home .ph-review__full[open] summary span { transform:rotate(45deg); }
.page--home .ph-review__full p { margin:16px 0 0; }
.page--home .ph-review__product { display:flex; align-items:center; gap:12px; padding-top:20px; border-top:1px solid #e6e6e6; }
.page--home .ph-review__product img { width:54px; height:54px; object-fit:contain; }
.page--home .ph-review__product>span:nth-child(2) { flex:1; }
.page--home .ph-review__product small { display:block; margin-bottom:3px; color:#666; font-size:11px; }
.page--home .ph-review__product strong { display:block; font-size:13px; line-height:1.4; font-weight:600; }
.page--home .ph-review__product:hover strong { color:#c41e2e; }
.page--home .ph-documents { background:#fff; border-bottom:1px solid #e9e9e9; }
.page--home .ph-document-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.page--home .ph-document { display:flex; flex-direction:column; overflow:hidden; border:1px solid #ddd; border-radius:18px; transition:transform .25s,box-shadow .25s; }
.page--home .ph-document:hover { transform:translateY(-4px); box-shadow:0 16px 30px #1818180d; }
.page--home .ph-document__preview { display:grid; place-items:center; position:relative; height:235px; overflow:hidden; background:radial-gradient(ellipse at 50% 0%,#fff,#efefed); }
.page--home .ph-document__preview img { display:block; height:195px; width:auto; max-width:80%; object-fit:contain; box-shadow:0 5px 16px #1818181a; transform:rotate(-3deg); transition:transform .3s; }
.page--home .ph-document:nth-child(even) .ph-document__preview img { transform:rotate(3deg); }
.page--home .ph-document:is(:hover,:focus-visible) .ph-document__preview img { transform:rotate(0) scale(1.04); }
.page--home .ph-document__zoom { position:absolute; right:16px; bottom:16px; display:grid; place-items:center; width:36px; height:36px; border:1px solid #ddd; border-radius:50%; background:#fff; }
.page--home .ph-document__body { display:flex; flex-direction:column; flex:1; padding:22px; }
.page--home .ph-document__tag { display:block; margin-bottom:14px; color:#a61b28; font-size:11px; font-weight:600; }
.page--home .ph-document--archive .ph-document__tag { color:#666; }
.page--home .ph-document h3 { font-size:19px; min-height:2.5em; margin-bottom:10px; }
.page--home .ph-document__date { display:block; font-size:12px; color:#555; margin-bottom:12px; }
.page--home .ph-document__description { display:block; margin-bottom:22px; color:#666; font-size:13px; line-height:1.6; }
.page--home .ph-document__open { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding-top:15px; border-top:1px solid #ddd; font-size:12px; font-weight:600; }
.page--home .ph-document-note { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:24px; padding:24px; border:1px solid #ddd; border-radius:16px; }
.page--home .ph-document-note p { max-width:740px; font-size:13px; line-height:1.6; margin:0; color:#666; }
.page--home .ph-document-note .ph-button { flex-shrink:0; }
.ph-document-dialog { width:min(1080px,calc(100vw - 40px)); height:calc(100dvh - 48px); max-height:1100px; max-width:none; padding:0; border:1px solid #ffffff33; border-radius:20px; color:#181818; background:#f2f2f0; overflow:hidden; }
.ph-document-dialog[open] { display:flex; flex-direction:column; }
.ph-document-dialog::backdrop { background:#111b; backdrop-filter:blur(8px); }
.ph-document-dialog__head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; background:#fff; flex-shrink:0; }
.ph-document-dialog__head h2 { margin:0; font:600 20px/1.3 var(--wb-font-base); }
.ph-document-dialog__head p { margin:5px 0 0; font-size:12px; color:#666; }
.ph-document-dialog button { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #ddd; border-radius:50%; background:#fff; color:#181818; font-size:22px; }
.ph-document-dialog button:hover { background:#f5e9eb; border-color:#c41e2e; }
.ph-document-dialog__body { flex:1; min-height:0; overflow:auto; padding:24px; text-align:center; overscroll-behavior:contain; }
.ph-document-dialog__body img { display:block; width:auto; height:auto; max-width:100%; margin:0 auto; box-shadow:0 6px 24px #18181818; }
.ph-document-dialog__footer { display:flex; align-items:center; gap:14px; flex-shrink:0; padding:12px 24px; background:#fff; border-top:1px solid #ddd; font-size:13px; }
.ph-document-dialog__footer>a { margin-left:auto; text-decoration:underline; text-underline-offset:3px; }
html.ph-document-open { overflow:hidden; }
@media(max-width:1100px) { .page--home .ph-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .page--home .ph-review { padding:20px; } .page--home .ph-review__top { flex-wrap:wrap; } }
@media(max-width:767px) { .page--home .ph-review-grid { grid-template-columns:1fr; } .page--home .ph-review__excerpt { min-height:0; } .page--home .ph-document-grid { gap:12px; } .page--home .ph-document__preview { height:170px; } .page--home .ph-document__preview img { height:140px; } .page--home .ph-document__body { padding:15px; } .page--home .ph-document h3 { font-size:16px; } .page--home .ph-document__open { font-size:11px; } .page--home .ph-document-note { display:block; padding:20px; } .page--home .ph-document-note .ph-button { margin-top:16px; } .ph-document-dialog { width:100%; height:100dvh; max-height:none; border:0; border-radius:0; margin:0; } .ph-document-dialog__head { padding:14px 16px; } .ph-document-dialog__head h2 { font-size:18px; } .ph-document-dialog__body { padding:14px; } .ph-document-dialog__footer { padding:12px; gap:10px; } }
@media(max-width:380px) { .page--home .ph-document-grid { grid-template-columns:1fr; } .page--home .ph-document { display:grid; grid-template-columns:105px minmax(0,1fr); } .page--home .ph-document__preview { height:100%; min-height:190px; } .page--home .ph-document__preview img { max-width:85%; height:auto; } .page--home .ph-document h3 { min-height:0; } .page--home .ph-document__zoom { right:8px; bottom:8px; } .page--home .ph-document__description { margin-bottom:12px; } }

.page--home .ph-review blockquote:has(.ph-review__full[open]) .ph-review__excerpt { display:none; }

/* Directions: edge-to-edge media, one arrow, compact section rhythm. */
.page--home .ph-section--catalog { padding:32px 0 48px; }
.page--home .ph-section--catalog .ph-head { margin-bottom:24px; gap:24px; }
.page--home .ph-directions { gap:16px; }
.page--home .ph-direction { position:relative; padding:0; border-radius:16px; }
.page--home .ph-direction:hover,.page--home .ph-direction:focus-visible { transform:none; }
.page--home .ph-direction__top { position:absolute; top:12px; left:12px; z-index:1; padding:5px 8px; border-radius:6px; background:#fffffff0; color:#555; line-height:1.2; pointer-events:none; }
.page--home .ph-direction__top>span:last-child { display:none; }
.page--home .ph-direction .ph-sketch { flex-shrink:0; width:100%; margin:0 0 18px; aspect-ratio:4/3; }
.page--home .ph-direction .ph-sketch img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; mix-blend-mode:normal; }
.page--home .ph-direction .ph-sketch--fuel img { object-fit:contain; mix-blend-mode:multiply; }
.page--home .ph-direction h3 { margin:0 20px 10px; min-height:0; font-size:21px; line-height:1.25; }
.page--home .ph-direction p { margin:0 20px 20px; font-size:13px; line-height:1.6; }
.page--home .ph-direction__link { margin:auto 20px 18px; padding-top:14px; min-height:38px; gap:12px; }
@media(min-width:768px) and (max-width:1199px) {
 .page--home .ph-directions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page--home .ph-direction .ph-sketch { aspect-ratio:1.6; }
}
@media(max-width:767px) {
 .page--home .ph-section--catalog { padding:24px 0 32px; }
 .page--home .ph-section--catalog .ph-head { margin-bottom:20px; }
 .page--home .ph-directions { gap:12px; }
 .page--home .ph-direction h3 { margin:0 16px 8px; font-size:19px; }
 .page--home .ph-direction p { margin:0 16px 16px; }
 .page--home .ph-direction__link { margin:auto 16px 14px; }
}
/* Square media on every viewport, including phones. */
.page--home .ph-direction .ph-sketch { aspect-ratio:1; }
@media(max-width:479px) {
 .page--home .ph-directions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .page--home .ph-direction { border-radius:12px; }
 .page--home .ph-direction h3 { margin:0 12px 8px; font-size:16px; overflow-wrap:break-word; }
 .page--home .ph-direction p { margin:0 12px 14px; font-size:12px; }
 .page--home .ph-direction__link { margin:auto 12px 12px; padding-top:10px; font-size:11px; }
 .page--home .ph-direction__top { top:8px; left:8px; }
}
@media(hover:none) {
 .page--home .ph-direction .ph-sketch__colour { opacity:1; }
 .page--home .ph-direction .ph-sketch img { transform:none; }
}

.page--home .ph-direction__link { transition:color .2s ease,border-color .2s ease; }
.page--home .ph-direction:focus-visible .ph-direction__link { color:var(--ph-red); border-color:var(--ph-red); }
@media(hover:hover) {
 .page--home .ph-direction:hover .ph-direction__link { color:var(--ph-red); border-color:var(--ph-red); }
}
@media(prefers-reduced-motion:reduce) { .page--home .ph-direction__link { transition:none; } }

/* Smooth, finite interactions for dark editorial sections. */
.page--home .ph-section--dark { --ph-ease:cubic-bezier(.22,1,.36,1); }
.page--home .ph-section--dark :is(.ph-link,.ph-button,.ph-blueprint button) {
 transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .35s var(--ph-ease),text-decoration-color .3s ease;
}
.page--home .ph-section--dark :is(.ph-link,.ph-button)>span[aria-hidden] { display:inline-block; transition:transform .35s var(--ph-ease); }
.page--home .ph-section--dark :is(.ph-link,.ph-button):is(:hover,:focus-visible)>span[aria-hidden] { transform:translateX(4px); }
.page--home .ph-section--dark .ph-button--outline:is(:hover,:focus-visible,:active) { background:#ffffff12; color:#fff; border-color:#ffffff80; transform:none; }
.page--home .ph-blueprint .ph-blueprint__render { opacity:1; visibility:visible; pointer-events:none; transition:opacity .65s ease,visibility .65s ease; }
.page--home .ph-blueprint .ph-blueprint__render[hidden] { display:block!important; opacity:0; visibility:hidden; }
.page--home .ph-blueprint [data-ph-render]:is(:hover,:focus-visible) { background:#fceef0; color:#a31825; border-color:#c41e2e; }
.page--home .ph-blueprint { transition:border-color .35s ease,box-shadow .35s ease; }
.page--home .ph-blueprint:focus-within { border-color:#ffffff70; box-shadow:0 12px 36px #0002; }
.page--home .ph-options article { transition:border-color .35s ease; }
.page--home .ph-options article:focus-within { border-color:#c41e2e; }
@media(hover:hover) { .page--home .ph-options article:hover { border-color:#c41e2e; } }
.page--home .ph-tour-entry { position:absolute; right:16px; bottom:16px; z-index:1; max-width:calc(100% - 32px); }
.page--home .ph-blueprint .ph-tour-open { width:auto; min-height:44px; display:inline-flex; align-items:center; gap:8px; padding:10px 14px; background:#181818ed; color:#fff; border:1px solid #ffffff50; text-align:left; border-radius:999px; box-shadow:0 4px 16px #0002; }
.page--home .ph-blueprint .ph-tour-open span { font-size:12px; font-weight:500; line-height:1.4; }
.page--home .ph-blueprint .ph-tour-open svg { flex:0 0 18px; transition:transform .3s ease; }
.page--home .ph-blueprint .ph-tour-open:is(:hover,:focus-visible) { background:#a31825; border-color:#a31825; color:#fff; box-shadow:0 6px 18px #0003; }
.page--home .ph-blueprint .ph-tour-open:focus-visible { outline:3px solid #c41e2e; outline-offset:3px; }
.page--home .ph-blueprint .ph-tour-open:hover svg { transform:translateX(2px); }
.page--home .ph-blueprint .ph-tour-open:active { background:#86141e; }
.ph-tour { width:min(1180px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; border:1px solid #ffffff25; border-radius:20px; background:#181818; color:#fff; overflow:hidden; font-family:var(--wb-font-base); }
.ph-tour[open] { display:flex; flex-direction:column; animation:ph-tour-enter .3s cubic-bezier(.22,1,.36,1) both; }
.ph-tour::backdrop { background:#080b10c9; backdrop-filter:blur(5px); }
.ph-tour__head { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; border-bottom:1px solid #ffffff20; }
.ph-tour__eyebrow { margin:0 0 7px; color:#bbb; font-size:12px; }
.ph-tour__head h2 { margin:0; color:#fff; font-size:clamp(20px,2.5vw,28px); font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.ph-tour__close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #ffffff40; border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.ph-tour__body { overflow-y:auto; overscroll-behavior:contain; padding:22px 28px 28px; }
.ph-tour__intro { margin:0 0 18px; font-size:13px; color:#bbb; line-height:1.6; }
.ph-tour__tabs { display:flex; gap:10px; margin-bottom:20px; }
.ph-tour__tabs button { min-height:44px; padding:10px 16px; border:1px solid #ffffff30; border-radius:8px; background:transparent; color:#ddd; font:500 13px/1.4 var(--wb-font-base); cursor:pointer; }
.ph-tour__tabs button[aria-pressed="true"] { border-color:#c41e2e; background:#c41e2e; color:#fff; }
.ph-tour__view { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr); gap:22px; align-items:start; animation:ph-tour-enter .3s ease both; }
.ph-tour__view[hidden] { display:none; }
.ph-tour__photo { position:relative; overflow:hidden; border-radius:12px; }
.ph-tour__photo img { display:block; width:100%; height:auto; }
.ph-tour__point { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); display:grid; place-items:center; width:44px; height:44px; padding:0; border:2px solid #fff; border-radius:50%; background:#181818; color:#fff; font:600 14px var(--wb-font-base); cursor:pointer; box-shadow:0 3px 16px #0005; }
.ph-tour__point[aria-pressed="true"] { background:#c41e2e; box-shadow:0 0 0 5px #c41e2e40; }
.ph-tour__details { display:grid; gap:10px; }
.ph-tour__detail { display:block; width:100%; padding:14px; border:1px solid #ffffff20; border-radius:10px; background:#ffffff05; color:#fff; font-family:var(--wb-font-base); text-align:left; cursor:pointer; transition:background-color .25s,border-color .25s; }
.ph-tour__detail.is-active { border-color:#c41e2e; background:#c41e2e14; }
.ph-tour__detail:hover { border-color:#ffffff70; background:#ffffff0d; }
.ph-tour__detail.is-active:hover { border-color:#e34d5c; background:#c41e2e22; }
.ph-tour__detail-title { display:flex; align-items:baseline; gap:10px; font-size:14px; font-weight:600; line-height:1.4; }
.ph-tour__detail-title>span { color:#bbb; font-size:11px; }
.ph-tour__detail-copy { display:block; margin-top:8px; color:#bbb; font-size:12px; font-weight:400; line-height:1.6; }
.ph-tour__footer { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:24px; padding:16px 28px; border-top:1px solid #ffffff20; }
.ph-tour__footer p { margin:0; max-width:620px; color:#aaa; font-size:11px; line-height:1.5; }
.ph-tour__footer a,.ph-tour__footer a:visited { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-shrink:0; min-height:44px; padding:10px 16px; border:1px solid #ffffff40; border-radius:8px; color:#fff; font-size:13px; text-decoration:none; }
.ph-tour :is(button,a) { transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s; }
.ph-tour :is(button,a):focus-visible { outline:3px solid #fff; outline-offset:3px; }
.ph-tour__close:hover,.ph-tour__footer a:hover { background:#ffffff15; border-color:#fff; color:#fff; }
.ph-tour__tabs button:hover { border-color:#fff; }
html.ph-tour-opened { overflow:hidden; }
@keyframes ph-tour-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:760px) {
 .ph-tour { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
 .ph-tour__head { padding:18px 16px; gap:10px; }
 .ph-tour__body { padding:16px; }
 .ph-tour__view { grid-template-columns:minmax(0,1fr); gap:16px; }
 .ph-tour__tabs { gap:8px; }
 .ph-tour__tabs button { flex:1; padding:10px; font-size:12px; }
 .ph-tour__footer { padding:12px 16px; flex-wrap:wrap; gap:10px; }
 .ph-tour__footer a { width:100%; }
 .ph-tour__point { width:40px; height:40px; }
 .page--home .ph-tour-entry { right:12px; bottom:12px; max-width:calc(100% - 24px); }
}
@media(prefers-reduced-motion:reduce) {
 .page--home .ph-section--dark *, .ph-tour, .ph-tour * { transition:none!important; animation:none!important; }
}

.ph-tour[open].is-closing { animation:ph-tour-leave .18s ease both; }
@keyframes ph-tour-leave { to { opacity:0; transform:translateY(8px); } }
