/* Ducati Perfume — independent project layout; common site styles remain linked */
:root{--red:#d51012;--ink:#161616;--line:#e8e8e8}
*{box-sizing:border-box}
body.ducati-page{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.ducati-page .site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(4%,calc((100vw - 1500px)/2));border-bottom:1px solid var(--line);background:#fff}
.ducati-page .brand{display:flex;align-items:baseline;gap:17px;color:inherit;text-decoration:none}
.ducati-page .brand-name{font-size:12px;letter-spacing:.3em;font-weight:700}
.ducati-page .brand-role{font-size:10px;letter-spacing:.1em}
.ducati-page .main-nav{display:flex;gap:25px}.ducati-page .main-nav a{color:inherit;text-decoration:none;font-size:10px;letter-spacing:.09em}
.project-main{max-width:1550px;margin:auto}.project-row{display:grid;grid-template-columns:80px minmax(190px,270px) minmax(0,1fr);gap:25px;padding:18px 26px;border-bottom:1px solid var(--line);align-items:center;min-height:260px}
.phase{align-self:stretch;border-right:1px solid var(--line);padding:3px 12px 0 0;display:flex;flex-direction:column;gap:20px}
.phase b{font-size:22px;letter-spacing:-.07em}.phase b:after{content:"";display:block;width:17px;height:1px;background:#111;margin-top:8px}
.phase span{font-size:10px;line-height:1.4;letter-spacing:.02em}
.copy{align-self:center}.copy h2{font-size:clamp(20px,2vw,31px);font-weight:800;line-height:1.02;letter-spacing:-.035em;font-style:italic;margin:0 0 18px}
.copy p{font-size:14px;line-height:1.5;max-width:275px;margin:0}.copy .note{margin-top:15px;font-size:12px;color:#555}
.red-rule{width:24px;height:3px;background:var(--red);margin:26px 0 14px}
.keywords,.values{font-size:12px!important;line-height:1.55!important}
.visual{min-width:0;margin:0}.visual img{display:block;width:100%;height:auto;object-fit:contain}
.hero{grid-template-columns:80px minmax(220px,295px) minmax(0,1fr);min-height:435px}
.hero h1{font-size:clamp(38px,4.5vw,76px);letter-spacing:-.05em;line-height:.9;margin:0 0 30px}
.hero h1 strong{display:block;color:var(--red);font-weight:900;font-style:italic}
.hero h1 em{display:block;font-weight:300;font-style:italic;color:#111;font-size:.77em;letter-spacing:-.06em}
.hero-visual,.result-visual{overflow:hidden;border-radius:25% 10% 4% 15% / 40% 3% 5% 26%;height:370px;background:#160404}
.hero-visual img,.result-visual img{height:100%;object-fit:cover;object-position:center}
#section-02{grid-template-columns:80px minmax(190px,270px) minmax(0,1fr) 112px}
.culture-images{display:grid;grid-template-rows:1fr 1fr;gap:9px}.culture-images img{height:132px;object-fit:cover;object-position:center}
.values{align-self:center;font-size:11px!important}.values .red-rule{margin-top:0}
.two-images{display:grid;grid-template-columns:35% 1fr;gap:12px;align-items:center}
.two-images img{max-height:310px;object-fit:contain}
.development{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:center}
.development figure{margin:0}.development img{max-height:340px;object-fit:contain}
.development figcaption{font-size:10px;color:#777;margin-top:7px;letter-spacing:.06em}
.materials{display:grid;grid-template-columns:35% 1fr;gap:12px;align-items:center}
.materials img{height:275px;object-fit:cover;object-position:center}
.result{min-height:365px}.result-visual{height:335px}
.project-footer{max-width:1550px;margin:auto;padding:34px 28px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.12em}
.project-footer a{color:inherit;text-decoration:none}
@media(max-width:850px){.project-row,.hero,#section-02{grid-template-columns:60px minmax(0,1fr);gap:16px;padding:20px 15px}.phase{grid-row:1 / span 3}.copy{grid-column:2}.visual,.values{grid-column:2}.hero-visual,.result-visual{height:290px}.culture-images img{height:155px}.values{padding:0 0 15px}.materials img{height:200px}}
@media(max-width:520px){.ducati-page .site-header{padding:18px 14px;flex-wrap:wrap}.ducati-page .main-nav{gap:16px}.project-row,.hero,#section-02{grid-template-columns:42px minmax(0,1fr);gap:12px}.phase b{font-size:17px}.phase span{font-size:8px}.hero h1{font-size:45px}.copy h2{font-size:24px}.copy p{font-size:13px}.hero-visual,.result-visual{height:230px}.two-images,.development,.materials{grid-template-columns:1fr}.culture-images img{height:auto}.materials img{height:auto;max-height:250px;object-fit:contain}.project-footer{flex-direction:column}}


/* REFERENCE LAYOUT — wide editorial images, 14 individual culture slots, 2 large landscape sketches */
.ducati-page .project-main{max-width:1600px}
.ducati-page .project-row{grid-template-columns:64px minmax(205px,260px) minmax(0,1fr);gap:22px;padding:12px 24px;min-height:0;align-items:center}
.ducati-page .phase{padding-top:4px}
.ducati-page .copy h2{font-size:clamp(19px,1.9vw,30px)}
.ducati-page .copy p{font-size:13px;line-height:1.45}
.ducati-page .hero{min-height:390px;grid-template-columns:64px minmax(205px,260px) minmax(0,1fr)}
.ducati-page .hero-visual,.ducati-page .result-visual{height:375px;margin:0;overflow:hidden;border-radius:28% 2% 0 16% / 90% 1% 0 30%}
.ducati-page .hero-visual img,.ducati-page .result-visual img{height:100%;width:100%;object-fit:cover;object-position:center center}
.ducati-page #section-02{grid-template-columns:64px minmax(205px,260px) minmax(0,1fr) 95px;min-height:210px}
.ducati-page .culture-images{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,90px);gap:5px;align-self:center}
.ducati-page .culture-slot{min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:3px;background:#f0f0f0}
.ducati-page .culture-slot img{width:100%;height:100%;object-fit:cover;object-position:center}
.ducati-page .values{font-size:10px!important;line-height:1.65!important}
.ducati-page #section-03{min-height:250px}
.ducati-page .two-images{display:grid;grid-template-columns:33% 1fr;gap:14px;align-items:center}
.ducati-page .two-images img{width:100%;height:220px;object-fit:contain;object-position:center}
.ducati-page #section-04{min-height:310px}
.ducati-page .development{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.ducati-page .development figure{min-width:0;margin:0}
.ducati-page .development .sketch-large img{width:100%;height:245px;object-fit:contain;object-position:center;background:#fff}
.ducati-page .development .model-3d{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border-top:1px solid #eee;padding-top:12px}
.ducati-page .development .model-3d img{height:170px;object-fit:contain;object-position:left center}
.ducati-page .development figcaption{font-size:9px;letter-spacing:.09em;color:#777}
.ducati-page #section-05{min-height:245px}
.ducati-page .materials{display:grid;grid-template-columns:38% 1fr;gap:12px;align-items:center}
.ducati-page .materials img{width:100%;height:230px;object-fit:contain;object-position:center}
.ducati-page #section-06{min-height:340px}
.ducati-page .result-visual{height:325px}
@media(max-width:950px){.ducati-page .project-row,.ducati-page .hero{grid-template-columns:55px minmax(170px,230px) minmax(0,1fr);gap:14px;padding:12px}.ducati-page #section-02{grid-template-columns:55px minmax(170px,230px) minmax(0,1fr) 80px;gap:10px}.ducati-page .culture-images{grid-template-rows:repeat(2,65px)}.ducati-page .development .sketch-large img{height:190px}}
@media(max-width:700px){.ducati-page .project-row,.ducati-page .hero,.ducati-page #section-02{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:15px 12px}.ducati-page .phase{grid-row:1 / span 4}.ducati-page .copy,.ducati-page .visual,.ducati-page .values{grid-column:2}.ducati-page .hero-visual,.ducati-page .result-visual{height:260px}.ducati-page .culture-images{grid-template-rows:repeat(2,minmax(58px,1fr));gap:3px}.ducati-page .development .sketch-large img{height:155px}.ducati-page .development .model-3d img{height:150px}.ducati-page .values{padding-bottom:0}}
@media(max-width:420px){.ducati-page .culture-images{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,54px)}.ducati-page .development{gap:8px}.ducati-page .development .sketch-large img{height:120px}}


/* Refinements: diagonal hero cut, visible valve, 3 sketches, safe labels */
.ducati-page .project-row{min-width:0}
.ducati-page .phase{min-width:0;overflow:hidden;padding-right:5px;box-sizing:border-box}
.ducati-page .phase span{display:block;max-width:100%;font-size:clamp(7px,.69vw,10px);line-height:1.35;letter-spacing:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.ducati-page .hero-visual{border-radius:0;clip-path:polygon(30% 0%,100% 0%,100% 100%,8% 100%,5% 99%,2% 96%,0% 91%,0% 85%,2% 73%,7% 53%,12% 33%,17% 17%,21% 9%,25% 4%)}
.ducati-page #section-03 .two-images{grid-template-columns:32% minmax(0,1fr)}
.ducati-page #section-03 .two-images img:first-child{height:250px;object-fit:contain}
.ducati-page #section-04 .development{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ducati-page #section-04 .development .sketch-large img{height:200px;width:100%;object-fit:contain}
.ducati-page #section-04 .development .model-3d{grid-column:1/-1}
@media(max-width:950px){.ducati-page .phase span{font-size:8px;line-height:1.25;overflow-wrap:anywhere}.ducati-page .phase{padding-right:4px}.ducati-page #section-04 .development .sketch-large img{height:150px}}
@media(max-width:700px){.ducati-page .phase span{font-size:7px;line-height:1.2;overflow-wrap:anywhere;hyphens:auto}.ducati-page .phase{padding-right:3px}.ducati-page .hero-visual{clip-path:polygon(27% 0%,100% 0%,100% 100%,10% 100%,5% 98%,1% 93%,0% 85%,3% 66%,10% 39%,18% 15%,23% 5%)}.ducati-page #section-04 .development{grid-template-columns:repeat(2,minmax(0,1fr))}.ducati-page #section-04 .development .sketch-large img{height:155px}}
@media(max-width:420px){.ducati-page #section-04 .development .sketch-large img{height:120px}.ducati-page .phase span{font-size:6.7px}}


/* Image framing correction — no forced zoom, retain original masks. */
.ducati-page .hero-visual img,
.ducati-page .result-visual img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
/* Engineering, sketches and material references must remain fully visible. */
.ducati-page #section-03 .two-images img,
.ducati-page #section-04 .development img,
.ducati-page #section-05 .materials img {
  object-fit:contain;
  object-position:center center;
}
/* The 14 small culture tiles intentionally keep their mosaic crop. */
.ducati-page #section-02 .culture-slot img { object-fit:cover; }
@media (max-width:700px) {
  .ducati-page .hero-visual, .ducati-page .result-visual {
    height:auto; aspect-ratio: 1.8 / 1;
  }
}

/* OCT 2026: original image framing; scoped to Ducati only. */
.ducati-page .hero-visual, .ducati-page .result-visual { background:#180506; }
.ducati-page .hero-visual img, .ducati-page .result-visual img {
  display:block; width:100%; height:100%; object-fit:contain; object-position:center;
}
.ducati-page #section-03 .two-images img,
.ducati-page #section-04 .development img,
.ducati-page #section-05 .materials img { object-fit:contain; object-position:center; }
.ducati-page #section-04 .development .model-3d img { width:100%; }
.ducati-page .phase { min-width:0; overflow:hidden; }
.ducati-page .phase span { overflow-wrap:anywhere; max-width:100%; }
@media (max-width:700px) {
 .ducati-page .hero-visual,.ducati-page .result-visual { height:auto; aspect-ratio:2.25 / 1; }
}

/* HERO FIX — supplied image already contains the curved white edge.
   Do not apply another clipping mask or a dark background. */
.ducati-page #section-01.hero {padding-right:0 !important; column-gap:18px;}
.ducati-page #section-01 .hero-visual {
  clip-path:none !important; border-radius:0 !important;
  background:#fff !important; overflow:visible !important;
  width:100%; height:auto !important; aspect-ratio:auto !important;
  margin:0 !important; align-self:center;
}
.ducati-page #section-01 .hero-visual img {
  display:block; width:100%; height:auto !important;
  object-fit:contain !important; object-position:right center !important;
  max-width:none; border:0;
}
@media(max-width:700px) {
  .ducati-page #section-01.hero {padding-right:0 !important;}
  .ducati-page #section-01 .hero-visual {grid-column:2; width:100%;}
}

/* SECTION 05 — CMF: images touch; board bleeds to viewport's right edge. */
@media (min-width:701px) {
  .ducati-page #section-05.project-row {
    padding-right:0;
  }
  .ducati-page #section-05 .materials {
    display:grid;
    grid-template-columns:minmax(0,40%) minmax(0,60%);
    gap:0;
    align-items:stretch;
    min-width:0;
    width:calc(100% + max(0px, (100vw - 1600px) / 2));
  }
  .ducati-page #section-05 .materials img {
    display:block;
    width:100%;
    height:clamp(235px, 21vw, 350px);
    max-height:none;
    min-width:0;
    margin:0;
    border:0;
    object-position:center;
  }
  .ducati-page #section-05 .materials img:first-child {
    object-fit:contain;
    background:#000;
  }
  .ducati-page #section-05 .materials img:last-child {
    object-fit:cover;
  }
}
@media (max-width:700px) {
  .ducati-page #section-05 .materials {
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    width:100%;
  }
  .ducati-page #section-05 .materials img {
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
}

/* SECTION 06 — photo contains its own white organic contour.
   Remove the duplicate mask and the dark letterboxing; full bleed right. */
.ducati-page #section-06.project-row {
  padding-right:0 !important;
}
.ducati-page #section-06 .result-visual {
  clip-path:none !important;
  border-radius:0 !important;
  background:#fff !important;
  overflow:hidden !important;
  width:calc(100% + max(0px, (100vw - 1600px) / 2));
  height:auto !important;
  aspect-ratio:auto !important;
  margin:0 !important;
}
.ducati-page #section-06 .result-visual img {
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:none;
  object-fit:contain !important;
  object-position:right center !important;
  border:0;
}
@media(max-width:700px) {
  .ducati-page #section-06.project-row {padding-right:0 !important;}
  .ducati-page #section-06 .result-visual {grid-column:2; width:100%;}
}

/* SECTION 04 — three images above, two below (small left, wide 3D right). */
.ducati-page #section-04 .development {
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px; align-items:start;
}
.ducati-page #section-04 .development > .sketch-large {grid-column:span 2;}
.ducati-page #section-04 .development > .development-small {grid-column:span 2; min-width:0; margin:0;}
.ducati-page #section-04 .development > .model-3d {
  grid-column:span 4; display:block; min-width:0; margin:0;
  border-top:0; padding-top:0;
}
.ducati-page #section-04 .development > .development-small img,
.ducati-page #section-04 .development > .model-3d img {
  display:block; width:100%; height:220px; max-height:none;
  object-fit:contain; object-position:center; background:#fff;
}
@media(max-width:700px){
  .ducati-page #section-04 .development {grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
  .ducati-page #section-04 .development > .development-small img,
  .ducati-page #section-04 .development > .model-3d img {height:160px;}
}
@media(max-width:420px){
  .ducati-page #section-04 .development > .development-small img,
  .ducati-page #section-04 .development > .model-3d img {height:115px;}
}


/* 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;}}


/* NOV 2026 — Tablet / narrow desktop: use available width instead of
   squeezing the editorial images into a third column.
   Desktop >=1151px and mobile <=700px retain their existing layout. */
@media (min-width:701px) and (max-width:1150px) {
  .ducati-page .project-row,
  .ducati-page .hero,
  .ducati-page #section-02 {
    grid-template-columns:54px minmax(0,1fr);
    column-gap:18px;
    row-gap:16px;
    padding:22px 22px 26px 14px;
    min-height:0;
  }
  .ducati-page .project-row > .phase {
    grid-column:1;
    grid-row:1 / span 4;
    align-self:stretch;
  }
  .ducati-page .project-row > .copy,
  .ducati-page .project-row > .visual,
  .ducati-page #section-02 > .values {
    grid-column:2;
    min-width:0;
  }
  .ducati-page .project-row > .copy {
    grid-row:1;
    align-self:start;
  }
  .ducati-page .copy p {max-width:620px;}
  .ducati-page #section-01.hero {padding-right:0!important;}
  .ducati-page #section-01 .hero-visual {grid-column:2;width:100%;}
  .ducati-page #section-02 .culture-images {
    grid-template-columns:repeat(7,minmax(0,1fr));
    grid-template-rows:repeat(2,clamp(70px,9vw,105px));
    width:100%;
  }
  .ducati-page #section-02 .values {padding:0 0 4px;}
  .ducati-page #section-03 .two-images {width:100%;}
  .ducati-page #section-04 .development {width:100%;}
  .ducati-page #section-05.project-row,
  .ducati-page #section-06.project-row {padding-right:0!important;}
  .ducati-page #section-05 .materials,
  .ducati-page #section-06 .result-visual {width:100%;}
  .ducati-page #section-05 .materials img {height:clamp(220px,30vw,330px);}
  .ducati-page #section-06 .result-visual {grid-column:2;}
}

/* Navigation EN/CN: isolated from project editorial layouts. */
.sc-project-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:86px;padding:18px 5.4%;background:#fff;border-bottom:1px solid #ddd;z-index:30}
.sc-project-brand{display:flex;flex-direction:column;gap:5px;color:#171717;text-decoration:none;white-space:nowrap}
.sc-project-brand strong{font-size:17px;letter-spacing:.04em}.sc-project-brand span{font-size:10px;letter-spacing:.12em}
.sc-project-nav{display:flex;align-items:center;gap:30px}.sc-project-nav a{color:#171717;text-decoration:none;font-size:11px;font-weight:600;white-space:nowrap}
.sc-project-nav a:hover{text-decoration:underline}.sc-project-nav .sc-language{color:#b51e24}
.sc-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:42px;height:42px;border:1px solid #ddd;background:#fff;cursor:pointer}
.sc-menu-toggle span{display:block;width:19px;height:2px;background:#171717}
@media(max-width:760px){.sc-project-header{min-height:74px;padding:15px 20px;flex-wrap:nowrap}.sc-project-brand strong{font-size:14px}.sc-project-brand span{font-size:9px}.sc-menu-toggle{display:flex;flex:none}.sc-project-nav{display:none!important;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 20px 22px;border-bottom:1px solid #ddd;box-shadow:0 8px 15px rgba(0,0,0,.06);flex-direction:column;align-items:flex-start;gap:20px;z-index:99}.sc-project-nav.is-open{display:flex!important}.sc-project-nav a{font-size:12px}}
