/* KTM Duke — self-contained project page styling. Images are NEVER modified. */
.ktm-duke-page{margin:0;background:#fff;color:#151515;font-family:Arial,Helvetica,sans-serif;font-weight:300}.ktm-duke-page *{box-sizing:border-box}.ktm-duke-page img{display:block;width:100%;height:100%;object-fit:cover}.ktm-duke-page a{color:inherit;text-decoration:none}.ktm-header{height:62px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;background:white}.ktm-brand{font-size:16px;letter-spacing:.025em}.ktm-header nav{display:flex;gap:32px;font-size:12px}.ktm-hero{position:relative;height:clamp(410px,41vw,710px);overflow:hidden;background:#101010;color:white}.ktm-hero>img{position:absolute;inset:0;z-index:0;object-fit:cover;object-position:50% 8%}.ktm-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.42) 31%,transparent 58%);pointer-events:none}.ktm-hero-copy{position:relative;z-index:2;width:min(38%,430px);margin-left:4.2%;padding-top:clamp(35px,5.5vw,95px)}.ktm-eyebrow{font-size:12px;line-height:1.45;margin:0 0 28px}.ktm-hero h1{font-weight:300;font-size:clamp(35px,4.15vw,75px);line-height:.99;letter-spacing:-.035em;margin:0}.ktm-rule{display:block;width:36px;height:1px;background:#fff;margin:28px 0}.ktm-hero-copy>p:last-child{font-size:clamp(12px,1.05vw,17px);line-height:1.48;max-width:350px}.ktm-section{display:grid;grid-template-columns:27% minmax(0,1fr);gap:0;padding:26px 2% 26px 4.2%;align-items:stretch}.ktm-copy{padding:4px 30px 0 0}.ktm-number{font-size:12px;margin:0 0 17px;display:flex;gap:24px;align-items:center}.ktm-number span{width:34px;height:1px;background:#999}.ktm-copy h2,.ktm-feature-copy h2{font-weight:400;font-size:clamp(19px,2vw,29px);line-height:1.15;margin:0 0 13px}.ktm-copy>p:last-child,.ktm-feature-copy>p:last-child{font-size:clamp(12px,1.02vw,15px);line-height:1.48;max-width:330px;margin:0}.ktm-gallery{display:grid;gap:4px;height:clamp(180px,17vw,340px);min-width:0}.ktm-dna-gallery{grid-template-columns:1.4fr .78fr 1.05fr}.ktm-development-gallery{grid-template-columns:1fr 1.45fr 1fr}.ktm-feature{display:grid;grid-template-columns:61% 39%;background:#090909;color:#fff;min-height:clamp(275px,29vw,490px)}.ktm-feature-image{min-width:0;overflow:hidden}.ktm-feature-copy{padding:clamp(30px,6vw,95px) 10% 35px 8%}.ktm-feature-copy .ktm-number span{background:#888}.ktm-final-gallery{grid-template-columns:1.8fr .9fr .8fr}.ktm-final-stack{display:grid;grid-template-rows:1fr 1fr;gap:4px;min-height:0;overflow:hidden}.ktm-final-stack img{min-height:0}.ktm-footer{border-top:1px solid #ddd;padding:38px 4.2%;display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(200px,1fr) minmax(170px,.65fr) 44px;align-items:center;gap:30px;font-size:12px}.ktm-footer-brand{display:flex;flex-direction:column;gap:7px}.ktm-footer-brand strong{font-size:16px;font-weight:400}.ktm-footer-brand small{font-size:10px;color:#666}.ktm-email{white-space:nowrap}.ktm-email span{color:#d71920}.ktm-social{display:flex;gap:30px}.ktm-up{display:grid;place-items:center;width:42px;height:42px;border:1px solid #222;border-radius:50%;font-size:24px;justify-self:end}.ktm-duke-page a:focus-visible{outline:2px solid #e55d12;outline-offset:3px}html{scroll-behavior:smooth}
@media(max-width:900px){.ktm-section{grid-template-columns:30% 70%}.ktm-feature{grid-template-columns:57% 43%}.ktm-footer{grid-template-columns:1fr 1fr 44px}.ktm-social{grid-column:2;grid-row:2}.ktm-up{grid-column:3;grid-row:1/3}.ktm-hero-copy{width:45%}}
@media(max-width:620px){.ktm-header{height:60px;padding:0 20px}.ktm-brand{font-size:13px}.ktm-header nav{gap:12px;font-size:10px}.ktm-hero{height:570px}.ktm-hero>img{object-position:62% center}.ktm-hero:before{background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.3) 65%,transparent)}.ktm-hero-copy{margin-left:20px;padding-top:32px;width:75%}.ktm-hero h1{font-size:43px}.ktm-section{display:block;padding:28px 20px}.ktm-copy{padding:0 0 22px}.ktm-gallery{height:240px}.ktm-dna-gallery,.ktm-development-gallery{grid-template-columns:1fr 1fr}.ktm-dna-gallery>img:last-child,.ktm-development-gallery>img:last-child{display:none}.ktm-feature{display:flex;flex-direction:column}.ktm-feature-image{height:250px}.ktm-feature-copy{padding:28px 20px 36px}.ktm-final-gallery{grid-template-columns:1.2fr 1fr;height:230px}.ktm-final-stack{display:none}.ktm-footer{padding:30px 20px;grid-template-columns:1fr 44px;gap:22px}.ktm-footer-brand{grid-column:1}.ktm-email{grid-column:1;grid-row:2;white-space:normal}.ktm-social{grid-column:1;grid-row:3}.ktm-up{grid-column:2;grid-row:1}}


/* KTM HERO — definitive override: full-bleed image, anchor at the TOP.
   The old contain override was causing the reduced motorcycle and empty side bar. */
@media (min-width: 621px) {
  .ktm-duke-page .ktm-hero { height: clamp(470px, 41vw, 710px); }
  .ktm-duke-page .ktm-hero > img {
    width: 100%; height: 100%; inset: 0;
    object-fit: cover; object-position: center top;
    transform: none;
  }
}
@media (max-width: 620px) {
  .ktm-duke-page .ktm-hero > img { object-fit: cover; object-position: 62% top; }
}

/* HERO v3: zoom indietro leggero (~9%), allineata a destra.
   Lo spazio recuperato a sinistra rimane scuro, sotto al testo. */
@media (min-width: 621px) {
  .ktm-duke-page .ktm-hero > img {
    left: auto; right: 0; top: 0; bottom: 0;
    width: 91%; height: 100%;
    object-fit: cover; object-position: center top;
    transform: none;
  }
}

/* KTM — editorial press feature; responsive, no changes to hero or galleries */
.ktm-press{background:#111;color:#f4f4f4;padding:clamp(52px,7vw,110px) clamp(24px,6vw,110px);border-top:1px solid #303030}
.ktm-press-inner{max-width:1420px;margin:0 auto}
.ktm-press-kicker{font-size:11px;letter-spacing:.23em;font-weight:700;color:#aaa;margin:0 0 32px}
.ktm-press-content{display:flex;justify-content:space-between;align-items:end;gap:48px}
.ktm-press-source{font-size:12px;letter-spacing:.12em;color:#aaa;margin:0 0 13px}
.ktm-press-source span{padding:0 5px}
.ktm-press-content h2{font-size:clamp(27px,3.1vw,49px);line-height:1.08;font-weight:600;margin:0 0 17px;letter-spacing:-.035em}
.ktm-press-content p:last-child{font-size:15px;line-height:1.6;max-width:630px;color:#bcbcbc;margin:0}
.ktm-press-link{color:#fff;text-decoration:none;white-space:nowrap;border-bottom:1px solid #fff;padding-bottom:11px;font-size:12px;font-weight:700;letter-spacing:.12em}
.ktm-press-link span{font-size:19px;margin-left:14px}
.ktm-press-link:hover{color:#ff6900;border-color:#ff6900}
@media(max-width:720px){.ktm-press-content{display:block}.ktm-press-link{display:inline-block;margin-top:32px}.ktm-press{padding:60px 24px}}

/* Layout refinement — development / final concept / press / footer */
@media (min-width: 621px) {
  /* Three equally sized image slots; middle one can host a photograph. */
  .ktm-duke-page .ktm-development-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }
  .ktm-duke-page .ktm-development-gallery > img {
    min-width: 0; min-height: 0;
    width: 100%; height: 100%;
    object-fit: cover;
  }
}
/* A continuous white margin beneath both rows, before the dark PRESS band. */
.ktm-duke-page #development { padding-bottom: 20px; }
.ktm-duke-page #final-concept {
  padding-top: 8px;
  padding-bottom: clamp(34px, 4vw, 66px);
  background: #fff;
}
.ktm-duke-page #final-concept .ktm-gallery { overflow: hidden; }
.ktm-duke-page #final-concept .ktm-gallery > img,
.ktm-duke-page #final-concept .ktm-final-stack img { min-width: 0; min-height: 0; }
.ktm-duke-page .ktm-press {
  position: relative;
  clear: both;
  margin: 0;
  border-top: 0;
}
.ktm-duke-page .ktm-footer {
  margin: 0;
  background: #fff;
  border-top: 0;
}
@media (max-width: 620px) {
  .ktm-duke-page .ktm-development-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ktm-duke-page #final-concept { padding-top: 28px; padding-bottom: 38px; }
  .ktm-duke-page .ktm-press { padding-top: 52px; padding-bottom: 56px; }
}

/* v5 — 03: narrow centre photo slot, wider right sketch panel.
   03 images meet the following 04 row with no vertical white gap.
   04 ends close to the dark PRESS section. */
@media (min-width: 621px) {
  .ktm-duke-page .ktm-development-gallery {
    grid-template-columns: minmax(0, 1fr) minmax(0, .68fr) minmax(0, 1.52fr);
    gap: 5px;
  }
  .ktm-duke-page #development { padding-bottom: 0; }
  .ktm-duke-page #final-concept { padding-top: 0; padding-bottom: 10px; }
}
@media (max-width: 620px) {
  .ktm-duke-page #development { padding-bottom: 0; }
  .ktm-duke-page #final-concept { padding-top: 0; padding-bottom: 12px; }
}

/* v6 — targeted fixes: explicit asymmetric 03 slots and safe 04 image bounds. */
.ktm-duke-page #development .ktm-development-gallery,
.ktm-duke-page #final-concept .ktm-final-gallery {
  min-width:0;
  min-height:0;
  overflow:hidden;
  align-self:start;
}
.ktm-duke-page #development .ktm-development-gallery > img,
.ktm-duke-page #final-concept .ktm-final-gallery > img,
.ktm-duke-page #final-concept .ktm-final-stack > img {
  display:block;
  width:100%;height:100%;min-width:0;min-height:0;
  object-fit:cover;
}
.ktm-duke-page #final-concept .ktm-final-stack {min-height:0;overflow:hidden;}
@media (min-width:621px) {
  .ktm-duke-page #development .ktm-development-gallery {
    grid-template-columns:minmax(0, 1fr) minmax(0, .56fr) minmax(0, 1.65fr);
    grid-template-rows:minmax(0,1fr);
    height:clamp(180px,17vw,340px);
  }
  .ktm-duke-page #final-concept .ktm-final-gallery {
    grid-template-columns:minmax(0,1.8fr) minmax(0,.9fr) minmax(0,.8fr);
    grid-template-rows:minmax(0,1fr);
    height:clamp(180px,17vw,340px);
  }
  .ktm-duke-page #development {padding-bottom:0;}
  .ktm-duke-page #final-concept {padding-top:0;padding-bottom:12px;}
}
@media (max-width:620px) {
  .ktm-duke-page #development .ktm-development-gallery {grid-template-columns:minmax(0,1fr) minmax(0,.72fr);}
  .ktm-duke-page #final-concept .ktm-final-gallery {height:230px;grid-template-rows:minmax(0,1fr);}
  .ktm-duke-page #final-concept {padding-bottom:12px;}
}

/* v7 — slight zoom-out on right-hand sketch in section 03. */
.ktm-duke-page #development .ktm-development-gallery { background:#fff; }
.ktm-duke-page #development .ktm-development-gallery > img:last-child {
  transform:scale(.95);
  transform-origin:center center;
}
/* Restore a deliberate visual pause between sections 03 and 04. */
@media (min-width:621px) {
  .ktm-duke-page #development { padding-bottom:28px; }
}
@media (max-width:620px) {
  .ktm-duke-page #development { padding-bottom:22px; }
}

/* v8 — Section 03: crop ONLY the central tank photo, keeping the gallery columns unchanged. */
.ktm-duke-page #development .ktm-tank-photo-frame {
  position:relative; min-width:0; min-height:0; height:100%; overflow:hidden;
}
.ktm-duke-page #development .ktm-tank-photo-frame > img {
  display:block; width:100%; height:100%; object-fit:cover;
  object-position:50% 46%; transform:scale(1.22); transform-origin:50% 46%;
}

/* v9 — tighter crop of central tank photograph: fuel cap and DUKE ending. */
.ktm-duke-page #development .ktm-tank-photo-frame > img {
  object-position: 57% 58%;
  transform: translate(-7%, -7%) scale(1.42);
  transform-origin: center center;
}

/* v10 - central tank image: cap toward bottom-left, upper fork and environment visible. */
.ktm-duke-page #development .ktm-tank-photo-frame > img {
  object-position: 50% 42%;
  transform: translate(-12%, 8%) scale(1.42);
  transform-origin: center center;
}

/* v11 — slightly stronger tank detail zoom, keeping the cap low-left. */
.ktm-duke-page #development .ktm-tank-photo-frame > img {
  transform: translate(-13%, 9%) scale(1.58);
}

/* v12 — Section 04: wide neutral grey image placeholder at right.
   Two existing photographs remain unchanged; press starts below the gallery. */
.ktm-duke-page #final-concept .ktm-final-gallery {
  overflow:hidden; align-items:stretch;
}
.ktm-duke-page #final-concept .ktm-final-placeholder {
  display:block; min-width:0; min-height:0; height:100%;
  background:#929292;
}
@media (min-width:621px) {
  .ktm-duke-page #final-concept .ktm-final-gallery {
    grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.35fr);
    grid-template-rows:minmax(0,1fr);
    height:clamp(180px,17vw,340px);
  }
}
@media (max-width:620px) {
  .ktm-duke-page #final-concept .ktm-final-gallery {
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  }
  .ktm-duke-page #final-concept .ktm-final-placeholder {display:none;}
}

/* v13 — FIX: visible wide grey placeholder, desktop and mobile */
.ktm-duke-page #final-concept .ktm-final-gallery {
  display:grid !important;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.35fr) !important;
  grid-template-rows:minmax(0,1fr) !important;
  gap:4px;
  height:clamp(220px,19vw,370px) !important;
  overflow:hidden;
  align-items:stretch;
}
.ktm-duke-page #final-concept .ktm-final-gallery > img {
  width:100%; height:100%; min-width:0; min-height:0; object-fit:cover;
}
.ktm-duke-page #final-concept .ktm-final-gallery > .ktm-final-placeholder {
  display:block !important;
  grid-column:3;
  grid-row:1;
  background-color:#929292 !important;
  width:100%; height:100%; min-width:0; min-height:0;
  visibility:visible !important; opacity:1 !important;
}
@media(max-width:620px){
 .ktm-duke-page #final-concept .ktm-final-gallery {
   grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1fr) !important;
   height:220px !important;
 }
}

/* v14 — SECTION 04: image slot wired to the filename you will upload.
   When the file is absent, the grey placeholder remains visible. */
.ktm-duke-page #final-concept .ktm-final-gallery > .ktm-final-placeholder {
  background-image: url("images/ktm-duke-04-final-detail.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/* v15 — PRESS: white editorial section, closer to final images. */
.ktm-duke-page #final-concept { padding-bottom: 18px !important; }
.ktm-duke-page .ktm-press {
  background: #fff !important; color: #151515 !important;
  padding: 24px 4.2% 56px !important; border: 0 !important;
}
.ktm-duke-page .ktm-press-inner { max-width: none; }
.ktm-duke-page .ktm-press-kicker { color: #151515 !important; margin-bottom: 24px; }
.ktm-duke-page .ktm-press-source { color: #555 !important; }
.ktm-duke-page .ktm-press-content h2 { color: #151515 !important; }
.ktm-duke-page .ktm-press-content p:last-child { color: #444 !important; }
.ktm-duke-page .ktm-press-link { color: #151515 !important; border-color: #151515 !important; }
.ktm-duke-page .ktm-press-link:hover { color: #c75b18 !important; border-color: #c75b18 !important; }
@media(max-width:620px) {
  .ktm-duke-page #final-concept { padding-bottom: 16px !important; }
  .ktm-duke-page .ktm-press { padding: 24px 20px 44px !important; }
}

/* v16 — fine grey separators above PRESS heading and footer */
.ktm-duke-page .ktm-press-kicker {
  border-top: 1px solid #c8c8c8;
  padding-top: 20px;
}
.ktm-duke-page .ktm-footer {
  border-top: 1px solid #c8c8c8 !important;
}


/* SITE NAVIGATION STANDARD — Ducati Lamp / Ducati Perfume. Scoped to page header/footer only. */
html { scroll-behavior: smooth; }
body > header.sc-project-header { box-sizing:border-box!important; position:relative!important; top:auto!important; z-index:20!important; display:flex!important; flex-wrap:wrap!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; width:100%!important; min-height:86px!important; height:auto!important; padding:20px 5.4%!important; background:#fff!important; color:#111!important; border-bottom:1px solid #ddd!important; backdrop-filter:none!important; }
body > header.sc-project-header .sc-project-brand { display:flex!important; flex-direction:column!important; gap:4px!important; align-items:flex-start!important; text-decoration:none!important; color:#111!important; line-height:1.15!important; flex:none!important; }
body > header.sc-project-header .sc-project-brand strong { font:700 18px/1.15 Arial,Helvetica,sans-serif!important; letter-spacing:0!important; }
body > header.sc-project-header .sc-project-brand span { font:400 9px/1.2 Arial,Helvetica,sans-serif!important; letter-spacing:.16em!important; margin:0!important; }
body > header.sc-project-header nav.sc-project-nav { display:flex!important; flex-wrap:wrap!important; align-items:center!important; justify-content:center!important; gap:clamp(20px,4vw,58px)!important; margin:0!important; padding:0!important; width:auto!important; }
body > header.sc-project-header nav.sc-project-nav a { color:#111!important; text-decoration:none!important; font:400 11px/1.4 Arial,Helvetica,sans-serif!important; letter-spacing:.04em!important; }
body > header.sc-project-header nav.sc-project-nav a:hover { text-decoration:underline!important; }
body > footer.sc-unified-footer { box-sizing:border-box!important; position:relative!important; z-index:1!important; display:grid!important; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto auto!important; align-items:center!important; gap:22px!important; width:100%!important; height:auto!important; min-height:126px!important; margin:0!important; padding:30px 5.4%!important; border-top:1px solid #ddd!important; background:#fff!important; color:#111!important; font-family:Arial,Helvetica,sans-serif!important; }
body > footer.sc-unified-footer a { color:#111!important; text-decoration:none!important; }
body > footer.sc-unified-footer .sc-unified-brand { display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:7px!important; }
body > footer.sc-unified-footer .sc-unified-brand strong { font-size:15px!important; font-weight:700!important; letter-spacing:.06em!important; }
body > footer.sc-unified-footer .sc-unified-brand small { font-size:9px!important; font-weight:400!important; letter-spacing:.03em!important; line-height:1.35!important; }
body > footer.sc-unified-footer .sc-unified-contact { font-size:11px!important; white-space:nowrap!important; }
body > footer.sc-unified-footer .sc-unified-contact span { font-size:16px!important; }
body > footer.sc-unified-footer .sc-unified-social { display:flex!important; flex-wrap:wrap!important; gap:20px!important; justify-content:flex-end!important; font-size:11px!important; }
body > footer.sc-unified-footer .sc-unified-up { display:grid!important; place-items:center!important; width:40px!important; height:40px!important; flex:none!important; border:1px solid #999!important; border-radius:50%!important; font-size:22px!important; line-height:1!important; }
@media(max-width:700px){body > header.sc-project-header{padding:17px 5%!important;gap:15px!important;min-height:0!important;}body > header.sc-project-header nav.sc-project-nav{display:flex!important;width:100%!important;justify-content:flex-start!important;gap:25px!important;}body > footer.sc-unified-footer{grid-template-columns:1fr auto!important;gap:20px!important;padding:25px 5%!important;}body > footer.sc-unified-footer .sc-unified-brand{grid-column:1/-1!important;}body > footer.sc-unified-footer .sc-unified-contact{grid-column:1/-1!important;}body > footer.sc-unified-footer .sc-unified-social{justify-content:flex-start!important;}body > footer.sc-unified-footer .sc-unified-up{justify-self:end!important;}}

/* Shared project header: scoped; does not modify editorial content or images. */
body > header.sc-project-header{position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px;padding:14px 5%;background:#fff;color:#161616;border-bottom:1px solid #e6e6e6;font-family:Arial,Helvetica,sans-serif}
body > header.sc-project-header .sc-project-brand{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:inherit;white-space:nowrap}
body > header.sc-project-header .sc-project-brand strong{font-size:15px;letter-spacing:.08em}
body > header.sc-project-header .sc-project-brand span{font-size:9px;letter-spacing:.09em}
body > header.sc-project-header .sc-project-nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,36px);margin:0;width:auto}
body > header.sc-project-header .sc-project-nav a{font-size:11px;font-weight:600;color:inherit;text-decoration:none;white-space:nowrap}
body > header.sc-project-header .sc-project-nav a.sc-lang-link{color:#b51e24}
body > header.sc-project-header .sc-project-menu{display:none;cursor:pointer;background:transparent;border:1px solid #ccc;border-radius:3px;width:42px;height:40px;padding:9px;flex-direction:column;justify-content:space-around;align-items:stretch}
body > header.sc-project-header .sc-project-menu span{display:block;width:100%;height:2px;background:#171717}
@media(max-width:760px){body > header.sc-project-header{flex-wrap:nowrap!important;min-height:68px!important;padding:12px 5%!important}body > header.sc-project-header .sc-project-menu{display:flex!important;flex:none}body > header.sc-project-header .sc-project-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;background:#fff!important;border-bottom:1px solid #ddd!important;box-shadow:0 8px 16px #0001!important;padding:12px 5% 18px!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}body > header.sc-project-header .sc-project-nav.mobile-open{display:flex!important}body > header.sc-project-header .sc-project-nav a{display:block!important;width:100%!important;padding:12px 0!important;font-size:12px!important}}
