header,footer{background:#dce0dd;color:#19211c}
header{border-bottom:1px solid #c0c6c2}
.brand img{filter:invert(1);mix-blend-mode:multiply}
.nav a,.menu,.foot-grid h3{color:#27342c}
.nav a:hover{color:#354825;text-decoration:underline}
.porsche-tour{background:var(--light);position:relative}
.tour-stage{position:relative;isolation:isolate;display:grid;align-items:center;min-height:clamp(490px,76svh,800px);overflow:hidden;background:var(--light)}
.tour-visual{position:absolute;right:0;top:50%;width:73%;aspect-ratio:16/9;max-height:100%;transform:translateY(-50%);z-index:-2;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 94%,transparent)}
.tour-visual img,.tour-visual video{position:absolute;width:100%;height:100%;max-width:none;inset:0;object-fit:contain;object-position:center}
.tour-visual video{opacity:0}
.tour-stage.has-frame video{opacity:1}
.tour-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#e3e5e4 4%,#e3e5e4fc 20%,#e3e5e4ec 32%,#e3e5e485 46%,#e3e5e408 60%,transparent 70%)}
.tour-overlay{padding-block:clamp(32px,5vw,84px)}
.tour-copy{max-width:min(43vw,610px)}
.tour-copy h1{font-size:clamp(3rem,5.3vw,6rem);line-height:.99}
.tour-copy h1 span{display:block;font-weight:350}
.tour-copy .lead{margin:22px 0 25px;max-width:40ch;color:#34403b}
.tour-copy .button{min-height:60px;padding:18px clamp(26px,2.4vw,40px);font-size:clamp(1.12rem,1.38vw,1.4rem)}
.tour-cue{position:absolute;right:var(--pad);bottom:16px;padding:6px 11px;background:#f1f3eefa;color:#253029;font-size:.8rem}
.tour-enabled .tour-stage{min-height:calc(100svh - var(--tour-bars-height,146px))}
.home-jumps,.studio-links-banner{background:var(--lime);color:var(--ink);border-block:1px solid #becf60}
.home-jumps .shell{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;justify-content:space-between;padding-block:10px}
.home-jumps a,.studio-links-banner a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
:is(.home-jumps,.studio-links-banner) a:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:.22em}
@media(max-width:680px){.home-jumps .shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}}
.home-packages .section{padding-block:clamp(24px,4vw,60px)}
.home-packages .eyebrow{margin-bottom:12px}
.home-packages .eyebrow:before{display:none}
.home-packages .section-head{margin-bottom:18px}
.home-packages h2{font-size:clamp(1.9rem,3.9vw,3.8rem)}
.home-packages h3 a{text-decoration:none}
.home-packages h3 a:hover{text-decoration:underline}
.home-packages .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,30px)}
.home-packages .card{background:transparent;border:none}
.home-packages .card figure{background:transparent}
.home-packages .card figure img{aspect-ratio:auto}
.home-packages .card{display:flex}
.home-packages .card .body{padding:10px 0 16px}
.home-packages .card p{margin:5px 0 0}
.home-packages .textlink{margin-top:8px}
.home-services{background:#fbfcf9}
.home-services .split{margin:32px 0}
.home-services summary{cursor:pointer}
.home-services details .actions{margin-top:16px}
@media(max-width:780px){
  .tour-stage{display:flex;flex-direction:column;align-items:stretch;min-height:0}
  .tour-stage:before{display:none}
  .tour-copy{max-width:100%}
  .tour-copy h1{font-size:clamp(2.5rem,8.4vw,4rem)}
  .tour-overlay{order:0;padding-block:clamp(18px,4vw,32px)}
  .tour-copy .eyebrow{margin-bottom:10px}
  .tour-copy .lead{margin:12px 0 17px;max-width:55ch}
  .tour-visual{order:1;z-index:0;position:relative;inset:auto;width:100%;aspect-ratio:16/9;max-height:35svh;transform:none;mask-image:none}
  .tour-enabled .tour-stage{justify-content:center}
  .tour-cue{right:12px;bottom:10px}
}
@media(max-width:570px){
  .home-packages .cards{grid-template-columns:1fr}
  .home-packages .card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;align-items:center}
  .home-packages .card .body{padding:8px 0}
}
@media(max-height:570px) and (min-width:781px){.tour-stage{min-height:340px}.tour-copy h1{font-size:3rem}.tour-overlay{padding-block:20px}}
@media(max-width:400px) and (max-height:710px){
  .tour-overlay{padding-block:12px}
  .tour-copy h1{font-size:2.15rem}
  .tour-copy .lead{line-height:1.4;margin-block:8px 12px}
  .tour-visual{max-height:23svh}
}
@media(prefers-reduced-motion:reduce){.tour-visual video,.tour-cue{display:none}}

.home-marques { --marques-grey: #edf0ee; background: var(--marques-grey); border-bottom: 1px solid var(--line); }
.home-marques .shell { padding-block: clamp(30px, 3vw, 48px); }
.marques-head, .marques-actions { display: flex; align-items: center; flex-wrap: wrap; }
.marques-head { justify-content: space-between; gap: 14px 24px; margin-bottom: 22px; }
.marques-head h2 { font-size: clamp(1.65rem, 2.35vw, 2.6rem); }
.marques-head p { margin-top: 6px; font-size: .94rem; color: var(--muted); }
.marques-actions { gap: 12px 22px; }
.marques-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #a8b1a9; border-radius: 3px; background: #fff; color: #28322c; font-size: .83rem; font-weight: 600; cursor: pointer; }
.marques-toggle:hover { background: var(--paper); }
.marques-toggle[hidden] { display: none; }
.marques-toggle::before { content: ""; width: 7px; height: 10px; box-sizing: border-box; border-inline: 2px solid currentColor; }
.marques-toggle[aria-expanded="true"]::before { width: 0; height: 0; border: 5px solid transparent; border-right: 0; border-left: 7px solid currentColor; }
.marques-window { border-block: 1px solid #c7cec9; }
.marques-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(195px, 100%), 1fr)); list-style: none; margin: 0; padding: 0; }
.marques-list li { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; min-width: 0; padding: 23px 6px; text-align: center; font-size: 1rem; font-weight: 600; color: #37413c; }
.marques-list { background: var(--marques-grey); }
.marques-list img { width: 192px; height: 96px; object-fit: contain; mix-blend-mode: multiply; }
.marques-running .marques-window { overflow: hidden; }
.marques-running .marques-track { display: flex; width: max-content; animation: marques-travel 386.67s linear infinite; animation-play-state: paused; }
.marques-running.marques-in-view .marques-track { animation-play-state: running; }
.marques-running .marques-list { display: flex; flex: none; }
.marques-running .marques-list li { width: clamp(195px, 18.125vw, 280px); }
@keyframes marques-travel { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .marques-head { margin-bottom: 14px; }
  .marques-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marques-list li { font-size: .9rem; padding-block: 17px; }
  .marques-list img { width: 150px; height: 78px; }
}


.protection-brands { background: #222925; color: white; }
.protection-brands .shell { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: clamp(20px,2.6vw,40px); }
.protection-brands a { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 28px; padding: 8px 16px; text-align: center; text-decoration: none; color: inherit; font-weight: 650; }
.protection-brands a + a { border-left: 1px solid #647068; }
.protection-brands img { width: clamp(116px,12vw,174px); height: 45px; object-fit: contain; }
.protection-brands a > span > span { color: var(--lime); margin-left: .25em; }
.protection-brands a:hover > span, .protection-brands a:focus-visible > span { text-decoration: underline; }
@media(max-width:680px) {
  .protection-brands a { flex-direction: column; gap: 8px; padding-inline: 6px; font-size: .9rem; }
  .protection-brands img { width: min(125px,100%); height: 36px; }
}

.home-services > .shell.section { padding-bottom: clamp(16px,2vw,32px); }
.studio-links-banner .shell { padding-block: 20px; }
.studio-links-banner .catalogue-title { margin: 0 0 12px; text-align: center; font-size: clamp(1.75rem, 2.4vw, 2.25rem); line-height: 1.15; }
.studio-links-banner .catalogue-links { gap: 2px clamp(20px,2vw,36px); }
@media(min-width:1320px){
  .studio-links-banner .shell { padding-inline:clamp(18px,2vw,36px); }
  .studio-links-banner .catalogue-links { justify-content:space-between; column-gap:6px; }
  .studio-links-banner .catalogue-links a { font-size:clamp(1rem,1.13vw,1.125rem); }
}
@media(max-width:680px){
  .studio-links-banner .catalogue-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
}
