/* One content grid and a compact opening across all translated templates. */
:root { --page-gutter:clamp(20px,4vw,64px); --content-width:1440px; }
.site-header,.hero,.section-wrap,.page-shell,.rcx,.brand-section,body>footer {
  width:min(calc(100% - 2 * var(--page-gutter)),var(--content-width));
  max-width:var(--content-width);
  margin-left:auto;
  margin-right:auto;
}
.site-header { position:relative;height:80px;min-height:80px;padding:0;gap:28px;flex-wrap:nowrap;z-index:40; }
.site-header .brand-logo { width:176px; }
.site-header>nav { width:auto;flex:none;order:0;gap:24px;padding:0;justify-content:flex-start; }
.site-header>nav a { padding:12px 0;white-space:nowrap; }
.site-header .header-cta { min-height:44px;padding:12px 17px;gap:18px;white-space:nowrap; }
.language-menu { margin-left:auto; }
.language-menu>summary { min-height:44px; }
.mobile-menu { display:none; }

.hero { grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);padding:28px 0 48px; }
.hero-copy { padding:0; }
.hero h1 { font-size:clamp(36px,4.05vw,64px);line-height:1.07;margin:20px 0 24px; }
.hero-description { max-width:480px;font-size:17px;line-height:1.7;margin-bottom:24px; }
.hero-footnote { margin-top:20px; }
.hero-visual { aspect-ratio:1.2;border-radius:0; }
.hero-visual-clip[data-hero-motion]>.recups-picture { inset:-10% 0 48px; }
.hero-product-link { left:12px;bottom:12px; }
.occasion-strip { margin-top:0;padding:18px var(--page-gutter);font-size:12px; }

.section-wrap { padding:80px 0; }
.section-heading,.rcx-heading { gap:40px;margin-bottom:32px; }
.section-heading>p,.rcx-intro { max-width:350px; }
.section-heading h2,.rcx-heading h2 { font-size:clamp(36px,3.7vw,58px);line-height:1.08; }
.collection-nav { gap:8px;margin:26px 0 28px; }
.collection-nav a { min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;transition:background .2s,color .2s,border-color .2s; }
.collection-nav a:focus-visible { outline-offset:2px; }
.product-grid { gap:36px 24px;margin-top:28px; }
.product-image { aspect-ratio:1;padding:42px 18px 28px;border-radius:10px; }
.product-label { font-size:10px;letter-spacing:.07em;left:16px;top:16px; }
.product-meta { padding:16px 0 0;gap:12px; }
.product-meta .card-title { font-size:20px;line-height:1.25;margin:0 0 6px; }
.product-meta p { font-size:13px;line-height:1.6;color:var(--muted); }
.volume { font-size:12px;line-height:1.5;color:var(--muted);padding-top:4px; }
.all-products { margin-top:36px; }
.rcx { margin-bottom:80px; }
.rcx-grid { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center; }
.rcx-film-column { padding:20px 0 20px 20px; }
.rcx-copy { padding:32px; }
.rcx-copy h3 { font-size:clamp(32px,3vw,46px);text-wrap:balance; }
.rcx-copy>p { font-size:18px; }
.rcx-product-info { column-gap:40px; }
.brand-section { padding:56px;gap:8%;border-radius:12px; }
.brand-copy h2 { font-size:clamp(42px,4.5vw,64px);margin:20px 0 24px; }
.brand-copy>p:not(.eyebrow) { max-width:430px; }
.brand-right { padding-top:80px; }
.oversized-arrow { font-size:100px; }
.steps { gap:28px;margin-top:40px; }
.step h3 { margin-top:20px; }
.step p { max-width:270px; }
.closing { padding:60px var(--page-gutter); }
.closing h2 { font-size:clamp(40px,5.1vw,76px);margin:18px 0 28px; }
body>footer { padding:44px 0 32px;gap:28px; }
footer .brand-logo { width:158px; }
footer nav { display:flex; }
.project-links { margin-top:8px;padding-top:24px; }
.project-links h2 { margin-top:0; }

/* Keep secondary pages on the same grid, with bounded reading and form widths. */
.page-shell { padding:40px 0 80px; }
.page-shell h1 { font-size:clamp(36px,4.4vw,64px);line-height:1.08; }
.page-heading { max-width:1000px; }
.single-product { gap:48px;align-items:start;margin-top:28px; }
.single-photo { height:auto;aspect-ratio:1.15;max-height:590px; }
.clip-product-photo .recups-picture { overflow:hidden; }
.clip-product-photo .single-photo { transform:scale(1.4); }
.single-product h1 { font-size:clamp(34px,3.5vw,54px); }
.product-summary { font-size:17px; }
.product-specs { margin:24px 0; }
.product-specs div { padding:12px 0; }
.quote-box { padding:40px;border:1px solid #e7e8ee;border-radius:12px; }
.quote-box h1,.quote-box h2 { font-size:clamp(30px,3.5vw,46px); }
.quote-form .form-grid { row-gap:4px; }
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea { border-radius:6px; }
.page-shell--contact { max-width:1120px; }
.page-shell--contact>.quote-box,.page-shell--contact>.editor-content { max-width:none; }
.page-shell--contact>.editor-content { margin-top:40px; }
.team-section { margin:40px 0 24px; }
.team-card { display:flex;flex-direction:column;align-items:stretch;padding:24px;border-radius:12px; }
.team-photo { height:auto;aspect-ratio:1.15;object-position:center 25%; }
.team-card h3 { font-size:24px; }
.team-card .team-languages { max-width:none; }
.article-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px; }
.article-card { border-radius:12px;padding:24px; }
.article-image-link { width:calc(100% + 48px);margin:-24px -24px 22px;border-radius:11px 11px 0 0; }
.article-card h2 { font-size:27px;line-height:1.2;text-wrap:balance; }
.article-card p { font-size:15px;color:var(--muted); }
.article-shell { max-width:1040px; }
.article-shell .editor-content { max-width:760px; }
.article-shell .page-heading h1 { font-size:clamp(34px,4.4vw,60px); }
.article-hero { max-height:520px; }

@media(max-width:1240px) {
  .site-header { height:76px;min-height:76px;gap:16px; }
  .site-header>nav { display:none!important; }
  .site-header>.header-cta { display:none; }
  .mobile-menu { display:block; }
  .mobile-menu>summary { width:44px;height:44px;display:grid;place-items:center;list-style:none;border:1px solid #dfe2e6;border-radius:8px;cursor:pointer; }
  .mobile-menu>summary::-webkit-details-marker { display:none; }
  .mobile-menu .nav-close { display:none; }
  .mobile-menu[open] .nav-open { display:none; }
  .mobile-menu[open] .nav-close { display:block; }
  .mobile-menu[open]>summary { border-color:var(--blue);color:var(--blue); }
  .mobile-menu>summary:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
  .site-header .mobile-nav { position:absolute;top:calc(100% - 2px);left:0;right:0;width:auto;display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;gap:0;padding:12px 20px 20px;margin:0;background:white;border:1px solid #e3e5eb;border-radius:12px;box-shadow:0 18px 40px #17182212;max-height:calc(100dvh - 120px);overflow-y:auto;white-space:normal; }
  .mobile-menu:not([open]) .mobile-nav { display:none; }
  .mobile-nav>a { display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:13px 4px;font-size:16px;border-bottom:1px solid #eceef3;white-space:normal; }
  .mobile-nav>a>.recups-arrow { width:18px;height:18px;flex-basis:18px; }
  .mobile-nav>.button { margin-top:14px;border:0;padding:14px 18px;color:white; }
  .hero { gap:32px; }
  .hero h1 { font-size:clamp(36px,4.05vw,50px); }
  .hero-visual { aspect-ratio:1.05; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px; }
  .product-meta { flex-direction:column;gap:4px; }
  .product-meta .card-title { font-size:19px; }
  .rcx-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .rcx-copy { padding:26px; }
  .rcx-copy h3 { font-size:34px; }
  .rcx-copy>p { font-size:17px; }
  .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .hero { align-items:center; }
  .hero h1 { font-size:clamp(30px,4.05vw,38px); }
  .hero-description { font-size:16px; }
  .section-heading,.rcx-heading { gap:24px; }
  .section-heading h2,.rcx-heading h2 { font-size:38px; }
  .section-heading>p,.rcx-intro { max-width:280px;font-size:14px; }
  .rcx-grid { grid-template-columns:1fr; }
  .rcx-film-column { padding:16px 16px 0; }
  .rcx-copy { padding:28px; }
  .rcx-benefits { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
  .rcx-benefits li { font-size:16px;gap:10px; }
  .brand-section { padding:36px;gap:6%; }
  .brand-copy h2 { font-size:44px; }
  .single-product { gap:30px; }
}
@media(max-width:700px) {
  .site-header { height:72px;min-height:72px;gap:12px; }
  .site-header .brand-logo { width:148px; }
  .language-menu>summary { min-width:54px;padding:8px;gap:5px; }
  .language-menu .language-switch { right:-56px;width:min(300px,calc(100vw - 40px)); }
  .hero { display:grid;grid-template-columns:1fr;gap:20px;padding:24px 0 28px; }
  .hero h1 { font-size:clamp(29px,7.9vw,52px);margin:18px 0 22px; }
  .hero-description { margin-bottom:22px; }
  .hero-footnote { margin-top:16px;font-size:12px; }
  .hero-visual { aspect-ratio:1.24; }
  .hero-product-link { left:10px;bottom:10px;padding:10px 13px;font-size:12px; }
  .occasion-strip { padding:16px 20px;gap:12px 18px;font-size:10px; }
  .section-wrap { padding:52px 0; }
  .section-heading,.rcx-heading { display:block;margin-bottom:24px; }
  .section-heading h2,.rcx-heading h2 { font-size:clamp(30px,8vw,42px); }
  .section-heading>p,.rcx-intro { max-width:none;margin-top:16px; }
  .collection-nav { gap:8px;margin:24px 0; }
  .collection-nav a { font-size:12px;min-height:40px;padding:9px 12px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;margin-top:24px; }
  .product-image { aspect-ratio:.88;padding:36px 10px 24px;border-radius:8px; }
  .product-label { top:12px;left:12px;right:12px;font-size:9px;line-height:1.4; }
  .product-plus { width:32px;height:32px;right:10px;bottom:10px; }
  .product-meta { padding-top:12px; }
  .product-meta .card-title { font-size:17px; }
  .product-meta p { font-size:12px; }
  .volume { font-size:12px; }
  .all-products { margin-top:28px; }
  .all-products .button { width:100%;font-size:14px; }
  .rcx { margin-bottom:52px; }
  .rcx-film-column { padding:10px 10px 0; }
  .rcx-copy { padding:24px 22px; }
  .rcx-copy h3 { font-size:34px; }
  .rcx-copy>p { font-size:16px; }
  .rcx-benefits { grid-template-columns:1fr;gap:16px; }
  .rcx-product-info { gap:22px; }
  .brand-section { display:block;padding:32px 24px;border-radius:10px; }
  .brand-copy h2 { font-size:42px; }
  .brand-right { padding-top:0;margin-top:36px; }
  .brand-right>.oversized-arrow { display:none; }
  .brand-option { gap:20px;padding:20px 0; }
  .brand-option p { font-size:18px; }
  .steps { grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:28px; }
  .step h3 { font-size:21px;margin-top:16px; }
  .step p { font-size:14px; }
  .process .section-heading>.button { margin-top:24px; }
  .closing { padding:48px 20px; }
  .closing h2 { font-size:42px; }
  body>footer { padding:36px 0 28px;gap:20px;align-items:flex-start; }
  footer>p,footer>span { flex-basis:100%; }
  footer nav { display:flex;flex-wrap:wrap;gap:20px; }
  .project-links { padding-top:24px;margin-top:4px; }
  .project-links ul { gap:24px 18px; }
  .page-shell { padding:28px 0 52px; }
  .page-shell h1 { font-size:34px;margin:16px 0 24px;overflow-wrap:anywhere; }
  .single-product { margin-top:24px; }
  .single-photo { aspect-ratio:1.1;max-height:none; }
  .single-product>div+div { margin-top:28px; }
  .quote-box { padding:28px 20px;margin-top:40px; }
  .quote-box h1,.quote-box h2 { font-size:32px; }
  .quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea { font-size:16px; }
  .quote-form button[type=submit] { width:100%; }
  .artwork-upload { padding:16px; }
  .team-grid { grid-template-columns:1fr;gap:20px; }
  .team-card { padding:22px; }
  .team-photo { aspect-ratio:1.2;max-height:320px; }
  .article-grid { grid-template-columns:1fr;gap:26px; }
  .article-card h2 { font-size:26px; }
  .article-shell .page-heading h1 { font-size:34px; }
}
@media(prefers-reduced-motion:reduce) {
  .collection-nav a { transition:none; }
}
