/* CAMON opening and LOEWE overview preserved; scoped CMF workshop case study. */
html[data-project="swarovski"] {
 color-scheme:light; --paper:#ececee; --ink:#080808; --white:#fff; --gray:#d6d6d8;
 --edge:21.6px; --gutter:59.04px; --gap:var(--project-page-space);
 --display:112.32px; --headline:38.88px; --subhead:27px; --body:21px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scrollbar-width:none; }
html::-webkit-scrollbar { display:none; }
body { width:1440px; zoom:calc(100vw / 1440px); margin:0; background:var(--paper); color:var(--ink); font-family:Arial,'Microsoft YaHei UI','Microsoft YaHei',sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,p,figure { margin:0; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:5px; }
a:focus-visible { outline:calc(2px * var(--project-ui-inverse,1)) solid var(--ink); outline-offset:calc(5px * var(--project-ui-inverse,1)); }
[tabindex="-1"]:focus { outline:none; }
::selection { background:var(--ink); color:var(--white); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; z-index:20; top:10px; left:15px; padding:12px; background:var(--white); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.site-header { position:absolute; top:0; left:0; right:0; z-index:5; padding:0 var(--edge); }
.site-header nav { display:flex; justify-content:space-between; }
.site-header a { display:flex; align-items:center; min-height:calc(44px * var(--project-ui-inverse,1)); min-width:calc(44px * var(--project-ui-inverse,1)); font-size:13.536px; }
.site-header a:first-child { font-weight:700; }
.site-header a:last-child { justify-content:flex-end; }
.opening { position:relative; background:var(--paper); }
.opening-stage { position:relative; }
.opening-heading { position:relative; height:var(--opening-heading-height,calc(100vh / (100vw / 1440px))); display:grid; place-items:center; padding:24px; text-align:center; }
.opening-heading h1 { font-family:Arial,Helvetica,sans-serif; font-size:38.88px; line-height:1.12; letter-spacing:-.025em; font-weight:700; }
.opening-heading h1 span { display:block; }
.hero-caption { position:absolute; top:calc(50% + 38.88px * 1.12 + 28px); left:24px; right:24px; }
.hero-caption p { font-size:18.72px; line-height:1.5; }
.media { position:relative; display:block; margin:0; background:var(--gray); }
.media img,.media video { display:block; width:100%; height:100%; object-fit:contain; }
.hero-media { width:100%; aspect-ratio:16/9; transform-origin:50% 0; }
.wide { aspect-ratio:16/9; }
.landscape { aspect-ratio:4/3; }
.portrait { aspect-ratio:4/5; }
.square { aspect-ratio:1; }
.tall { aspect-ratio:2/3; }
.panorama { aspect-ratio:2.1; }
.opening-enhanced .opening { height:calc(var(--opening-stage-height,900px) + var(--opening-travel,1620px)); }
.opening-enhanced .opening-stage { position:sticky; top:0; height:var(--opening-stage-height,900px); overflow:clip; isolation:isolate; }
.opening-enhanced .opening-heading { position:absolute; inset:0 0 auto; z-index:2; pointer-events:none; }
.opening-enhanced .hero-media { position:absolute; top:0; left:0; transform:translate3d(0,calc(var(--opening-visual-offset,0px) + var(--opening-visual-height,900px) * 1.03),0) scale(.38); }
.opening.is-active .hero-media,.opening.is-active .opening-heading { will-change:transform,opacity; }
/* LOEWE second page, converted once from vw to this 1440px artboard. */
.project-overview { padding:var(--gap) var(--gutter); display:grid; grid-template-columns:1fr 1fr; column-gap:129.6px; align-items:start; background:var(--paper); scroll-margin-top:36px; }
.overview-heading p { font-size:27.36px; line-height:1.3; margin-bottom:4px; }
.overview-heading h2 { font-size:36.72px; line-height:1.25; font-weight:500; }
.overview-body { padding-top:166.5px; max-width:640px; min-width:0; }
.overview-body h3 { max-width:15em; margin:0 0 28px; font-size:36.72px; line-height:1.3; font-weight:500; }
.overview-body p { margin:0 0 22px; font-size:21.6px; line-height:1.45; }
.overview-body p:last-child { margin-bottom:0; }
/* Parent gap alone owns the visible 60px gray separation. White sheets retain their own 60px tail. */
.page-stack { display:grid; gap:var(--gap); }
.page { padding:var(--gap) var(--edge); background:var(--white); scroll-margin-top:36px; }
.page > :last-child { margin-bottom:0; }
.page h3 { font-size:var(--subhead); font-weight:400; line-height:1.25; }
.page h4 { font-size:var(--body); font-weight:400; line-height:1.45; }
.display-title { font-size:var(--display); font-weight:400; line-height:1.02; letter-spacing:-.035em; margin-bottom:48px; text-wrap:balance; }
.copy { font-size:var(--body); line-height:1.45; min-width:0; overflow-wrap:break-word; }
.copy h3 { margin-bottom:20px; }
.copy p+p { margin-top:24px; }
.brand-pair,.development-pair,.detail-pair { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.brand-study > h3,.development-pair h3,.refinement-grid h3,.final-details > h3,.campaign-layout h3 { margin-bottom:24px; }
.brand-study .copy { margin-top:28px; padding:0 24px; }
.editorial-statement { display:grid; grid-template-columns:5fr 7fr; gap:48px; padding:0 calc(var(--gutter) - var(--edge)); margin-top:60px; }
.editorial-statement > h3,.workshop-intro > h3 { font-size:var(--headline); line-height:1.25; letter-spacing:-.02em; }
.language-layout { display:grid; grid-template-columns:4fr 8fr; gap:60px; align-items:start; }
.language-notes { display:grid; gap:48px; padding:36px 24px 0 calc(var(--gutter) - var(--edge)); }
.language-media { aspect-ratio:5/4; }
.workshop-intro { display:grid; grid-template-columns:4fr 8fr; gap:60px; padding:0 calc(var(--gutter) - var(--edge)); margin-bottom:48px; }
/* One co-creation board. Large directions and smaller studies share a baseline, without card shells or controls. */
.workshop-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:36px; background:var(--paper); }
.workshop-group > h3 { margin-bottom:28px; }
.workshop-concept { margin:0; min-width:0; scroll-margin-top:36px; }
.concept-master { aspect-ratio:4/3; }
.workshop-concept figcaption { font-size:18px; line-height:1.4; margin-top:12px; }
.concept-variants { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:32px; }
.concept-variants-wide { grid-template-columns:1fr; }
.concept-study { height:176px; }
.development-media { aspect-ratio:4/3; }
.comparison { margin-top:60px; padding:0 calc(var(--gutter) - var(--edge)); }
.comparison > h3 { font-size:var(--headline); margin-bottom:28px; }
.comparison table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:var(--body); line-height:1.45; }
.comparison-label { width:24%; }
.comparison th,.comparison td { text-align:left; vertical-align:top; padding:24px 36px 24px 0; border-bottom:1px solid #b8b8ba; font-weight:400; overflow-wrap:break-word; }
.comparison thead th { padding-top:0; }
.comparison tbody tr:last-child > * { border-bottom:0; padding-bottom:0; }
.focus-layout { display:grid; grid-template-columns:8fr 4fr; gap:60px; align-items:start; }
.selected-media { aspect-ratio:4/3; }
.focus-notes { display:grid; gap:48px; padding:36px 24px 0 0; }
.criteria { margin-top:60px; padding:0 calc(var(--gutter) - var(--edge)); }
.criteria > h3 { font-size:var(--headline); margin-bottom:36px; }
.criteria-grid,.summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:60px; }
.refinement-grid { display:grid; grid-template-columns:7fr 5fr; gap:60px; align-items:start; }
.refinement-details { display:grid; gap:60px; }
.refinement-grid .copy { margin-top:28px; }
.final-details { margin-top:60px; }
.kv-intent { margin-top:0; margin-bottom:48px; }
.master-visual h3 { margin-top:28px; }
.campaign-layout { display:grid; grid-template-columns:5fr 7fr; gap:60px; align-items:start; }
.campaign-layout .copy { margin-top:28px; }
.outdoor-application { padding-top:144px; scroll-margin-top:36px; }
.summary-page .display-title { font-size:80px; line-height:1.05; }
.summary-grid { padding:0 calc(var(--gutter) - var(--edge)); }
.page :is(.brand-study,.language-notes,.workshop-group,.development-pair>section,.focus-notes,.refinement-main,.refinement-details,.digital-application,.outdoor-application) { min-width:0; }
.project-footer .footer-contact { font-size:13.536px; }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .opening-enhanced .opening { height:auto; }
 .opening-enhanced .opening-stage { position:relative; height:auto; overflow:visible; }
 .opening-enhanced .hero-media { position:relative; transform:none!important; }
 .opening-enhanced .opening-heading { position:relative; transform:none!important; opacity:1!important; }
}
@media print {
 html { scroll-behavior:auto; }
 .opening-enhanced .opening { height:auto; }
 .opening-enhanced .opening-stage { position:relative; height:auto; overflow:visible; }
 .opening-enhanced .opening-heading { position:relative; transform:none!important; opacity:1!important; }
 .opening-enhanced .hero-media { position:relative; transform:none!important; }
 .page { break-inside:avoid; }
 .site-header,.skip-link,.sling-top { display:none; }
}
