/* A continuous film-to-content introduction, scoped to the home hero. */
#home.hero { --mmrep-film-height:clamp(360px,calc(100svh - 436px),680px); position:relative; display:block; height:auto; min-height:0; max-height:none; aspect-ratio:auto; padding-top:0; background:#1c2823; color:#fff; }
#home .hero-media { position:relative; inset:auto; width:100%; height:var(--mmrep-film-height); aspect-ratio:auto; transform:none; overflow:hidden; background:#1c2823; }
#home .hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
#home .hero-shade { display:block; background:linear-gradient(180deg,transparent 55%,#1c282344 78%,#1c2823 100%); pointer-events:none; }
#home .hero-copy { position:relative; inset:auto; width:auto; margin:0; padding:20px 6% 32px; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:40px; row-gap:8px; color:#fff; background:#1c2823; }
#home .hero-copy .eyebrow { grid-column:1; grid-row:1; font-size:11px; line-height:1.5; letter-spacing:.12em; margin:0; color:#c5d0c9; }
#home .hero-copy h1 { grid-column:1; grid-row:2; font-size:clamp(40px,3.8vw,56px); line-height:1.06; margin:0; max-width:none; }
#home .hero-product { grid-column:1; grid-row:3; font-size:17px; line-height:1.5; margin:0; max-width:none; color:#d8e0da; }
#home .hero-bottom { grid-column:2; grid-row:1/4; display:flex; align-items:center; justify-content:center; }
#home .hero-bottom > p { display:none; }
#home .hero-links { display:grid; grid-template-columns:auto auto; align-items:center; gap:14px 12px; margin:0; }
#home .hero-links .button { font-size:15px; line-height:1.5; min-height:50px; padding:12px 20px; border:1px solid #f6f4ee; background:#f6f4ee; color:#202721; }
#home .hero-links .hero-tour { color:#fff; background:transparent; border-color:#ffffff66; }
#home .hero-links .button:hover { background:#dfe8df; color:#202721; border-color:#dfe8df; }
#home .hero-links .film-link { grid-column:1/-1; justify-self:end; color:#d8e0da; border-color:#ffffff55; font-size:13px; }
#home .hero-caption { position:absolute; top:calc(var(--mmrep-film-height) - 58px); bottom:auto; left:6%; right:auto; margin:0; padding:0; display:flex; align-items:center; gap:10px; color:#fff; border:0; z-index:2; }
#home .hero-caption > span, #home .hero-caption > a { display:none; }
#home .hero-caption #toggle-video { margin:0; padding:9px 13px; font-size:12px; }
#home .hero-caption button { color:#fff; font-size:12px; line-height:1.4; padding:9px 13px; min-height:38px; border:1px solid #ffffff50; border-radius:3px; background:#14201999; backdrop-filter:blur(6px); }
#home .hero-caption button:hover { background:#142019; }
#home button:focus-visible, #home a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media (max-width:1100px) {
 #home .hero-copy { column-gap:24px; }
 #home .hero-links { grid-template-columns:1fr; gap:8px; }
 #home .hero-links .film-link { grid-column:1; }
}
@media (max-width:760px) {
 #home.hero { --mmrep-film-height:clamp(220px,62vw,420px); }
 #home .hero-shade { background:linear-gradient(180deg,transparent 50%,#1c2823 100%); }
 #home .hero-copy { grid-template-columns:1fr; padding:12px 6% 28px; gap:9px; }
 #home .hero-copy .eyebrow { font-size:10px; letter-spacing:.09em; }
 #home .hero-copy h1 { font-size:40px; }
 #home .hero-product { font-size:16px; max-width:32ch; }
 #home .hero-bottom { grid-column:1; grid-row:4; display:block; margin-top:10px; }
 #home .hero-links { grid-template-columns:1fr 1fr; gap:14px 10px; }
 #home .hero-links .button { width:100%; font-size:13px; padding:11px 10px; min-height:46px; }
 #home .hero-links .film-link { grid-column:1/-1; justify-self:start; }
 #home .hero-caption { top:calc(var(--mmrep-film-height) - 50px); }
 #home .hero-caption button { padding:7px 10px; min-height:36px; }
}

/* Seven shared tracks align every row's picture, title, copy, facts, stock box and actions. */
#model-grid { align-items:stretch; row-gap:0; }
#model-grid > .model-card { display:grid; grid-template-rows:subgrid; grid-row:span 7; row-gap:0; min-width:0; margin-bottom:52px; }
#model-grid .card-picture { margin:0 0 18px; }
#model-grid .card-heading { margin:0 0 12px; align-self:start; }
#model-grid .model-card > p { margin:0 0 12px; min-height:0; }
#model-grid .model-card > .sales-card-facts { margin-bottom:16px; }
#model-grid .model-card .availability { box-sizing:border-box; align-self:stretch; margin:0 0 16px; min-height:0; padding:18px 20px; border:1px solid #c4cec3; border-left:4px solid #345e43; background:#e7eee7; display:flex; flex-direction:column; justify-content:flex-start; }
#model-grid .model-card .availability.preorder { border-color:#d9cfb6; border-left-color:#82692f; background:#f2eee2; }
#model-grid .availability .availability-label { font-size:14px; line-height:1.5; margin:0 0 8px; }
#model-grid .availability strong { font-size:20px; line-height:1.4; }
#model-grid .availability small { margin-top:auto; padding-top:8px; font-size:16px; line-height:1.5; }
#model-grid .pricing-link { margin:0 0 16px; align-self:start; text-align:left; }
#model-grid .card-actions { margin:0; align-self:start; }
.mmrep-project-status { display:inline-block; padding:8px 14px; margin:0 0 20px; border:1px solid #bdcdbc; color:#294c36; background:#e7eee7; font-size:16px; font-weight:600; line-height:1.5; }
.mmrep-project-status[data-status="Under Construction"] { background:#f2eee2; color:#705722; border-color:#d9cfb6; }

@supports not (grid-template-rows:subgrid) {
  #model-grid > .model-card { display:flex; flex-direction:column; }
  #model-grid .model-card .availability { margin-top:auto; min-height:178px; }
}
@media (max-width:760px) {
  #model-grid > .model-card { margin-bottom:34px; }
  #model-grid .card-picture { margin-bottom:12px; }
  #model-grid .model-card .availability { padding:12px 12px; margin-bottom:12px; }
  #model-grid .availability .availability-label { font-size:12px; }
  #model-grid .availability strong { font-size:16px; }
  #model-grid .availability small { display:none; }
}

/* Sister-brand links fit the desktop header; mobile uses the existing scrollable menu. */
@media (min-width:1421px) {
 .header { grid-template-columns:248px minmax(0,1fr) auto; gap:16px; }
 .header nav { gap:10px; justify-content:center; white-space:nowrap; }
}

/* Project index: give the first screen back to site photographs. */
#detail-view > .projects-intro { padding-top:24px; }
.projects-intro > .breadcrumb { font-size:14px; margin-bottom:12px; }
.projects-intro > .eyebrow { font-size:12px; margin-bottom:16px; }
.projects-intro .projects-title { grid-template-columns:1.35fr 1fr; align-items:center; gap:40px; margin-bottom:24px; }
.projects-intro .projects-title h1 { font-size:clamp(36px,4vw,56px); line-height:1.12; letter-spacing:-.045em; max-width:760px; }
.projects-intro .projects-title > p { font-size:17px; line-height:1.65; max-width:410px; margin:0; }
.projects-intro .project-filters { gap:26px; margin-bottom:26px; }
.projects-intro .project-filters button { font-size:14px; padding:12px 0; }
@media (max-width:760px) {
 .projects-intro .projects-title { grid-template-columns:1fr; gap:14px; margin-bottom:18px; }
 .projects-intro .projects-title h1 { font-size:36px; line-height:1.12; }
 .projects-intro .projects-title > p { font-size:15px; line-height:1.6; }
 .projects-intro .project-filters { gap:8px 20px; margin-bottom:22px; }
 .projects-intro .project-filters button { font-size:12px; padding:9px 0; }
 .massimo-whatsapp-float .massimo-whatsapp-link-text { left:0; top:0; }
}

/* Home brand directory, using the three official brand assets. */
.mmrep-brand-strip { display:none; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header {
 position:relative; inset:auto; width:100%; margin:0; padding:0; height:auto; min-height:0;
 display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0;
 color:#fff; background:#1c2823; border-radius:0;
}
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > .brand { display:none; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-social-links { display:none; }
body:not(.is-detail):has(> #home-view:not([hidden])) .mmrep-brand-strip {
 display:grid; grid-column:1/-1; grid-row:1; grid-template-columns:1.4fr 1fr 1fr;
 align-items:center; gap:40px; padding:20px 6%; border-bottom:1px solid #ffffff20;
}
.mmrep-brand-primary { display:flex; align-items:center; min-width:0; padding-right:34px; border-right:1px solid #ffffff20; }
.mmrep-brand-primary img { width:270px; max-width:100%; height:auto; }
.mmrep-brand-destination { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-width:0; padding:4px 8px; border:1px solid transparent; border-radius:3px; }
.mmrep-brand-destination:hover { border-color:#ffffff30; background:#ffffff05; }
.mmrep-motor-logo { width:220px; height:90px; max-width:100%; object-fit:contain; }
.mmrep-marine-logo { position:relative; display:block; width:210px; max-width:100%; aspect-ratio:1100 / 474; overflow:hidden; }
.mmrep-marine-logo img { position:absolute; display:block; left:-4.545455%; top:-16.455696%; width:109.090909%; height:auto; max-width:none; clip-path:polygon(0 0,100% 0,100% 66.666667%,48% 66.666667%,48% 100%,0 100%); }
.mmrep-brand-label { font-size:12px; line-height:1.5; letter-spacing:.14em; font-weight:600; color:#c7d0ca; }
.mmrep-brand-label b { font-size:18px; font-weight:400; margin-left:12px; color:#fff; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav {
 grid-column:1; grid-row:2; position:static; display:flex; flex-direction:row;
 align-items:center; justify-content:flex-start; gap:28px; margin:0; padding:12px 0 12px 6vw;
 color:white; background:transparent; box-shadow:none;
}
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .brand-site-link { display:none; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav a,
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .nav-tour { font-size:15px; color:#fff; min-height:44px; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header > .nav-end { grid-column:2; grid-row:2; margin:0; padding:10px 6vw 10px 24px; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-call { min-height:44px; padding:10px 18px; font-size:15px; }
body:not(.is-detail):has(> #home-view:not([hidden])) > .header .menu { display:none; }
@media (max-width:1100px) and (min-width:761px) {
 body:not(.is-detail):has(> #home-view:not([hidden])) .mmrep-brand-strip { gap:24px; padding:16px 6%; }
 .mmrep-brand-primary img { width:230px; }
 .mmrep-motor-logo { width:190px; height:80px; }
 .mmrep-marine-logo { width:190px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav { gap:14px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav a,
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .nav-tour { font-size:12px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-call { font-size:12px; padding:9px 12px; }
}
@media (max-width:760px) {
 body:not(.is-detail):has(> #home-view:not([hidden])) .mmrep-brand-strip { grid-template-columns:1.5fr 1fr 1fr; gap:8px; padding:14px 5%; }
 .mmrep-brand-primary { padding-right:10px; }
 .mmrep-brand-primary img { width:150px; }
 .mmrep-brand-destination { gap:4px; padding:2px; }
 .mmrep-motor-logo { width:100%; height:42px; }
 .mmrep-marine-logo { width:100%; }
 .mmrep-brand-label { font-size:8px; letter-spacing:.08em; white-space:nowrap; }
 .mmrep-brand-label b { font-size:12px; margin-left:3px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > .nav-end { grid-column:1/-1; grid-row:2; display:flex; justify-content:space-between; width:100%; padding:8px 6%; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-call { width:auto; min-height:40px; padding:8px 14px; font-size:13px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header .menu { display:block; color:white; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav { display:none; position:absolute; top:100%; left:0; right:0; grid-column:auto; grid-row:auto; flex-direction:column; align-items:stretch; gap:6px; padding:20px 6%; background:#1c2823; box-shadow:0 10px 20px #0003; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav.open { display:flex; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav a,
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .nav-tour { font-size:18px; text-align:left; }
}

/* Marine-style brand hierarchy: primary identity, divider, then adjacent sister brands. */
@media (min-width:761px) {
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header { --mmrep-header-gutter:max(5vw,calc((100vw - 1440px)/2)); }
 body:not(.is-detail):has(> #home-view:not([hidden])) .mmrep-brand-strip {
  grid-template-columns:300px 220px 220px; justify-content:start; gap:36px;
  padding:12px var(--mmrep-header-gutter); min-height:0;
 }
 .mmrep-brand-primary { align-self:stretch; padding:0 40px 0 0; border:0; border-right:1px solid #ffffff30; }
 .mmrep-brand-primary img { width:240px; }
 .mmrep-brand-destination { display:grid; grid-template-rows:76px 18px; justify-items:center; align-items:center; min-height:0; gap:8px; padding:8px 0; border-radius:0; }
 .mmrep-brand-primary + .mmrep-brand-destination { border-left-color:transparent; }
 .mmrep-motor-logo { width:190px; height:76px; }
 .mmrep-marine-logo { width:176px; }
 .mmrep-brand-label { font-size:12px; line-height:1.5; letter-spacing:.12em; color:#becac3; }
 .mmrep-brand-label b { font-size:16px; margin-left:10px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav { padding:8px 0 8px var(--mmrep-header-gutter); gap:26px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > .nav-end { padding:8px var(--mmrep-header-gutter) 8px 24px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav a,
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .nav-tour { font-size:14px; min-height:40px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-call { min-height:40px; padding:8px 16px; font-size:14px; }
 #home.hero { --mmrep-film-height:clamp(360px,calc(100svh - 374px),680px); }
}
@media (min-width:761px) and (max-width:1100px) {
 body:not(.is-detail):has(> #home-view:not([hidden])) .mmrep-brand-strip { grid-template-columns:230px 180px 180px; gap:16px; }
 .mmrep-brand-primary img { width:200px; }
 .mmrep-motor-logo { width:150px; }
 .mmrep-marine-logo { width:148px; }
 .mmrep-brand-destination { padding-inline:10px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav { gap:16px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav a,
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header > nav .nav-tour { font-size:12px; }
 body:not(.is-detail):has(> #home-view:not([hidden])) > .header .header-call { font-size:12px; padding-inline:12px; }
}

/* Keep the existing display photograph's bleed inside its section on small screens. */
@media (max-width:760px) { #living.product-display { overflow:hidden; } }
