:root {
    --pw-ink: #11110f;
    --pw-ink-soft: #1b1b18;
    --pw-ivory: #f3efe6;
    --pw-paper: #faf8f2;
    --pw-bamboo: #455543;
    --pw-bamboo-deep: #29352c;
    --pw-gold: #b99a63;
    --pw-gold-soft: #d6c093;
    --pw-line: rgba(17, 17, 15, .14);
    --pw-white-line: rgba(255, 255, 255, .16);
    --pw-header-h: 84px;
    --pw-shell: min(6vw, 96px);
    --pw-content-max: 100%;
    --pw-content-width: min(calc(100% - (var(--pw-shell) * 2)), var(--pw-content-max));
    --pw-radius: 28px;
    --pw-ease: cubic-bezier(.22, 1, .36, 1);

    /* Global fluid type scale. These values are overridden at the desktop
       container breakpoints so typography stops growing with the viewport. */
    --pw-fs-hero: clamp(58px, 7.2vw, 104px);
    --pw-fs-hero-secondary: clamp(44px, 5.6vw, 76px);
    --pw-fs-display: clamp(46px, 5vw, 78px);
    --pw-fs-copy-lg: clamp(18px, 1.25vw, 21px);
    --pw-fs-quote: clamp(28px, 2.4vw, 42px);
    --pw-fs-taste: clamp(28px, 2.1vw, 38px);
    --pw-fs-statement: clamp(27px, 2.1vw, 36px);
    --pw-fs-info: clamp(18px, 1.35vw, 22px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--pw-ivory);
    color: var(--pw-ink);
    font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}
body.is-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button { font: inherit; }
::selection { background: var(--pw-gold); color: var(--pw-ink); }

.pw-skip { position: fixed; z-index: 9999; left: 1rem; top: 1rem; background: #fff; color: #000; padding: .75rem 1rem; }
.pw-shell { width: var(--pw-content-width); margin-inline: auto; padding-left: 0; padding-right: 0; }
.pw-section { position: relative; padding-top: clamp(90px, 10vw, 170px); padding-bottom: clamp(90px, 10vw, 170px); }

/* Brand / official Panda Wok logo */
.pw-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.pw-brand__logo { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.pw-brand__logo--large { width: 82px; height: 82px; }
.pw-brand__wordmark { display: flex; flex-direction: column; line-height: .82; letter-spacing: -.04em; }
.pw-brand__wordmark strong { font: 700 19px/1 "Manrope", sans-serif; letter-spacing: .12em; }
.pw-brand__wordmark span { margin-top: 5px; font: 500 11px/1 "Manrope", sans-serif; letter-spacing: .47em; padding-left: 1px; opacity: .72; }
.pw-brand--footer .pw-brand__logo { width: 52px; height: 52px; }

/* Header */
.pw-header { position: fixed; inset: 0 0 auto; z-index: 1000; height: var(--pw-header-h); color: #fff; transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease; border-bottom: 1px solid transparent; }
.pw-header.is-scrolled { background: rgba(17, 17, 15, .82); backdrop-filter: blur(20px) saturate(135%); -webkit-backdrop-filter: blur(20px) saturate(135%); border-color: rgba(255,255,255,.11); }
.pw-header.is-menu-open { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-color: transparent; }
.pw-header__inner { width: var(--pw-content-width); height: 100%; margin-inline: auto; padding: 0; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.pw-nav { align-items: center; gap: clamp(22px, 2.4vw, 42px); margin-left: auto; }
.pw-nav a { position: relative; font: 500 13px/1 "Manrope", sans-serif; letter-spacing: .06em; color: rgba(255,255,255,.76); transition: color .2s ease; }
.pw-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 1px; background: var(--pw-gold-soft); transition: right .3s var(--pw-ease); }
.pw-nav a:hover { color: #fff; }
.pw-nav a:hover::after { right: 0; }
.pw-header__actions { display: flex; align-items: center; gap: 18px; }
.pw-lang { display: flex; align-items: center; gap: 6px; font: 600 11px/1 "Manrope", sans-serif; letter-spacing: .14em; color: rgba(255,255,255,.42); }
.pw-lang__btn { appearance: none; border: 0; background: none; color: rgba(255,255,255,.46); padding: 7px 2px; cursor: pointer; transition: color .2s ease; }
.pw-lang__btn:hover, .pw-lang__btn.is-active { color: #fff; }
.pw-menu-toggle { width: 40px; height: 40px; border: 0; background: transparent; color: #fff; position: relative; padding: 0; }
.pw-menu-toggle span { position: absolute; width: 24px; height: 1px; background: currentColor; left: 8px; transition: transform .35s var(--pw-ease), top .35s var(--pw-ease); }
.pw-menu-toggle span:first-child { top: 15px; }
.pw-menu-toggle span:last-child { top: 24px; }
.pw-header.is-menu-open .pw-menu-toggle span:first-child { top: 20px; transform: rotate(45deg); }
.pw-header.is-menu-open .pw-menu-toggle span:last-child { top: 20px; transform: rotate(-45deg); }

.pw-mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: var(--pw-ink);
    color: #fff;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    transition: opacity .35s ease, visibility 0s linear .35s;
}
.pw-mobile-menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}
.pw-mobile-menu__inner {
    width: var(--pw-content-width);
    min-height: 100svh;
    margin-inline: auto;
    padding: calc(var(--pw-header-h) + clamp(34px, 6vh, 64px)) 0 max(36px, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.pw-mobile-menu__nav { display: grid; }
.pw-mobile-menu__nav a { display: grid; grid-template-columns: 48px 1fr; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--pw-white-line); }
.pw-mobile-menu__nav small { color: var(--pw-gold-soft); font: 500 10px/1 "Manrope", sans-serif; }
.pw-mobile-menu__nav span { font: 500 clamp(24px, 5vw, 40px)/1.15 "Manrope", sans-serif; letter-spacing: -.035em; }
.pw-mobile-menu__phone { margin-top: 24px; color: rgba(255,255,255,.62); }

/* Buttons */
.pw-btn {
    --pw-btn-fill: var(--pw-gold-soft);
    --pw-btn-hover-text: var(--pw-ink);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 50px;
    padding: 0 23px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font: 600 12px/1 "Manrope", sans-serif;
    letter-spacing: .07em;
    transition: transform .35s var(--pw-ease), color .3s ease, border-color .3s ease, box-shadow .35s var(--pw-ease);
}
.pw-btn::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: inherit;
    background: var(--pw-btn-fill);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .48s var(--pw-ease);
}
.pw-btn span, .pw-btn i { position: relative; z-index: 1; transition: transform .38s var(--pw-ease); }
.pw-btn i { font-size: 14px; }
.pw-btn:hover {
    transform: translateY(-2px);
    color: var(--pw-btn-hover-text);
    border-color: var(--pw-btn-fill);
    box-shadow: 0 12px 26px rgba(0,0,0,.12);
}
.pw-btn:hover::before { transform: scaleX(1); transform-origin: left center; }
.pw-btn:hover span { transform: translateX(-2px); }
.pw-btn:hover i { transform: translate(5px, -5px); }
.pw-btn:focus-visible { outline: 2px solid var(--pw-gold-soft); outline-offset: 4px; }
.pw-btn--header { min-height: 44px; padding-inline: 19px; color: #fff; border-color: rgba(255,255,255,.4); --pw-btn-fill: var(--pw-gold-soft); --pw-btn-hover-text: var(--pw-ink); }
.pw-btn--light { background: var(--pw-ivory); color: var(--pw-ink); border-color: var(--pw-ivory); --pw-btn-fill: var(--pw-gold-soft); --pw-btn-hover-text: var(--pw-ink); }
.pw-btn--dark { background: var(--pw-ink); color: #fff; border-color: var(--pw-ink); --pw-btn-fill: var(--pw-gold); --pw-btn-hover-text: var(--pw-ink); }
.pw-text-link { position: relative; display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1 "Manrope", sans-serif; letter-spacing: .05em; padding: 12px 0 13px; }
.pw-text-link::before, .pw-text-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 1px; }
.pw-text-link::before { background: currentColor; opacity: .38; }
.pw-text-link::after { background: var(--pw-gold-soft); transform: scaleX(0); transform-origin: left center; transition: transform .38s var(--pw-ease); }
.pw-text-link i { transition: transform .35s var(--pw-ease), color .25s ease; }
.pw-text-link:hover::after { transform: scaleX(1); }
.pw-text-link:hover .bi-arrow-down { transform: translateY(4px); }
.pw-text-link--light { color: rgba(255,255,255,.85); }

/* Hero */
.pw-hero { position: relative; min-height: 100svh; color: #fff; background: var(--pw-ink); overflow: hidden; isolation: isolate; }
.pw-hero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; contain: paint; }
.pw-hero__poster, .pw-hero__canvas { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.pw-hero__poster { object-fit: cover; object-position: center 48%; }
.pw-hero__canvas { opacity: 0; transition: opacity .8s ease; pointer-events: none; }
.pw-hero.is-video-ready .pw-hero__canvas { opacity: 1; }
/* Keep the real <video> completely outside the visible Hero. It is only a
   decoding source for Canvas, which prevents download extensions from
   attaching their floating controls to the Hero media box. */
.pw-hero__video-source { position: absolute; z-index: -1; top: -10000px; left: -10000px; width: 2px; height: 2px; opacity: 0; pointer-events: none; }
.pw-hero__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(12,13,11,.78) 0%, rgba(12,13,11,.52) 40%, rgba(12,13,11,.14) 73%, rgba(12,13,11,.24) 100%), linear-gradient(180deg, rgba(8,9,8,.22) 0%, rgba(8,9,8,.04) 42%, rgba(8,9,8,.72) 100%); }
.pw-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at 79% 25%, rgba(185,154,99,.12), transparent 36%); pointer-events: none; }
.pw-hero__content { position: relative; z-index: 3; width: var(--pw-content-width); min-height: 100svh; margin-inline: auto; padding: calc(var(--pw-header-h) + 6vh) 0 5vh; display: flex; flex-direction: column; justify-content: space-between; }
.pw-hero__eyebrow, .pw-hero__meta { position: relative; z-index: 3; }
.pw-hero__eyebrow { display: inline-flex; align-items: center; gap: 11px; padding-top: 2vh; color: rgba(255,255,255,.7); font: 600 11px/1 "Manrope", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.pw-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--pw-gold-soft); box-shadow: 0 0 0 6px rgba(214,192,147,.09); }
.pw-hero__copy { position: relative; z-index: 2; max-width: min(900px, 80vw); margin-top: auto; margin-bottom: clamp(48px, 8vh, 100px); }
.pw-hero__kicker { margin: 0 0 18px; font: 500 13px/1 "Manrope", sans-serif; color: var(--pw-gold-soft); letter-spacing: .08em; }
.pw-hero__title { margin: 0; max-width: 1080px; font-family: "Manrope", sans-serif; }
.pw-hero__title span, .pw-hero__title em { display: block; }
.pw-hero__title span { font-size: var(--pw-fs-hero); line-height: .91; font-weight: 700; color: #fff; letter-spacing: -.06em; }
.pw-hero__title em { max-width: 980px; margin-top: .14em; font-size: var(--pw-fs-hero-secondary); line-height: .94; font-style: normal; font-weight: 400; color: var(--pw-gold-soft); letter-spacing: -.052em; }
.pw-hero__lead { max-width: 640px; margin: 30px 0 0; font-size: var(--pw-fs-copy-lg); line-height: 1.55; color: rgba(255,255,255,.74); }
.pw-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 32px; }
.pw-hero__meta { align-self: flex-end; display: grid; grid-template-columns: repeat(3, minmax(120px, auto)); gap: clamp(25px, 4vw, 68px); padding: 0 0 2vh; }
.pw-hero__meta div { border-left: 1px solid rgba(255,255,255,.24); padding-left: 16px; }
.pw-hero__meta small { display: block; color: rgba(255,255,255,.48); font-size: 11px; margin-bottom: 5px; text-transform: uppercase; letter-spacing: .1em; }
.pw-hero__meta strong { font: 500 14px/1.2 "Manrope", sans-serif; }
.pw-hero__scroll { position: absolute; z-index: 3; right: max(var(--pw-shell), calc((100vw - var(--pw-content-max)) / 2)); bottom: 0; width: 1px; height: 76px; background: rgba(255,255,255,.18); overflow: hidden; }
.pw-hero__scroll span { display: block; width: 100%; height: 28px; background: #fff; animation: pwScroll 2.2s ease-in-out infinite; }
@keyframes pwScroll { 0% { transform: translateY(-30px); } 50%,100% { transform: translateY(80px); } }

/* Signature flowing light motif */
.pw-chandelier { position: absolute; pointer-events: none; overflow: hidden; }
.pw-chandelier svg { width: 100%; height: 100%; }
.pw-chandelier path { fill: none; stroke: currentColor; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.pw-chandelier--hero { z-index: 2; width: 110%; height: 270px; right: -8%; top: 12%; color: rgba(232,216,184,.28); transform: rotate(-4deg); filter: drop-shadow(0 0 8px rgba(214,192,147,.15)); }
.pw-chandelier--section { width: 70%; height: 240px; right: -12%; top: 2%; color: rgba(69,85,67,.18); }

/* Typography */
.pw-overline { margin: 0 0 20px; color: var(--pw-bamboo); font: 700 11px/1 "Manrope", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.pw-overline--gold { color: var(--pw-gold-soft); }
.pw-display { margin: 0; font: 500 var(--pw-fs-display)/.98 "Manrope", sans-serif; letter-spacing: -.055em; }
.pw-display em { font-family: "Playfair Display", serif; font-weight: 500; color: var(--pw-bamboo); letter-spacing: -.04em; }
.pw-display--light { color: var(--pw-ivory); }
.pw-display--light em { color: var(--pw-gold-soft); }
.pw-copy { margin: 0; font-size: 16px; line-height: 1.72; color: rgba(17,17,15,.64); }
.pw-copy--large { font-size: var(--pw-fs-copy-lg); line-height: 1.68; }
.pw-copy--light { color: rgba(255,255,255,.62); }

/* Intro */
.pw-intro {
    isolation: isolate;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' preserveAspectRatio='none'%3E%3Cpath d='M-120 170 C250 35 515 315 835 175 S1370 -25 1730 215' fill='none' stroke='%23b99a63' stroke-opacity='.18' stroke-width='2.2'/%3E%3Cpath d='M-120 180 C260 45 530 330 850 188 S1385 -10 1740 228' fill='none' stroke='%23b99a63' stroke-opacity='.05' stroke-width='18'/%3E%3Cpath d='M-90 575 C285 385 620 650 985 455 S1425 335 1710 555' fill='none' stroke='%23455543' stroke-opacity='.135' stroke-width='2'/%3E%3Cpath d='M-80 585 C300 400 635 665 1000 468 S1435 345 1720 565' fill='none' stroke='%23455543' stroke-opacity='.035' stroke-width='17'/%3E%3Cpath d='M610 44 C805 118 900 340 1125 365 S1475 275 1665 128' fill='none' stroke='%23b99a63' stroke-opacity='.105' stroke-width='1.8'/%3E%3C/svg%3E") center / 100% 100% no-repeat,
        radial-gradient(circle at 84% 18%, rgba(185,154,99,.075), transparent 24%),
        radial-gradient(circle at 13% 76%, rgba(69,85,67,.055), transparent 24%),
        var(--pw-ivory);
    overflow: hidden;
}
/* Third-pass atmosphere: deliberately visible, but still editorial. The
   intro now carries its own bamboo / gold spatial layer instead of reading as
   a flat ivory sheet immediately after the dense Hero. */
.pw-intro::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 54% 42% at 9% 72%, rgba(185,154,99,.19) 0%, rgba(185,154,99,.085) 31%, transparent 69%),
        radial-gradient(ellipse 48% 40% at 91% 24%, rgba(69,85,67,.14) 0%, rgba(69,85,67,.055) 40%, transparent 73%),
        linear-gradient(118deg, rgba(255,255,255,.24) 0 34%, transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.10) 0%, transparent 35%, rgba(185,154,99,.055) 100%);
}
.pw-intro::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: min(72vw, 1040px);
    height: min(34vw, 490px);
    left: -22vw;
    bottom: 6%;
    border: 1px solid rgba(69,85,67,.14);
    border-radius: 50%;
    box-shadow:
        0 0 0 54px rgba(69,85,67,.026),
        0 0 0 108px rgba(185,154,99,.024);
    transform: rotate(-8deg);
    pointer-events: none;
}
.pw-intro > .pw-chandelier { z-index: 1; }
.pw-intro .pw-shell {
    position: relative;
    z-index: 2;
}
.pw-intro .pw-shell::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 360px;
    height: 240px;
    top: 238px;
    right: 1%;
    opacity: .64;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(69,85,67,.20) 1.25px, transparent 1.5px);
    background-size: 18px 18px;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 0 34%, rgba(0,0,0,.76) 55%, transparent 78%);
    mask-image: radial-gradient(ellipse at center, #000 0 34%, rgba(0,0,0,.76) 55%, transparent 78%);
}
.pw-intro .pw-shell::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 610px;
    height: 610px;
    right: -285px;
    bottom: -255px;
    border: 1px solid rgba(69,85,67,.13);
    border-radius: 50%;
    background: radial-gradient(circle at 36% 35%, rgba(185,154,99,.055), transparent 52%);
    box-shadow:
        0 0 0 66px rgba(69,85,67,.045),
        0 0 0 134px rgba(185,154,99,.035);
    pointer-events: none;
}
.pw-intro .row,
.pw-intro__grid {
    position: relative;
    z-index: 1;
}
.pw-intro .row { --bs-gutter-y: clamp(24px, 4vw, 40px); }
.pw-intro .pw-display { max-width: none; }
.pw-intro .pw-overline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.pw-intro .pw-overline::before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #c52b34;
    opacity: .9;
}
.pw-intro .pw-display em {
    display: block;
    color: var(--pw-bamboo);
    font-family: inherit;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -.05em;
}
.pw-intro .pw-copy--large {
    max-width: 42ch;
    margin-left: auto;
    color: rgba(17,17,15,.66);
    line-height: 1.68;
}
.pw-intro__grid {
    margin-top: clamp(42px, 4.5vw, 64px);
    display: grid;
    grid-template-columns: 1.18fr .66fr .86fr;
    grid-template-rows: minmax(0, 540px);
    gap: clamp(16px, 1.7vw, 22px);
    align-items: stretch;
    isolation: isolate;
}
.pw-intro__grid::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 37%;
    right: 1.25%;
    top: -34px;
    bottom: -32px;
    border-radius: 74px;
    border: 1px solid rgba(69,85,67,.075);
    background:
        linear-gradient(135deg, rgba(69,85,67,.060), rgba(69,85,67,.020) 55%, rgba(185,154,99,.035));
    transform: rotate(-1.1deg);
    pointer-events: none;
}
.pw-intro__grid::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 210px;
    height: 210px;
    left: -76px;
    bottom: -86px;
    border-radius: 50%;
    background: rgba(185,154,99,.105);
    box-shadow: 0 0 0 34px rgba(185,154,99,.028);
    pointer-events: none;
}
.pw-intro__grid > * {
    position: relative;
    z-index: 1;
}
.pw-intro__image,
.pw-intro__quote {
    margin: 0;
    overflow: hidden;
    border-radius: calc(var(--pw-radius) + 2px);
    min-height: 0;
}
.pw-intro__image {
    position: relative;
    box-shadow: 0 18px 44px rgba(17,17,15,.06);
}
.pw-intro__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 55%, rgba(17,17,15,.05) 100%);
    pointer-events: none;
}
.pw-intro__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.1s var(--pw-ease), filter .45s ease;
}
.pw-intro__image:hover img {
    transform: scale(1.028);
    filter: saturate(1.03) contrast(1.02);
}

.pw-intro__caption {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding-top: 62px;
    color: #fff;
    pointer-events: none;
}
.pw-intro__caption::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -22px;
    right: -22px;
    bottom: -20px;
    height: 150px;
    background: linear-gradient(180deg, rgba(10,10,8,0), rgba(10,10,8,.72));
}
.pw-intro__caption-index {
    flex: 0 0 auto;
    color: rgba(255,255,255,.62);
    font: 600 11px/1 "Manrope", sans-serif;
    letter-spacing: .16em;
}
.pw-intro__caption div {
    min-width: 0;
    margin-left: auto;
    text-align: right;
    transform: translateY(8px);
    transition: transform .45s var(--pw-ease);
}
.pw-intro__caption small,
.pw-intro__caption strong { display: block; }
.pw-intro__caption small {
    margin-bottom: 7px;
    color: var(--pw-gold-soft);
    font: 600 10px/1 "Manrope", sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.pw-intro__caption strong {
    max-width: 18ch;
    font: 500 20px/1.18 "Manrope", sans-serif;
    letter-spacing: -.035em;
}
.pw-intro__image:hover .pw-intro__caption div { transform: translateY(0); }
.pw-intro__image--main,
.pw-intro__image--secondary,
.pw-intro__quote { grid-row: 1; }
.pw-intro__image--main { grid-column: 1; }
.pw-intro__image--secondary { grid-column: 3; }
.pw-intro__quote {
    grid-column: 2;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(28px, 2.4vw, 38px);
    background:
        radial-gradient(circle at 78% 10%, rgba(214,192,147,.08) 0, rgba(214,192,147,0) 34%),
        linear-gradient(180deg, #2b3a2f 0%, #26342b 100%);
    color: var(--pw-ivory);
    box-shadow: 0 18px 44px rgba(17,17,15,.08);
    transition: transform .45s var(--pw-ease), box-shadow .45s var(--pw-ease);
}
.pw-intro__quote::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,.08);
    pointer-events: none;
}
.pw-intro__quote::after {
    content: "";
    position: absolute;
    width: 310px;
    height: 310px;
    right: -155px;
    bottom: -150px;
    border: 1px solid rgba(214,192,147,.20);
    border-radius: 50%;
    box-shadow: 0 0 0 46px rgba(214,192,147,.035), 0 0 0 92px rgba(214,192,147,.02);
    pointer-events: none;
    transition: transform .6s var(--pw-ease);
}
.pw-intro__quote:hover::after { transform: scale(1.06); }
.pw-intro__quote-overline {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.58);
    font: 600 9px/1 "Manrope", sans-serif;
    letter-spacing: .18em;
}
.pw-intro__quote-overline i {
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #bf2d32;
    box-shadow: 0 0 0 4px rgba(191,45,50,.08);
}
.pw-intro__quote:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 56px rgba(17,17,15,.13);
}
.pw-intro__quote .pw-brand__logo--large {
    position: relative;
    z-index: 2;
    width: clamp(88px, 5.6vw, 104px);
    height: clamp(88px, 5.6vw, 104px);
    margin: 34px 0 auto;
}
.pw-intro__quote p {
    position: relative;
    z-index: 2;
    max-width: none;
    margin: 30px 0 12px;
    font: 500 clamp(31px, 2.45vw, 40px)/.94 "Manrope", sans-serif;
    letter-spacing: -.052em;
}
.pw-intro__quote p span {
    color: var(--pw-gold-soft);
    font-weight: 400;
}
.pw-intro__quote > small {
    position: relative;
    z-index: 2;
    max-width: 16ch;
    color: rgba(255,255,255,.64);
    font-size: 13.5px;
    line-height: 1.55;
}

/* Buffet */
.pw-buffet {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(circle at 12% 18%, rgba(185,154,99,.10), transparent 32%),
        radial-gradient(circle at 88% 72%, rgba(69,85,67,.11), transparent 30%),
        var(--pw-ink);
    color: #fff;
    overflow: hidden;
}
.pw-buffet::before,
.pw-buffet::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.pw-buffet::before {
    inset: 110px auto auto -140px;
    width: clamp(360px, 34vw, 640px);
    height: clamp(360px, 34vw, 640px);
    border-radius: 42px;
    background:
        radial-gradient(circle at 42% 42%, rgba(214,192,147,.09) 0%, rgba(214,192,147,.04) 28%, rgba(214,192,147,0) 72%),
        linear-gradient(145deg, rgba(255,255,255,.028), rgba(255,255,255,0));
    border: 1px solid rgba(255,255,255,.045);
    transform: rotate(-12deg);
    opacity: .7;
}
.pw-buffet::after {
    top: 84px;
    right: clamp(18px, 4vw, 64px);
    width: clamp(220px, 22vw, 380px);
    height: clamp(170px, 16vw, 280px);
    background:
        radial-gradient(circle, rgba(214,192,147,.14) 0 1.2px, transparent 1.2px) 0 0 / 16px 16px;
    opacity: .22;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.85), rgba(0,0,0,.15));
}
.pw-buffet .pw-shell { position: relative; z-index: 1; }
.pw-buffet .pw-display {
    max-width: 12ch;
}
.pw-buffet .pw-display em {
    color: var(--pw-gold-soft);
    font-family: inherit;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -.05em;
}
.pw-section-head { display: grid; grid-template-columns: 1.45fr .55fr; gap: clamp(50px, 8vw, 140px); align-items: end; }
.pw-section-head .pw-copy { max-width: 480px; }
.pw-tastes {
    position: relative;
    margin-top: clamp(48px, 5.2vw, 82px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--pw-white-line);
    border-left: 1px solid var(--pw-white-line);
    z-index: 1;
}
.pw-tastes::before,
.pw-tastes::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.pw-tastes::before {
    left: -56px;
    bottom: 28px;
    width: clamp(260px, 22vw, 440px);
    height: clamp(220px, 18vw, 360px);
    border-radius: 34px;
    background: linear-gradient(140deg, rgba(214,192,147,.06), rgba(214,192,147,.015) 52%, rgba(214,192,147,0) 100%);
    border: 1px solid rgba(255,255,255,.035);
    transform: rotate(-11deg);
}
.pw-tastes::after {
    right: -84px;
    top: 44px;
    width: clamp(320px, 26vw, 520px);
    height: clamp(320px, 26vw, 520px);
    border-radius: 50%;
    border: 1px solid rgba(214,192,147,.08);
    box-shadow:
        0 0 0 80px rgba(214,192,147,.028),
        0 0 0 160px rgba(214,192,147,.016);
    opacity: .52;
}
.pw-taste {
    min-height: 310px;
    padding: clamp(26px, 2.2vw, 34px);
    border-right: 1px solid var(--pw-white-line);
    border-bottom: 1px solid var(--pw-white-line);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: rgba(255,255,255,.006);
    transition: background .38s ease, transform .42s var(--pw-ease);
}
/* The food assets are real transparent PNG cutouts, kept entirely inside the card
   so each one can still be positioned independently at every breakpoint. */
.pw-taste__art {
    position: absolute;
    z-index: 0;
    width: 78%;
    height: auto;
    max-height: 82%;
    object-fit: contain;
    object-position: center;
    right: 1.5%;
    bottom: 1.5%;
    opacity: .32;
    filter: brightness(.72) saturate(.88) contrast(1.03);
    transform: translate3d(2%, 2%, 0) scale(.97);
    transform-origin: 72% 74%;
    pointer-events: none;
    user-select: none;
    transition: opacity .5s var(--pw-ease), filter .5s var(--pw-ease), transform .6s var(--pw-ease);
}
.pw-taste--wide .pw-taste__art { width: 58%; max-height: 88%; }
.pw-taste__art--sushi { width: 57%; right: 2%; bottom: 2%; }
.pw-taste__art--wok { width: 80%; right: 1%; bottom: 1%; }
.pw-taste__art--grill { width: 80%; right: 1%; bottom: 1%; }
.pw-taste__art--seafood { width: 81%; right: 1%; bottom: 1%; }
.pw-taste__art--asia { width: 60%; right: 2%; bottom: 2%; }
.pw-taste__art--sweet { width: 78%; right: 1.5%; bottom: 1.5%; }
.pw-taste__shade {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(14,14,12,.97) 0%, rgba(14,14,12,.90) 38%, rgba(14,14,12,.66) 66%, rgba(14,14,12,.40) 100%),
        linear-gradient(180deg, rgba(14,14,12,.18) 0%, rgba(14,14,12,.03) 45%, rgba(14,14,12,.42) 100%);
    opacity: .95;
    pointer-events: none;
    transition: opacity .45s ease;
}
.pw-taste::before {
    content: "";
    position: absolute;
    z-index: 4;
    left: 0;
    top: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--pw-gold-soft), rgba(214,192,147,0));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .5s var(--pw-ease);
}
.pw-taste::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(214,192,147,.14);
    border-radius: 50%;
    right: -110px;
    bottom: -110px;
    transition: transform .55s var(--pw-ease), border-color .35s ease, background .35s ease;
}
.pw-taste > :not(.pw-taste__art):not(.pw-taste__shade) { position: relative; z-index: 3; }
.pw-taste--wide { grid-column: span 2; }
.pw-taste__num {
    color: rgba(255,255,255,.31);
    font: 500 11px/1 "Manrope", sans-serif;
    letter-spacing: .16em;
    transition: color .3s ease;
}
.pw-taste small { display: block; margin-bottom: 10px; color: var(--pw-gold-soft); font: 600 10px/1 "Manrope", sans-serif; letter-spacing: .18em; }
.pw-taste h3 {
    margin: 0;
    font: 500 var(--pw-fs-taste)/1 "Manrope", sans-serif;
    letter-spacing: -.045em;
    transition: transform .42s var(--pw-ease), color .3s ease;
}
.pw-taste p {
    max-width: 440px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.55);
    line-height: 1.68;
    font-size: 14px;
    transition: color .3s ease;
}
/* Desktop/tablet with a real hover pointer: the image wakes up when the card is explored. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    .pw-taste:hover {
        background: linear-gradient(145deg, rgba(214,192,147,.055), rgba(69,85,67,.045));
    }
    .pw-taste:hover::before { transform: scaleX(1); }
    .pw-taste:hover::after {
        transform: scale(1.18);
        border-color: rgba(214,192,147,.32);
        background: rgba(214,192,147,.018);
    }
    .pw-taste:hover .pw-taste__art {
        opacity: .68;
        filter: brightness(1.04) saturate(1.07) contrast(1.04);
        transform: translate3d(-1%, -1%, 0) scale(1.035);
    }
    .pw-taste:hover .pw-taste__shade { opacity: .78; }
    .pw-taste:hover .pw-taste__num { color: rgba(255,255,255,.50); }
    .pw-taste:hover h3 { transform: translateX(4px); color: #fff; }
    .pw-taste:hover p { color: rgba(255,255,255,.72); }
}

/* Grill */
.pw-grill {
    position: relative;
    padding: clamp(54px, 5vw, 88px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 16%, rgba(185,154,99,.20), transparent 25%),
        radial-gradient(circle at 84% 88%, rgba(69,85,67,.11), transparent 30%),
        linear-gradient(180deg, #f5efe5 0%, var(--pw-paper) 100%);
}
.pw-grill__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.16fr .84fr;
    min-height: 720px;
    overflow: hidden;
    border-radius: clamp(18px, 1.6vw, 26px);
    box-shadow: 0 26px 70px rgba(17,17,15,.10);
    background: rgba(255,255,255,.18);
}
/* Wok atmosphere: soft light-strip curves float through the pale area without
   competing with the food image or the editorial sheet. */
.pw-grill__inner::before,
.pw-grill__inner::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.pw-grill__inner::before {
    width: clamp(420px, 43vw, 720px);
    height: clamp(180px, 18vw, 300px);
    right: clamp(-190px, -10vw, -110px);
    top: clamp(78px, 8vw, 132px);
    border-radius: 50%;
    border: 1px solid rgba(185,154,99,.16);
    box-shadow:
        0 0 0 34px rgba(185,154,99,.020),
        0 0 0 72px rgba(69,85,67,.014);
    transform: rotate(-10deg);
    opacity: .48;
}
.pw-grill__inner::after {
    width: clamp(520px, 52vw, 860px);
    height: clamp(210px, 21vw, 340px);
    right: clamp(-280px, -15vw, -170px);
    bottom: clamp(38px, 5vw, 86px);
    border-radius: 50%;
    border: 1px solid rgba(69,85,67,.105);
    transform: rotate(9deg);
    opacity: .38;
}
.pw-grill::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='none'%3E%3Cpath d='M-120 165 C260 20 500 330 820 170 S1360 -30 1720 215' fill='none' stroke='%23b99a63' stroke-opacity='.18' stroke-width='2.2'/%3E%3Cpath d='M-120 175 C270 30 515 342 835 180 S1375 -18 1730 225' fill='none' stroke='%23b99a63' stroke-opacity='.055' stroke-width='18'/%3E%3Cpath d='M-80 560 C280 360 610 640 980 430 S1410 320 1700 540' fill='none' stroke='%23455543' stroke-opacity='.13' stroke-width='2'/%3E%3Cpath d='M-70 570 C300 375 625 652 995 442 S1420 330 1710 550' fill='none' stroke='%23455543' stroke-opacity='.038' stroke-width='17'/%3E%3Cpath d='M625 40 C820 115 900 330 1120 355 S1470 265 1660 120' fill='none' stroke='%23b99a63' stroke-opacity='.12' stroke-width='1.8'/%3E%3C/svg%3E"),
        radial-gradient(circle at 93% 25%, rgba(185,154,99,.16), transparent 20%),
        radial-gradient(circle at 10% 76%, rgba(69,85,67,.09), transparent 22%);
    background-size: 100% 100%, auto, auto;
    background-repeat: no-repeat;
    opacity: 1;
}
.pw-grill::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: clamp(-210px, -10vw, -120px);
    top: clamp(74px, 8vw, 132px);
    width: clamp(420px, 32vw, 620px);
    height: clamp(420px, 32vw, 620px);
    border-radius: 50%;
    border: 1px solid rgba(185,154,99,.12);
    box-shadow:
        0 0 0 70px rgba(185,154,99,.025),
        0 0 0 140px rgba(69,85,67,.018);
    opacity: .72;
    pointer-events: none;
}
.pw-grill__media {
    position: relative;
    min-height: clamp(650px, 42vw, 820px);
    overflow: hidden;
    isolation: isolate;
}
.pw-grill__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 54% 52%;
    transform: scale(1.015);
}
.pw-grill__media::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8,8,7,.52) 0%, rgba(8,8,7,.18) 34%, rgba(8,8,7,0) 62%),
        linear-gradient(180deg, rgba(8,8,7,.08) 0%, rgba(8,8,7,.34) 100%);
}
.pw-grill__media::after {
    content: "";
    position: absolute;
    right: -12%;
    bottom: -14%;
    width: 54%;
    height: 44%;
    background: radial-gradient(circle, rgba(255,151,63,.46) 0%, rgba(255,151,63,0) 72%);
    filter: blur(22px);
    opacity: .62;
    pointer-events: none;
}
.pw-grill__media-badge {
    position: absolute;
    z-index: 2;
    top: clamp(28px, 4vw, 58px);
    left: clamp(26px, 4vw, 62px);
    display: grid;
    gap: 6px;
    padding: 14px 18px 16px;
    border-radius: 20px;
    background: rgba(15,15,14,.48);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 18px 48px rgba(0,0,0,.16);
    backdrop-filter: blur(14px);
    color: #fff;
}
.pw-grill__media-badge small {
    font: 700 10px/1 "Manrope", sans-serif;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: rgba(255,255,255,.78);
}
.pw-grill__media-badge strong {
    font: 500 20px/1.05 "Manrope", sans-serif;
    letter-spacing: -.04em;
}
.pw-grill__media-label {
    position: absolute;
    z-index: 2;
    left: clamp(28px, 4vw, 72px);
    bottom: 42px;
    right: clamp(28px, 4vw, 72px);
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff;
    font: 600 11px/1 "Manrope", sans-serif;
    letter-spacing: .16em;
}
.pw-grill__media-label i { flex: 1; height: 1px; background: rgba(255,255,255,.45); }
.pw-grill__content {
    position: relative;
    z-index: 1;
    padding: clamp(72px, 7vw, 116px) clamp(34px, 4vw, 62px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(90deg, rgba(25,23,20,.085) 0%, rgba(25,23,20,.018) 14%, rgba(25,23,20,0) 34%),
        radial-gradient(circle at 18% 82%, rgba(185,154,99,.12), transparent 30%),
        radial-gradient(circle at 90% 16%, rgba(69,85,67,.075), transparent 28%),
        linear-gradient(180deg, rgba(250,246,239,.90), rgba(244,238,228,.92));
}
.pw-grill__content::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -86px;
    top: 18%;
    width: 300px;
    height: 440px;
    border-radius: 50%;
    border: 1px solid rgba(185,154,99,.14);
    box-shadow:
        -52px 36px 0 -50px rgba(185,154,99,.18),
        -104px 74px 0 -102px rgba(69,85,67,.14);
    transform: rotate(16deg);
    opacity: .72;
    pointer-events: none;
}
.pw-grill__content::before {
    content: "";
    position: absolute;
    inset: 38px 18px 38px 18px;
    border-radius: 42px;
    background: linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.08));
    border-left: 1px solid rgba(17,17,15,.06);
    pointer-events: none;
    z-index: -1;
}
.pw-grill__title {
    max-width: 11.4ch;
    margin-top: 10px;
}
.pw-grill__title-mark {
    display: inline-block;
    padding: .02em .14em .08em;
    margin-left: .02em;
    border-radius: 8px;
    background: rgba(185,154,99,.82);
    line-height: .92;
}
.pw-grill__title em {
    font-family: "Manrope", sans-serif;
    font-style: normal;
    font-weight: 500;
    color: var(--pw-bamboo);
    letter-spacing: -.045em;
}
.pw-grill__content .pw-copy {
    max-width: 18.5em;
    margin-top: 28px;
    color: rgba(17,17,15,.62);
}
.pw-grill__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 44px;
}
.pw-grill__fact {
    min-height: 170px;
    padding: 22px 20px 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.44));
    border: 1px solid rgba(17,17,15,.08);
    box-shadow: 0 18px 40px rgba(17,17,15,.06);
}
.pw-grill__fact small,
.pw-grill__fact strong,
.pw-grill__fact span { display: block; }
.pw-grill__fact small {
    margin-bottom: 14px;
    font: 700 10px/1 "Manrope", sans-serif;
    letter-spacing: .18em;
    color: rgba(185,154,99,.94);
}
.pw-grill__fact strong {
    font: 600 24px/1.02 "Manrope", sans-serif;
    letter-spacing: -.045em;
    color: var(--pw-ink);
}
.pw-grill__fact span {
    margin-top: 10px;
    color: rgba(17,17,15,.54);
    font-size: 14px;
    line-height: 1.55;
}

/* Place */
.pw-place {
    --pw-place-bg: #dfe3df;
    --pw-place-sage: #5f6d65;
    --pw-place-sage-deep: #48564e;
    --pw-place-champagne: #aea78f;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    /* Deliberately cooler than the Wok section: the first 220px already shift
       into a mineral greige so the chapter change is visible while scrolling. */
    background:
        radial-gradient(circle at 12% 12%, rgba(255,255,255,.52), transparent 25%),
        radial-gradient(circle at 88% 74%, rgba(79,98,87,.16), transparent 30%),
        linear-gradient(180deg,
            rgba(80,99,88,.115) 0%,
            rgba(80,99,88,.060) 11%,
            rgba(80,99,88,.020) 24%,
            rgba(80,99,88,0) 35%),
        linear-gradient(180deg, #d9ded9 0%, #e2e5e1 30%, #e4e6e1 58%, var(--pw-place-bg) 100%);
}
.pw-place::before,
.pw-place::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
/* Cooler, architectural version of the site's flowing light motif. */
.pw-place::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 980' preserveAspectRatio='none'%3E%3Cpath d='M-140 205 C220 15 520 325 845 165 S1375 -10 1735 220' fill='none' stroke='%235f6d65' stroke-opacity='.19' stroke-width='2'/%3E%3Cpath d='M-140 214 C225 25 530 340 855 176 S1385 0 1745 230' fill='none' stroke='%235f6d65' stroke-opacity='.045' stroke-width='18'/%3E%3Cpath d='M-90 690 C270 500 545 760 900 575 S1395 440 1710 655' fill='none' stroke='%23aea78f' stroke-opacity='.12' stroke-width='2'/%3E%3Cpath d='M-80 700 C285 515 560 772 915 587 S1408 450 1720 665' fill='none' stroke='%23aea78f' stroke-opacity='.026' stroke-width='17'/%3E%3Cpath d='M720 25 C905 112 940 300 1160 335 S1480 270 1660 120' fill='none' stroke='%235f6d65' stroke-opacity='.13' stroke-width='1.7'/%3E%3C/svg%3E"),
        radial-gradient(ellipse 34% 24% at 74% 18%, rgba(255,255,255,.58), transparent 72%),
        radial-gradient(ellipse 30% 24% at 24% 84%, rgba(101,114,105,.07), transparent 72%);
    background-size: 100% 100%, auto, auto;
    background-repeat: no-repeat;
    opacity: .95;
}
.pw-place::after {
    inset: auto -11% 8% auto;
    width: clamp(360px, 31vw, 560px);
    height: clamp(360px, 31vw, 560px);
    border-radius: 50%;
    border: 1px solid rgba(101,114,105,.11);
    box-shadow:
        0 0 0 66px rgba(101,114,105,.018),
        0 0 0 132px rgba(183,173,145,.016);
    opacity: .68;
}
.pw-place .pw-shell { position: relative; z-index: 1; }
.pw-place__head {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: clamp(54px, 6vw, 92px);
    align-items: end;
}
.pw-place .pw-overline { color: var(--pw-place-sage-deep); }
.pw-place .pw-display { max-width: 12.5ch; }
.pw-place .pw-display em {
    font-family: inherit;
    font-style: normal;
    font-weight: 400;
    color: var(--pw-place-sage);
    letter-spacing: -.055em;
}
.pw-place__head .pw-copy {
    max-width: 500px;
    color: rgba(17,17,15,.58);
}
.pw-gallery {
    position: relative;
    margin-top: clamp(56px, 6vw, 88px);
    display: grid;
    grid-template-columns: 1.25fr .75fr 1fr;
    grid-template-rows: 340px 280px;
    gap: 20px;
}
.pw-gallery::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -34px;
    right: 12%;
    top: -34px;
    bottom: 10%;
    border-radius: 42px;
    background: linear-gradient(145deg, rgba(255,255,255,.34), rgba(95,109,101,.072));
    border: 1px solid rgba(95,109,101,.09);
    transform: rotate(-1.2deg);
}
.pw-gallery::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: clamp(190px, 16vw, 290px);
    height: clamp(190px, 16vw, 290px);
    left: 42%;
    bottom: -72px;
    border-radius: 50%;
    border: 1px solid rgba(183,173,145,.12);
    box-shadow: 0 0 0 34px rgba(183,173,145,.018);
}
.pw-gallery__item {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(17,17,15,.055);
    box-shadow: 0 18px 46px rgba(42,48,43,.075);
    background: #dfe1dc;
}
.pw-gallery__item::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(17,17,15,.07));
    opacity: .38;
    transition: opacity .6s ease;
}
.pw-gallery__item img {
    height: 100%;
    object-fit: cover;
    filter: saturate(.97) contrast(1.01);
    transition: transform 1.1s var(--pw-ease), filter .6s ease;
}
.pw-gallery__item:hover img { transform: scale(1.028); filter: saturate(1.03) contrast(1.02); }
.pw-gallery__item:hover::after { opacity: .16; }
.pw-gallery__item--a { grid-column: 1 / 3; grid-row: 1; }
.pw-gallery__item--a img { object-position: 50% 36%; }
.pw-gallery__item--b { grid-column: 3; grid-row: 1 / 3; }
.pw-gallery__item--b img { object-position: 50% 48%; }
.pw-gallery__item--c { grid-column: 1; grid-row: 2; }
.pw-gallery__item--c img { object-position: 52% 52%; }
.pw-gallery__statement {
    position: relative;
    overflow: hidden;
    grid-column: 2;
    grid-row: 2;
    background: linear-gradient(150deg, #b2ad9a 0%, #a39e89 100%);
    color: var(--pw-ink);
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.34);
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 18px 44px rgba(52,56,51,.075);
}
.pw-gallery__statement::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -110px;
    bottom: -120px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.20);
    box-shadow: 0 0 0 32px rgba(255,255,255,.035);
}
.pw-gallery__statement span,
.pw-gallery__statement p { position: relative; z-index: 1; }
.pw-gallery__statement span { font: 700 10px/1 "Manrope", sans-serif; letter-spacing: .18em; }
.pw-gallery__statement p { margin: 0; font: 500 var(--pw-fs-statement)/1.02 "Manrope", sans-serif; letter-spacing: -.045em; }

/* Infos */
.pw-infos {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 12% 18%, rgba(214,192,147,.085), transparent 30%),
        radial-gradient(circle at 78% 76%, rgba(121,143,122,.10), transparent 34%),
        linear-gradient(135deg, #26372d 0%, #223229 52%, #1f3027 100%);
}
.pw-infos::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='none'%3E%3Cpath d='M-110 265 C235 55 460 430 805 205 S1320 40 1715 265' fill='none' stroke='%23d6c093' stroke-opacity='.16' stroke-width='1.8'/%3E%3Cpath d='M-90 350 C245 145 485 505 825 295 S1325 125 1690 365' fill='none' stroke='%2397aa98' stroke-opacity='.12' stroke-width='1.4'/%3E%3Cpath d='M915 -85 C1070 95 1115 285 1045 475 S1025 790 1190 965' fill='none' stroke='%23d6c093' stroke-opacity='.075' stroke-width='1.2'/%3E%3C/svg%3E");
    background-size: 112% 100%;
    background-position: center;
    opacity: .9;
}
.pw-infos::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: clamp(420px, 42vw, 760px);
    height: clamp(420px, 42vw, 760px);
    right: clamp(-280px, -14vw, -160px);
    bottom: clamp(-350px, -20vw, -220px);
    border-radius: 50%;
    border: 1px solid rgba(214,192,147,.09);
    box-shadow:
        0 0 0 82px rgba(214,192,147,.022),
        0 0 0 170px rgba(214,192,147,.012);
    pointer-events: none;
}
.pw-infos .pw-shell { position: relative; z-index: 2; }
.pw-infos .row { --bs-gutter-x: clamp(44px, 6vw, 92px); --bs-gutter-y: 56px; align-items: stretch !important; }
.pw-infos .row > .col-lg-6:first-child { display: flex; flex-direction: column; justify-content: center; }
.pw-infos__halo {
    position: absolute;
    z-index: 1;
    width: clamp(390px, 38vw, 680px);
    height: clamp(390px, 38vw, 680px);
    right: clamp(-250px, -12vw, -130px);
    top: clamp(-300px, -17vw, -170px);
    border: 1px solid rgba(214,192,147,.14);
    border-radius: 50%;
    box-shadow: 0 0 0 72px rgba(214,192,147,.02), 0 0 0 148px rgba(214,192,147,.012);
    pointer-events: none;
}
.pw-infos .pw-overline { position: relative; padding-left: 34px; margin-bottom: 24px; }
.pw-infos .pw-overline::before { content: ""; position: absolute; left: 0; top: 50%; width: 20px; height: 2px; background: #c84a45; transform: translateY(-50%); border-radius: 999px; }
.pw-infos .pw-display { max-width: 680px; line-height: .95; }
.pw-infos .pw-display em {
    display: block;
    margin-top: .11em;
    font-family: "Manrope", sans-serif;
    font-style: normal;
    font-weight: 400;
    color: var(--pw-gold-soft);
    letter-spacing: -.055em;
}
.pw-infos__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.pw-infos__actions .pw-text-link {
    min-height: 50px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .35s var(--pw-ease);
}
.pw-infos__actions .pw-text-link::before,
.pw-infos__actions .pw-text-link::after { display: none; }
.pw-infos__actions .pw-text-link:hover { background: rgba(255,255,255,.07); border-color: rgba(214,192,147,.55); color: #fff; transform: translateY(-2px); }
.pw-infos__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 30px;
    background: rgba(10,18,13,.16);
    box-shadow: 0 30px 70px rgba(6,12,8,.16);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.pw-info-card {
    position: relative;
    overflow: hidden;
    min-height: 176px;
    padding: 27px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .45s var(--pw-ease), background .35s ease, border-color .35s ease;
}
.pw-info-card::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -74px;
    bottom: -92px;
    border-radius: 50%;
    border: 1px solid rgba(214,192,147,.10);
    box-shadow: 0 0 0 34px rgba(214,192,147,.012);
    pointer-events: none;
}
.pw-info-card:first-child { background: linear-gradient(145deg, rgba(214,192,147,.075), rgba(255,255,255,.022)); }
.pw-info-card small { color: var(--pw-gold-soft); font: 700 10px/1 "Manrope", sans-serif; text-transform: uppercase; letter-spacing: .16em; }
.pw-info-card strong { position: relative; z-index: 1; max-width: 18ch; font: 500 var(--pw-fs-info)/1.34 "Manrope", sans-serif; letter-spacing: -.025em; }
@media (hover: hover) and (pointer: fine) {
    .pw-info-card:hover { transform: translateY(-4px); background: linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.03)); border-color: rgba(214,192,147,.28); }
}

/* Footer */
.pw-footer { background: var(--pw-paper); padding: 70px 0 32px; }
.pw-footer__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-bottom: 58px; border-bottom: 1px solid var(--pw-line); }
.pw-footer__top > p { margin: 0; color: rgba(17,17,15,.52); font-size: 13px; text-align: center; }
.pw-footer__top .pw-btn { justify-self: end; }
.pw-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 28px; color: rgba(17,17,15,.54); font-size: 12px; }
.pw-footer__bottom a:hover { color: var(--pw-ink); }
.pw-footer__toplink { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }

/* Reveal */
.pw-reveal { opacity: 0; transform: translateY(26px); transition: opacity .85s var(--pw-ease), transform .85s var(--pw-ease); }
.pw-reveal.is-visible { opacity: 1; transform: none; }
.pw-hero .pw-reveal:nth-child(2) { transition-delay: .06s; }
.pw-hero .pw-reveal:nth-child(3) { transition-delay: .12s; }

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .pw-intro .pw-display { max-width: none; }
    .pw-intro .pw-copy--large { max-width: 40ch; }
}

@media (min-width: 1200px) {
    /* Wok desktop composition: keep the large right-hand base panel inside its
       own grid column. Only the smaller editorial sheet + its content crosses
       onto the photo. This preserves the layered look without stacking two
       full panels over the wok image. */
    .pw-grill__inner {
        --pw-grill-overlap: clamp(104px, 7vw, 132px);
        grid-template-columns: 1.24fr .76fr;
        /* Keep the editorial overlap internal to the shared shell, but clip the
           section to its outer radius so the desktop composition retains the
           same rounded language as the narrow layout. */
        overflow: clip;
    }
    .pw-grill__media {
        z-index: 1;
        border-radius: inherit 0 0 inherit;
        overflow: hidden;
    }
    /* On desktop the foreground editorial sheet overlaps the photo. Keep the
       bottom WOK / À LA MINUTE rule fully inside the still-visible media area
       instead of letting its right label disappear under that sheet. */
    .pw-grill__media-label {
        right: calc(var(--pw-grill-overlap) + clamp(26px, 2.4vw, 42px));
    }
    .pw-grill__content {
        z-index: 2;
        width: auto;
        margin-left: 0;
        padding-left: clamp(34px, 3vw, 48px);
        padding-right: clamp(34px, 3vw, 48px);
        border-radius: 0 inherit inherit 0;
        box-shadow: none;
        overflow: visible;
    }
    /* The smaller foreground sheet is the only surface that overlaps the image. */
    .pw-grill__content::before {
        left: calc(-1 * var(--pw-grill-overlap));
        right: 18px;
        top: 34px;
        bottom: 34px;
        border-radius: clamp(34px, 2.5vw, 44px);
        background: linear-gradient(180deg, rgba(255,255,255,.43), rgba(255,255,255,.15));
        border: 1px solid rgba(17,17,15,.055);
        box-shadow: -18px 16px 48px rgba(17,17,15,.065);
        backdrop-filter: blur(7px);
    }
    /* Let the actual editorial content follow that foreground sheet into the
       photograph, so the text/cards gain width without enlarging the base panel. */
    .pw-grill__content > * {
        position: relative;
        z-index: 1;
        width: calc(100% + var(--pw-grill-overlap) - 28px);
        margin-left: calc(-1 * var(--pw-grill-overlap) + 14px);
    }
    .pw-grill__content > .pw-overline {
        margin-top: 0;
    }
    .pw-grill__title {
        max-width: 13.8ch;
    }
    .pw-grill__content .pw-copy {
        max-width: 31em;
    }
    .pw-grill__facts {
        gap: 16px;
    }
    .pw-grill__fact {
        min-height: 150px;
        padding: 20px 20px 18px;
    }
    .pw-grill__fact strong {
        font-size: 22px;
    }

    .pw-intro { padding-top: 118px; padding-bottom: 118px; }
    .pw-intro__image--main img { object-position: 50% 48%; }
    .pw-intro__image--secondary img { object-position: 50% 46%; }

    :root {
        --pw-shell: 30px;
        --pw-content-max: 1140px;

        /* 1200–1399: lock the type scale to the 1140px content shell. */
        --pw-fs-hero: 88px;
        --pw-fs-hero-secondary: 64px;
        --pw-fs-display: 66px;
        --pw-fs-copy-lg: 20px;
        --pw-fs-quote: 36px;
        --pw-fs-taste: 34px;
        --pw-fs-statement: 33px;
        --pw-fs-info: 21px;
    }
}

@media (min-width: 1400px) {
    .pw-tastes { margin-top: 58px; }
    .pw-intro__grid {
        grid-template-columns: 1.17fr .67fr .86fr;
        grid-template-rows: minmax(0, 525px);
        margin-top: 52px;
    }
    .pw-intro__quote p { font-size: 42px; }
    .pw-intro__caption strong { font-size: 19px; }

    :root {
        --pw-shell: 40px;
        --pw-content-max: 1320px;

        /* >=1400: final desktop scale. It no longer grows on 1920/2560px screens. */
        --pw-fs-hero: 96px;
        --pw-fs-hero-secondary: 70px;
        --pw-fs-display: 72px;
        --pw-fs-copy-lg: 20px;
        --pw-fs-quote: 38px;
        --pw-fs-taste: 36px;
        --pw-fs-statement: 35px;
        --pw-fs-info: 22px;
    }
}

@media (max-width: 1199.98px) {
    .pw-buffet::before { left: -160px; top: 138px; width: 420px; height: 420px; opacity: .56; }
    .pw-buffet::after { right: 18px; top: 110px; width: 280px; height: 220px; opacity: .18; }
    .pw-tastes::before { left: -42px; bottom: 18px; width: 280px; height: 220px; }
    .pw-tastes::after { right: -88px; top: 70px; width: 340px; height: 340px; box-shadow: 0 0 0 62px rgba(214,192,147,.024), 0 0 0 124px rgba(214,192,147,.014); }
    :root { --pw-header-h: 76px; }
    .pw-section-head, .pw-place__head { grid-template-columns: 1fr 1fr; }
    .pw-tastes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pw-grill { padding: 48px 0; }
    .pw-grill__inner::before {
        width: 520px;
        height: 220px;
        right: -210px;
        top: 44%;
        opacity: .48;
    }
    .pw-grill__inner::after {
        width: 600px;
        height: 250px;
        right: -270px;
        bottom: 8%;
        opacity: .34;
    }
    .pw-grill__inner { grid-template-columns: 1fr; min-height: 0; }
    .pw-grill::after { opacity: .46; right: -170px; top: 150px; }
    .pw-grill__media { min-height: clamp(500px, 60vw, 650px); }
    .pw-grill__media img { object-position: 52% 55%; }
    .pw-grill__content { padding-top: 78px; padding-bottom: 84px; }
    .pw-grill__content::before { inset: 24px; border-radius: 36px; border: 1px solid rgba(17,17,15,.055); }
    .pw-grill__content::after { right: -120px; top: 12%; opacity: .55; }
    .pw-grill__title { max-width: 12ch; }
    .pw-grill__content .pw-copy { max-width: 34em; }
}

/* 992–1199px: purpose-built three-column editorial grid.
   Fill every row explicitly so no empty cell breaks the horizontal rules. */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .pw-taste--wide { grid-column: auto; }
    .pw-taste:nth-child(1) { grid-column: 1 / 3; }
    .pw-taste:nth-child(2) { grid-column: 3 / 4; }
    .pw-taste:nth-child(3) { grid-column: 1 / 2; }
    .pw-taste:nth-child(4) { grid-column: 2 / 4; }
    .pw-taste:nth-child(5) { grid-column: 1 / 3; }
    .pw-taste:nth-child(6) { grid-column: 3 / 4; }
    .pw-taste:nth-child(4) .pw-taste__art { width: 60%; right: 2%; bottom: 2%; }
    .pw-taste { min-height: 300px; }
}

@media (max-width: 991.98px) {
    .pw-buffet::before { left: -120px; top: 170px; width: 340px; height: 340px; opacity: .44; }
    .pw-buffet::after { right: -8px; top: 132px; width: 220px; height: 180px; opacity: .14; }
    .pw-tastes::before { left: -24px; bottom: 10px; width: 220px; height: 180px; opacity: .8; }
    .pw-tastes::after { right: -76px; top: 88px; width: 260px; height: 260px; box-shadow: 0 0 0 48px rgba(214,192,147,.022), 0 0 0 96px rgba(214,192,147,.012); opacity: .42; }
    :root { --pw-shell: 28px; --pw-radius: 22px; }
    .pw-intro::after {
        width: 760px;
        height: 350px;
        left: -360px;
        bottom: 9%;
        opacity: .8;
    }
    .pw-intro .pw-shell::before {
        width: 290px;
        height: 190px;
        top: 312px;
        right: -35px;
        opacity: .70;
    }
    .pw-intro .pw-shell::after {
        width: 460px;
        height: 460px;
        right: -260px;
        bottom: -205px;
        box-shadow: 0 0 0 52px rgba(69,85,67,.034), 0 0 0 104px rgba(185,154,99,.026);
    }
    .pw-intro__grid::before {
        left: 42%;
        right: 0;
        top: -24px;
        bottom: -24px;
        border-radius: 54px;
    }
    .pw-intro__grid::after {
        width: 160px;
        height: 160px;
        left: -58px;
        bottom: -62px;
        opacity: .85;
    }
    /* Tablet / narrow desktop Hero: three fixed vertical zones keep the
       complete first screen visible instead of letting text push hours below it. */
    .pw-hero { height: 100svh; min-height: 0; }
    .pw-hero__content {
        height: 100%;
        min-height: 0;
        padding-top: calc(var(--pw-header-h) + clamp(24px, 3.4svh, 38px));
        padding-bottom: clamp(20px, 2.8svh, 30px);
        display: grid;
        /* Keep the eyebrow attached to the main copy on narrow screens. The
           equal flexible tracks above and below center the whole information
           cluster, while the hours remain anchored at the bottom. */
        grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr) auto;
        gap: 0;
    }
    .pw-hero__eyebrow {
        grid-row: 2;
        align-self: end;
        padding-top: 0;
        margin-bottom: clamp(12px, 1.8svh, 18px);
    }
    .pw-hero__copy {
        grid-row: 3;
        align-self: start;
        max-width: min(760px, 100%);
        margin: 0;
        padding-top: 0;
    }
    .pw-hero__meta { grid-row: 5; }
    .pw-hero__kicker { margin-bottom: 12px; }
    .pw-hero__title span { font-size: clamp(50px, 8.6vw, 72px); }
    .pw-hero__title em { margin-top: .10em; font-size: clamp(40px, 6.8vw, 56px); }
    .pw-hero__veil { background: linear-gradient(90deg, rgba(12,13,11,.72) 0%, rgba(12,13,11,.48) 66%, rgba(12,13,11,.24) 100%), linear-gradient(180deg, rgba(8,9,8,.22) 0%, rgba(8,9,8,.05) 42%, rgba(8,9,8,.76) 100%); }
    .pw-hero__lead { max-width: 590px; margin-top: 18px; font-size: 16px; line-height: 1.45; }
    .pw-hero__actions { margin-top: 22px; gap: 20px; }
    .pw-hero__meta {
        align-self: stretch;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        padding: 14px 0 0;
        border-top: 1px solid rgba(255,255,255,.20);
    }
    .pw-hero__meta div { padding-left: 16px; }
    .pw-hero__meta div:first-child { padding-left: 0; border-left: 0; }
    .pw-hero__meta small { font-size: 10px; margin-bottom: 4px; }
    .pw-hero__meta strong { font-size: 12.5px; white-space: nowrap; }
    .pw-intro .pw-display { max-width: none; }
    .pw-intro .pw-copy--large { max-width: none; width: 100%; margin-left: 0; }
    .pw-intro__grid { grid-template-columns: 1.06fr .68fr; grid-template-rows: 350px 245px; gap: 18px; }
    .pw-intro__image--main { grid-column: 1; grid-row: 1; }
    .pw-intro__quote { grid-column: 2; grid-row: 1; }
    .pw-intro__image--secondary { grid-column: 1 / 3; grid-row: 2; }
    .pw-intro__caption { left: 18px; right: 18px; bottom: 16px; }
    .pw-intro__caption::before { left: -18px; right: -18px; bottom: -16px; }
    .pw-intro__quote-overline { font-size: 8.5px; }
    .pw-section-head, .pw-place__head { grid-template-columns: 1fr; }
    .pw-section-head { gap: 28px; }
    .pw-place__head { gap: 26px; }
    .pw-section-head .pw-copy, .pw-place__head .pw-copy { max-width: 680px; }
    .pw-buffet .pw-display { max-width: none; }
    .pw-tastes { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 46px; }
    .pw-taste--wide { grid-column: span 1; }
    .pw-taste--wide .pw-taste__art { width: 76%; right: 1.5%; bottom: 1.5%; }
    .pw-grill__media { min-height: clamp(470px, 62vw, 590px); }
    .pw-grill__content { padding-top: 68px; padding-bottom: 72px; }
    .pw-grill__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pw-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 250px 260px; margin-top: 52px; }
    .pw-gallery__item--a { grid-column: 1 / 3; grid-row: 1; }
    .pw-gallery__item--b { grid-column: 1; grid-row: 2 / 4; }
    .pw-gallery__item--c { grid-column: 2; grid-row: 2; }
    .pw-gallery__statement { grid-column: 2; grid-row: 3; }
    .pw-footer__top { grid-template-columns: 1fr auto; }
    .pw-footer__top > p { grid-column: 1 / 3; grid-row: 2; text-align: left; }
}

@media (max-width: 991.98px) {
    .pw-infos .row { --bs-gutter-y: 48px; }
    .pw-infos .pw-display { max-width: 760px; }
    .pw-infos__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
    .pw-infos__halo { right: -260px; top: -220px; opacity: .72; }
}

@media (max-width: 767.98px) {
    .pw-buffet::before { left: -104px; top: 150px; width: 280px; height: 280px; border-radius: 28px; opacity: .34; }
    .pw-buffet::after { right: -18px; top: 132px; width: 180px; height: 150px; opacity: .10; }
    .pw-tastes::before { left: -12px; bottom: 8px; width: 170px; height: 140px; border-radius: 24px; opacity: .72; }
    .pw-tastes::after { right: -64px; top: 102px; width: 210px; height: 210px; box-shadow: 0 0 0 38px rgba(214,192,147,.02), 0 0 0 76px rgba(214,192,147,.01); opacity: .34; }
    :root { --pw-shell: 20px; }
    .pw-intro::before {
        background:
            radial-gradient(ellipse 76% 30% at 10% 72%, rgba(185,154,99,.14) 0%, transparent 72%),
            radial-gradient(ellipse 72% 28% at 95% 24%, rgba(69,85,67,.10) 0%, transparent 74%);
    }
    .pw-intro::after { width: 610px; height: 280px; left: -390px; bottom: 14%; opacity: .55; }
    .pw-intro .pw-shell::before { width: 220px; height: 150px; top: 410px; right: -90px; opacity: .34; }
    .pw-intro .pw-shell::after { width: 340px; height: 340px; right: -245px; bottom: -145px; opacity: .72; }
    .pw-intro__grid::before { left: 18%; right: 0; top: 20%; bottom: -20px; border-radius: 44px; opacity: .58; }
    .pw-intro__grid::after { width: 120px; height: 120px; left: -44px; bottom: -44px; opacity: .65; }
    .pw-intro::before {
        background:
            radial-gradient(ellipse 72% 26% at 14% 72%, rgba(185,154,99,.085) 0%, transparent 72%),
            radial-gradient(ellipse 62% 24% at 92% 22%, rgba(69,85,67,.065) 0%, transparent 72%);
    }
    .pw-intro .pw-shell::before {
        width: 190px;
        height: 130px;
        top: 365px;
        right: -52px;
        background-size: 16px 16px;
        opacity: .42;
    }
    .pw-intro .pw-shell::after {
        width: 320px;
        height: 320px;
        right: -220px;
        bottom: -110px;
        box-shadow: 0 0 0 36px rgba(69,85,67,.02), 0 0 0 72px rgba(185,154,99,.014);
    }
    .pw-header__inner { gap: 12px; }
    .pw-header__actions { gap: 11px; }
    .pw-lang { gap: 4px; }
    .pw-brand__wordmark strong { font-size: 16px; }
    .pw-brand__wordmark span { font-size: 9px; }
    .pw-header .pw-brand__logo { width: 38px; height: 38px; }
    .pw-hero__content {
        padding-top: calc(var(--pw-header-h) + clamp(16px, 2.8svh, 26px));
        padding-bottom: clamp(14px, 2.2svh, 22px);
        gap: clamp(12px, 2svh, 20px);
    }
    .pw-hero__eyebrow { margin-top: 0; margin-bottom: 11px; font-size: 9.5px; letter-spacing: .105em; }
    .pw-hero__kicker { margin-bottom: 10px; font-size: 11.5px; }
    .pw-hero__copy { margin: 0; }
    .pw-hero__title span { font-size: clamp(42px, 11.4vw, 58px); }
    .pw-hero__title em { font-size: clamp(34px, 9.1vw, 47px); }
    .pw-hero__lead { margin-top: 14px; max-width: 540px; font-size: 14.5px; line-height: 1.45; }
    .pw-hero__actions { align-items: center; flex-direction: row; flex-wrap: wrap; gap: 14px 18px; margin-top: 18px; }
    .pw-hero__actions .pw-btn { min-height: 46px; }
    .pw-hero__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding-top: 12px; }
    .pw-hero__meta div { padding-left: 12px; }
    .pw-hero__meta div:first-child { grid-column: auto; padding-left: 0; }
    .pw-hero__meta small { font-size: 9px; letter-spacing: .08em; }
    .pw-hero__meta strong { font-size: 11.5px; }
    .pw-hero__scroll { display: none; }
    .pw-chandelier--hero { width: 160%; right: -45%; top: 15%; opacity: .75; }
    .pw-display { font-size: clamp(42px, 12vw, 62px); }
    /* Intro: avoid the 768px breakpoint jump. Desktop/tablet uses the global
       display scale (~46px around 768px), so keep this title on a continuous
       42–46px mobile scale instead of jumping to 62px. */
    .pw-intro .pw-display {
        max-width: none;
        font-size: clamp(42px, 6vw, 46px);
    }
    .pw-intro .pw-copy--large { max-width: none; }
    .pw-intro__grid { display: grid; grid-template-columns: 1fr; grid-template-rows: 320px auto 320px; gap: 16px; margin-top: 44px; }
    .pw-intro__image--main, .pw-intro__quote, .pw-intro__image--secondary { grid-column: 1; }
    .pw-intro__image--main { grid-row: 1; }
    .pw-intro__quote { grid-row: 2; min-height: 230px; padding: 26px; }
    .pw-intro__image--secondary { grid-row: 3; }
    .pw-intro__quote .pw-brand__logo--large { width: 68px; height: 68px; }
    .pw-intro__quote p { max-width: none; font-size: clamp(32px, 10vw, 42px); }
    .pw-intro__quote > small { font-size: 13px; }
    .pw-intro__caption { left: 16px; right: 16px; bottom: 14px; }
    .pw-intro__caption::before { left: -16px; right: -16px; bottom: -14px; height: 125px; }
    .pw-intro__caption strong { font-size: 17px; }
    .pw-intro__quote::after { width: 240px; height: 240px; right: -120px; bottom: -120px; }
    .pw-section-head { gap: 24px; }
    .pw-tastes { grid-template-columns: 1fr; margin-top: 40px; }
    .pw-taste { min-height: 270px; }
    .pw-taste__art,
    .pw-taste--wide .pw-taste__art {
        width: min(70%, 430px);
        max-height: 78%;
        right: 1%;
        bottom: -1%;
        opacity: .52;
        filter: brightness(.91) saturate(.98) contrast(1.03);
        transform: none;
        transition: none;
    }
    .pw-taste__shade { opacity: .88; transition: none; }
    .pw-taste::before { transform: scaleX(.24); opacity: .55; transition: none; }
    .pw-grill__media { min-height: clamp(390px, 96vw, 520px); }
    .pw-grill__media img { object-position: 51% 54%; transform: scale(1.01); }
    .pw-grill__media-badge { top: 22px; left: 20px; padding: 11px 14px 13px; border-radius: 16px; }
    .pw-grill__media-badge strong { font-size: 17px; }
    .pw-grill__media-label { left: 20px; right: 20px; bottom: 24px; }
    .pw-grill { padding: 34px 0; }
    .pw-grill::before { opacity: .72; background-size: 190% 100%, auto, auto; background-position: 48% 0, center, center; }
    .pw-grill::after { right: -170px; top: 210px; width: 320px; height: 320px; opacity: .34; box-shadow: 0 0 0 46px rgba(185,154,99,.02), 0 0 0 92px rgba(69,85,67,.014); }
    .pw-grill__inner::before {
        width: 360px;
        height: 155px;
        right: -160px;
        top: 48%;
        opacity: .34;
    }
    .pw-grill__inner::after {
        width: 420px;
        height: 180px;
        right: -190px;
        bottom: 5%;
        opacity: .24;
    }
    .pw-grill__inner { border-radius: 20px; }
    .pw-grill__content { padding: 58px 24px 64px; }
    .pw-grill__content::before { inset: 16px 12px; border-radius: 28px; }
    .pw-grill__content::after { right: -154px; top: 16%; opacity: .42; }
    .pw-grill__title { max-width: none; }
    .pw-grill__content .pw-copy { max-width: none; margin-top: 22px; }
    .pw-grill__facts { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }
    .pw-grill__fact { min-height: 0; padding: 20px; }
    .pw-grill__fact strong { font-size: 21px; }
    .pw-place::after { right: -180px; bottom: 11%; width: 340px; height: 340px; opacity: .48; }
    .pw-place::before { opacity: .72; background-size: 165% 100%, auto, auto; background-position: 48% 0, center, center; }
    .pw-place .pw-display { max-width: none; font-size: clamp(42px, 10.8vw, 58px); }
    .pw-gallery { display: grid; grid-template-columns: 1fr; grid-template-rows: 260px 390px 260px auto; margin-top: 44px; gap: 16px; }
    .pw-gallery::before { left: -12px; right: 8%; top: -20px; bottom: 7%; border-radius: 30px; opacity: .72; }
    .pw-gallery::after { width: 170px; height: 170px; left: auto; right: -82px; bottom: 112px; }
    .pw-gallery__item--a, .pw-gallery__item--b, .pw-gallery__item--c, .pw-gallery__statement { grid-column: 1; }
    .pw-gallery__item--a { grid-row: 1; }
    .pw-gallery__item--b { grid-row: 2; }
    .pw-gallery__item--c { grid-row: 3; }
    .pw-gallery__statement { grid-row: 4; min-height: 210px; border-radius: 20px; padding: 26px; }
    .pw-gallery__item { border-radius: 20px; }
    .pw-infos::before { background-size: 190% 100%; background-position: 44% center; opacity: .68; }
    .pw-infos::after { right: -180px; bottom: -180px; width: 360px; height: 360px; box-shadow: 0 0 0 54px rgba(214,192,147,.018), 0 0 0 108px rgba(214,192,147,.01); }
    .pw-infos__halo { width: 340px; height: 340px; right: -210px; top: -150px; opacity: .56; }
    .pw-infos .pw-overline { padding-left: 30px; }
    .pw-infos .pw-display { max-width: none; }
    .pw-infos__actions { margin-top: 32px; gap: 10px; }
    .pw-infos__actions .pw-btn, .pw-infos__actions .pw-text-link { width: 100%; justify-content: center; }
    .pw-infos__grid { grid-template-columns: 1fr; gap: 8px; padding: 8px; border-radius: 24px; }
    .pw-info-card { min-height: 132px; padding: 22px; border-radius: 17px; }
    .pw-info-card strong { max-width: none; }
    .pw-footer__top { grid-template-columns: 1fr; align-items: start; }
    .pw-footer__top .pw-btn { justify-self: start; }
    .pw-footer__top > p { grid-column: 1; grid-row: auto; text-align: left; }
    .pw-footer__bottom { align-items: flex-start; flex-direction: column; }
    .pw-footer__toplink { margin-left: 0; }
}



@media (max-width: 575.98px) {
    .pw-hero__title span { font-size: clamp(40px, 12vw, 52px); }
    .pw-hero__title em { font-size: clamp(32px, 9.4vw, 42px); }
    html[data-pw-lang="de"] .pw-hero__title span { font-size: clamp(38px, 11vw, 48px); }
    html[data-pw-lang="de"] .pw-hero__title em { font-size: clamp(30px, 8.6vw, 39px); }
    .pw-hero__actions { align-items: flex-start; flex-direction: column; gap: 7px; }
    .pw-hero__actions .pw-text-link { padding-block: 8px; }
    .pw-hero__meta div { padding-left: 9px; }
    .pw-hero__meta strong { font-size: 11px; }
}

@media (max-width: 991.98px) and (max-height: 640px) {
    .pw-hero__content { padding-top: calc(var(--pw-header-h) + 8px); padding-bottom: 10px; gap: 8px; }
    .pw-hero__eyebrow { display: none; }
    .pw-hero__kicker { margin-bottom: 7px; }
    .pw-hero__title span { font-size: clamp(38px, 8vw, 54px); }
    .pw-hero__title em { font-size: clamp(30px, 6.3vw, 42px); }
    .pw-hero__lead { display: none; }
    .pw-hero__actions { margin-top: 12px; }
    .pw-hero__actions .pw-text-link { display: none; }
    .pw-hero__meta { padding-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    .pw-reveal { opacity: 1; transform: none; }
}

/* Footer — final editorial polish */
.pw-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 18%, rgba(214,192,147,.10), transparent 24%),
        radial-gradient(circle at 88% 72%, rgba(69,85,67,.08), transparent 28%),
        linear-gradient(180deg, #f7f4ed 0%, #f0f1ec 100%);
    padding: 66px 0 30px;
    border-top: 1px solid rgba(41,53,44,.10);
}
.pw-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 520' preserveAspectRatio='none'%3E%3Cpath d='M-120 205 C180 70 390 310 685 185 S1160 70 1730 240' fill='none' stroke='%23455543' stroke-opacity='.13' stroke-width='1.4'/%3E%3Cpath d='M-180 250 C150 105 390 360 715 225 S1195 110 1740 275' fill='none' stroke='%23b99a63' stroke-opacity='.12' stroke-width='1.1'/%3E%3C/svg%3E") center / 112% 100% no-repeat;
    opacity: .72;
}
.pw-footer::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 360px;
    height: 360px;
    right: -160px;
    top: -190px;
    border-radius: 50%;
    border: 1px solid rgba(69,85,67,.09);
    box-shadow:
        0 0 0 54px rgba(69,85,67,.025),
        0 0 0 108px rgba(185,154,99,.016);
    pointer-events: none;
}
.pw-footer > .pw-shell {
    position: relative;
    z-index: 1;
}
.pw-footer__top {
    grid-template-columns: 1fr auto 1fr;
    gap: clamp(28px, 4vw, 64px);
    padding-bottom: 46px;
    border-bottom-color: rgba(41,53,44,.14);
}
.pw-footer .pw-brand--footer {
    width: max-content;
    align-self: center;
}
.pw-footer .pw-brand--footer .pw-brand__logo {
    width: 56px;
    height: 56px;
}
.pw-footer .pw-brand--footer .pw-brand__wordmark strong {
    font-size: 20px;
    letter-spacing: .14em;
}
.pw-footer .pw-brand--footer .pw-brand__wordmark span {
    color: rgba(41,53,44,.62);
}
.pw-footer__top > p {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: rgba(41,53,44,.58);
    font: 600 10px/1.3 "Manrope", sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}
.pw-footer__top > p::before,
.pw-footer__top > p::after {
    content: "";
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(185,154,99,.72));
}
.pw-footer__top > p::after {
    transform: scaleX(-1);
}
.pw-footer__top .pw-btn {
    min-width: 126px;
    background: var(--pw-bamboo-deep);
    border-color: var(--pw-bamboo-deep);
    --pw-btn-fill: var(--pw-gold-soft);
    --pw-btn-hover-text: var(--pw-ink);
}
.pw-footer__bottom {
    gap: 14px 30px;
    padding-top: 24px;
    color: rgba(41,53,44,.56);
    font-size: 11px;
}
.pw-footer__bottom > span:first-child {
    color: rgba(41,53,44,.44);
}
.pw-footer__bottom a {
    position: relative;
    transition: color .25s ease;
}
.pw-footer__bottom a:not(.pw-footer__toplink)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -4px;
    height: 1px;
    background: var(--pw-gold);
    transition: right .3s var(--pw-ease);
}
.pw-footer__bottom a:not(.pw-footer__toplink):hover::after { right: 0; }
.pw-footer__toplink {
    min-height: 34px;
    padding: 0 12px 0 14px;
    border: 1px solid rgba(41,53,44,.16);
    border-radius: 999px;
    color: rgba(41,53,44,.62);
    transition: color .25s ease, border-color .25s ease, background .25s ease, transform .3s var(--pw-ease);
}
.pw-footer__toplink i { transition: transform .3s var(--pw-ease); }
.pw-footer__toplink:hover {
    color: var(--pw-ink);
    border-color: rgba(41,53,44,.28);
    background: rgba(255,255,255,.46);
    transform: translateY(-2px);
}
.pw-footer__toplink:hover i { transform: translateY(-3px); }

@media (max-width: 991.98px) {
    .pw-footer { padding-top: 58px; }
    .pw-footer::before { background-size: 145% 100%; background-position: 48% center; opacity: .58; }
    .pw-footer::after { width: 300px; height: 300px; right: -170px; top: -150px; }
    .pw-footer__top { grid-template-columns: 1fr auto; gap: 28px 36px; padding-bottom: 40px; }
    .pw-footer__top > p {
        grid-column: 1 / 3;
        grid-row: 2;
        justify-self: start;
        text-align: left;
        white-space: normal;
    }
    .pw-footer__top > p::before { display: none; }
    .pw-footer__top > p::after { width: 34px; }
}

@media (max-width: 767.98px) {
    .pw-footer {
        padding-top: 48px;
        padding-bottom: 26px;
    }
    .pw-footer::before { background-size: 190% 100%; background-position: 44% center; opacity: .48; }
    .pw-footer::after { width: 240px; height: 240px; right: -150px; top: -130px; opacity: .74; }
    .pw-footer__top {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 26px;
        padding-bottom: 34px;
    }
    .pw-footer__top .pw-btn { justify-self: start; }
    .pw-footer__top > p {
        grid-column: 1;
        grid-row: auto;
        max-width: 340px;
        gap: 10px;
    }
    .pw-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
        padding-top: 22px;
    }
    .pw-footer__toplink {
        margin-left: 0;
        margin-top: 4px;
    }
}


/* Tarifs — deep interlude between the warm Wok and mineral Le lieu sections */
.pw-tarifs {
    isolation: isolate;
    overflow: hidden;
    color: var(--pw-ivory);
    background:
        radial-gradient(circle at 12% 22%, rgba(185,154,99,.13), transparent 30%),
        radial-gradient(circle at 88% 76%, rgba(69,85,67,.24), transparent 34%),
        linear-gradient(135deg, #151816 0%, #1b211d 52%, #141715 100%);
}
.pw-tarifs::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900' preserveAspectRatio='none'%3E%3Cpath d='M-120 215 C190 40 415 335 735 170 S1250 35 1720 230' fill='none' stroke='%23d6c093' stroke-opacity='.14' stroke-width='1.5'/%3E%3Cpath d='M-180 285 C155 115 420 410 760 245 S1260 110 1740 300' fill='none' stroke='%23455543' stroke-opacity='.28' stroke-width='1.3'/%3E%3Cpath d='M-70 660 C245 500 530 780 840 610 S1320 480 1710 690' fill='none' stroke='%23d6c093' stroke-opacity='.08' stroke-width='1.1'/%3E%3C/svg%3E") center / 110% 100% no-repeat;
    opacity: .9;
}
.pw-tarifs::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 420px;
    height: 420px;
    right: -150px;
    top: -150px;
    border-radius: 50%;
    border: 1px solid rgba(214,192,147,.1);
    box-shadow: 0 0 0 72px rgba(214,192,147,.025), 0 0 0 144px rgba(69,85,67,.035);
    pointer-events: none;
}
.pw-tarifs > .pw-shell { position: relative; z-index: 2; }
.pw-tarifs__orb { position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; filter: blur(2px); }
.pw-tarifs__orb--one { width: 440px; height: 440px; left: -270px; bottom: -230px; border: 1px solid rgba(214,192,147,.07); box-shadow: 0 0 0 70px rgba(214,192,147,.018), 0 0 0 138px rgba(214,192,147,.01); }
.pw-tarifs__orb--two { width: 300px; height: 300px; right: 18%; top: 22%; border: 1px solid rgba(69,85,67,.19); opacity: .7; }
.pw-tarifs__head {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .72fr);
    gap: clamp(56px, 8vw, 126px);
    align-items: end;
    margin-bottom: clamp(44px, 5vw, 68px);
}
.pw-tarifs .pw-overline { margin-bottom: 22px; }
.pw-tarifs__title { max-width: 10.5ch; line-height: .95; }
.pw-tarifs__title-accent { display: inline-block; color: var(--pw-gold-soft); font-weight: 400; }
.pw-tarifs__head .pw-copy { max-width: 34em; justify-self: end; color: rgba(255,255,255,.58); }
.pw-tarifs__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid rgba(255,255,255,.13); border-radius: 26px; overflow: clip; background: rgba(255,255,255,.015); backdrop-filter: blur(3px); }
.pw-price-card {
    position: relative;
    min-width: 0;
    min-height: 390px;
    padding: clamp(26px, 2.4vw, 36px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
    transition: transform .4s var(--pw-ease), background .35s ease, border-color .35s ease;
}
.pw-price-card:last-child { border-right: 0; }
.pw-price-card::after {
    content: "";
    position: absolute;
    right: -74px;
    bottom: -74px;
    width: 168px;
    height: 168px;
    border-radius: 50%;
    border: 1px solid rgba(214,192,147,.08);
    pointer-events: none;
}
.pw-price-card--weekend { background: linear-gradient(150deg, rgba(185,154,99,.075), rgba(255,255,255,.012) 62%); }
.pw-price-card__head { display: flex; align-items: flex-start; gap: 18px; }
.pw-price-card__head small { color: rgba(255,255,255,.3); font: 600 10px/1 "Manrope", sans-serif; letter-spacing: .16em; padding-top: 4px; }
.pw-price-card__head div { min-width: 0; }
.pw-price-card__head span,
.pw-price-card__head strong { display: block; }
.pw-price-card__head span { color: var(--pw-gold-soft); font: 700 10px/1.2 "Manrope", sans-serif; letter-spacing: .16em; }
.pw-price-card__head strong { margin-top: 8px; color: rgba(255,255,255,.74); font: 500 15px/1.25 "Manrope", sans-serif; letter-spacing: .02em; }
.pw-price-card__rows { display: grid; gap: 0; margin-top: 46px; }
.pw-price-row { min-height: 64px; padding: 14px 0 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.pw-price-row span { max-width: 17ch; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.35; }
.pw-price-row strong { flex: 0 0 auto; color: rgba(255,255,255,.78); font: 500 18px/1 "Manrope", sans-serif; letter-spacing: -.035em; }
.pw-price-row--main { min-height: 86px; border-top-color: rgba(214,192,147,.3); }
.pw-price-row--main span { color: rgba(255,255,255,.68); }
.pw-price-row--main strong { color: #fff; font-size: clamp(28px, 2.1vw, 34px); }
.pw-tarifs__free {
    min-height: 74px;
    margin-top: 18px;
    padding: 0 clamp(22px, 3vw, 38px);
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background: linear-gradient(90deg, rgba(255,255,255,.025), rgba(185,154,99,.06));
    color: rgba(255,255,255,.62);
    font-size: 14px;
}
.pw-tarifs__free-mark { width: 22px; height: 2px; border-radius: 999px; background: #c84a45; flex: 0 0 auto; }
.pw-tarifs__free strong { margin-left: auto; color: var(--pw-gold-soft); font: 700 14px/1 "Manrope", sans-serif; letter-spacing: .14em; }
@media (hover: hover) and (pointer: fine) {
    .pw-price-card:hover { transform: translateY(-5px); background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(214,192,147,.02)); border-color: rgba(214,192,147,.26); }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .pw-nav { gap: 18px; }
    .pw-nav a { font-size: 12px; letter-spacing: .045em; }
    .pw-header__actions { gap: 14px; }
    .pw-tarifs__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .pw-price-card { padding: 26px 22px; min-height: 378px; }
    .pw-price-row { gap: 10px; }
    .pw-price-row span { font-size: 11px; }
    .pw-price-row strong { font-size: 17px; }
    .pw-price-row--main strong { font-size: 29px; }
}

@media (max-width: 1199.98px) {
    .pw-tarifs__head { grid-template-columns: 1fr 1fr; gap: 46px; }
    .pw-tarifs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pw-price-card { min-height: 350px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
    .pw-price-card:nth-child(2n) { border-right: 0; }
    .pw-price-card:nth-last-child(-n + 2) { border-bottom: 0; }
}

@media (max-width: 991.98px) {
    .pw-tarifs__head { grid-template-columns: 1fr; gap: 24px; }
    .pw-tarifs__head .pw-copy { max-width: 680px; justify-self: start; }
    .pw-tarifs__title { max-width: none; }
}

@media (max-width: 767.98px) {
    .pw-tarifs { padding-top: 82px; padding-bottom: 82px; }
    .pw-tarifs::before { background-size: 190% 100%; background-position: 44% center; opacity: .7; }
    .pw-tarifs::after { width: 290px; height: 290px; right: -180px; top: -110px; box-shadow: 0 0 0 48px rgba(214,192,147,.02), 0 0 0 96px rgba(69,85,67,.026); }
    .pw-tarifs__title { font-size: clamp(44px, 11.5vw, 60px); }
    .pw-tarifs__head { margin-bottom: 34px; }
    .pw-tarifs__grid { grid-template-columns: 1fr; border-radius: 22px; }
    .pw-price-card { min-height: 0; padding: 26px 22px 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .pw-price-card:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(255,255,255,.12); }
    .pw-price-card:last-child { border-bottom: 0; }
    .pw-price-card__rows { margin-top: 30px; }
    .pw-price-row { min-height: 58px; }
    .pw-price-row--main { min-height: 74px; }
    .pw-price-row--main strong { font-size: 30px; }
    .pw-tarifs__free { min-height: 0; padding: 20px; align-items: flex-start; flex-wrap: wrap; gap: 10px 12px; }
    .pw-tarifs__free strong { width: 100%; margin-left: 34px; margin-top: 2px; }
}
