{"id":31125,"date":"2026-02-04T14:28:21","date_gmt":"2026-02-04T14:28:21","guid":{"rendered":"https:\/\/kissinparis.com\/?page_id=31125"},"modified":"2026-11-11T23:54:40","modified_gmt":"2026-11-11T23:54:40","slug":"restaurants-eiffelturm-blick","status":"publish","type":"page","link":"https:\/\/kissinparis.com\/de\/restaurants-with-eiffel-tower-view\/","title":{"rendered":"Best Restaurants in Paris with Eiffel Tower Views"},"content":{"rendered":"\n<style>:is(.page-id-32574,.page-id-31125) {\n--rg-paper: #e5e4e0;\n--rg-ink: #1d1d1d;\n--rg-muted: #595854;\n--rg-rule: #bab9b4;\n--rg-gutter: clamp(26px,4vw,72px);\n--kmip-review-text:var(--rg-ink);--kmip-review-border:#777773;--kmip-review-fill:transparent;\n}\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature),\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature) * {\nbox-sizing: border-box;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero {\nbackground: #1d1d1d;\ncolor: #f4f3ee;\npadding: clamp(100px,10vw,154px) max(var(--rg-gutter),calc((100vw - 1160px)\/2)) 46px;\nmargin-block: 0;\nmin-height: 0;\ntext-align: left;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero > * {\nmax-width: 1160px;\nmargin-inline: 0 !important;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero .kmip-guide-eyebrow {\ncolor: #cfcec9;\nfont: 400 12px\/1.4 Inter,sans-serif;\nletter-spacing: .12em;\ntext-transform: uppercase;\nmargin-block: 0 20px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero h1 {\ncolor: inherit;\nfont-family: Inter,sans-serif;\nfont-size: clamp(34px,4.6vw,70px);\nfont-weight: 300;\nline-height: 1.08;\nletter-spacing: -.045em;\ntext-transform: none;\ntext-align: left;\ntext-wrap: balance;\nmargin-block: 0 26px;\nopacity: 1;\nanimation: none;\ntransform: none;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero h1 :is(strong,em) {\nfont-weight: inherit;\nfont-style: normal;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero .kmip-guide-lead {\ncolor: #e3e2dd;\nfont: 300 clamp(17px,1.5vw,21px)\/1.6 Inter,sans-serif;\nmax-width: 760px;\nmargin: 0 0 22px;\ntext-align: left;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero p:not(.kmip-guide-eyebrow):not(.kmip-guide-lead) {\ncolor: #cfcec9;\nfont: 400 15px\/1.6 Inter,sans-serif;\nmax-width: 780px;\nmargin: 16px 0 0;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero a:not(.wp-block-button__link) {\ncolor: inherit;\ntext-decoration: underline;\ntext-decoration-thickness: 1px;\ntext-underline-offset: 4px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-nav {\ndisplay: flex;\nflex-wrap: wrap;\ngap: 12px 24px;\nmargin-top: 25px;\nalign-items: center;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-nav a:not(.wp-block-button__link) {\ndisplay: inline-flex;\nalign-items: center;\nmin-height: 44px;\nfont-size: 15px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-guide-list {\npadding: 0 !important;\nmargin-block: 0;\nbackground: var(--rg-paper);\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg {\nfont-family: Inter,sans-serif;\ncolor: var(--rg-ink);\nbackground: var(--rg-paper);\nwidth: 100%;\nmax-width: none;\nmargin: 0;\npadding: 32px var(--rg-gutter) 64px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg [hidden] { display: none !important; }\n:is(.page-id-32574,.page-id-31125) .kmip-rg > * {\nmax-width: 1600px;\nmargin-inline: auto;\npadding-inline: 0;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__section-heading {\ncolor: var(--rg-ink);\nfont: 400 clamp(21px,2.1vw,30px)\/1.25 Inter,sans-serif;\ntext-transform: none;\nletter-spacing: -.02em;\nmargin-block: 0 24px;\npadding: 0;\nopacity: .7 !important;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg {\n--kmip-bg:#e5e4e0;--kmip-card-bg:transparent;--kmip-surface:#fffef7;\n--kmip-accent:#1d1d1d;--kmip-accent-dim:#d6d5cf;--kmip-text:#1d1d1d;\n--kmip-text-soft:#393833;--kmip-muted:#595854;--kmip-border:#bab9b4;\n--kmip-border-light:#8a8982;--kmip-radius:999px;--kmip-radius-card:0;\n--kmip-font:Inter,sans-serif;--kmip-sticky-offset:0px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__filters,.kmip-rg__desktop-filters) {\nposition:sticky;top:var(--kmip-sticky-offset)!important;z-index:50;background:var(--kmip-bg);\npadding:14px 0;border-block:1px solid var(--kmip-border);margin-bottom:28px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__desktop-filters {display:none}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__occasion-row {display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__chip,.kmip-rg__michelin-toggle,.kmip-rg__filter-btn,.kmip-rg__dropdown-trigger) {\ndisplay:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;\nborder:1px solid var(--kmip-border-light);border-radius:999px;background:transparent;color:var(--kmip-text);\nfont:400 15px\/1.5 Inter,sans-serif;letter-spacing:normal;text-transform:none;white-space:nowrap;cursor:pointer;\nflex-shrink:0;transition:background-color 180ms,color 180ms,border-color 180ms;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__chip--active,.kmip-rg__dropdown-trigger--active) {\nbackground:var(--kmip-text);border-color:var(--kmip-text);color:#fff;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__filter-btn,.kmip-rg__dropdown-trigger) svg {width:12px;height:12px;flex-shrink:0}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__result-count {display:inline-block;color:var(--kmip-muted);font:400 13px\/1.5 Inter,sans-serif;white-space:nowrap;margin-left:auto}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__clear,.kmip-rg__clear-inline) {\ndisplay:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:0;\ncolor:var(--kmip-text);background:transparent;border-radius:0;font:400 14px\/1.5 Inter,sans-serif;\ntext-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:normal;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__active-chips {display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%;width:100%;padding-top:10px;padding-bottom:0;margin:0}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__active-chip {min-height:44px;padding:8px 13px;border:1px solid var(--kmip-border);border-radius:999px;background:var(--kmip-surface);color:var(--kmip-text);font:400 13px\/1.5 Inter,sans-serif;cursor:pointer}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__chip:disabled {opacity:.45;cursor:not-allowed}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__dropdown {position:relative}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__dropdown-panel {\ndisplay:none;position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:230px;max-width:calc(100vw - 32px);\npadding:16px;border:1px solid var(--kmip-border);border-radius:3px;background:var(--kmip-surface);\nbox-shadow:0 10px 28px #0002;overflow-y:auto;overscroll-behavior:contain;transition:none;animation:none;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__dropdown--open .kmip-rg__dropdown-panel {display:flex;flex-direction:column;gap:8px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__dropdown--wide .kmip-rg__dropdown-panel {min-width:330px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-chips {display:flex;flex-wrap:wrap;gap:8px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-label {margin:14px 0 9px;color:var(--kmip-muted);font:400 12px\/1.5 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__search-label {display:block;margin:0 0 6px;color:var(--kmip-text);font:400 13px\/1.5 Inter,sans-serif}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__search {display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #888780;border-radius:3px;background:#fff;color:var(--kmip-text);font:400 16px\/1.5 Inter,sans-serif;box-shadow:none;margin:0 0 14px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__search::placeholder {color:#66645f;opacity:1}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-backdrop {position:fixed;inset:0;z-index:10001;max-width:none;background:#0008}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer {\nposition:fixed;bottom:0;left:0;right:0;z-index:10002;max-width:none;max-height:85svh;\noverflow-y:auto;overscroll-behavior:contain;padding:24px 26px calc(24px + env(safe-area-inset-bottom));\nbackground:var(--kmip-surface);color:var(--kmip-text);border-radius:8px 8px 0 0;transform:none;transition:none;animation:none;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-header {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-title {font:400 22px\/1.25 Inter,sans-serif}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-close {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px;border:1px solid #888780;border-radius:999px;background:transparent;color:var(--kmip-text);font:400 24px\/1 Inter,sans-serif;cursor:pointer}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-group {margin:0 0 20px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__drawer-apply {display:flex;justify-content:center;align-items:center;gap:4px;min-height:56px;width:100%;padding:16px 24px;border:1px solid #1d1d1d;border-radius:999px;background:#1d1d1d;color:#fff;font:400 16px\/1.25 Inter,sans-serif;cursor:pointer;margin-top:20px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg:not(.kmip-rg--ready) :is(.kmip-rg__filters,.kmip-rg__desktop-filters,.kmip-rg__drawer,.kmip-rg__drawer-backdrop,.kmip-rg__read-more) {display:none!important}\n:is(.page-id-32574,.page-id-31125) .kmip-rg:not(.kmip-rg--ready) .kmip-rg__card-detail {display:block}\n@media(min-width:768px) {\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__filters {display:none}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__drawer,.kmip-rg__drawer-backdrop) {display:none!important}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__desktop-filters {display:flex;align-items:center;flex-wrap:wrap;gap:10px}\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__grid {\ndisplay: grid;\ngrid-template-columns: minmax(0,1fr);\ngap: 42px 28px;\nalign-items: start;\npadding-block: 0;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card {\ndisplay: flex;\nflex-direction: column;\nmin-width: 0;\npadding: 0 0 30px;\nmargin: 0;\nborder: 0;\nborder-bottom: 1px solid var(--rg-rule);\nborder-radius: 0;\nbackground: transparent;\nbox-shadow: none;\nscroll-margin-top: 110px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-header {\ndisplay: block;\nmargin: 0 0 14px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-name {\nmargin: 0 0 8px;\ncolor: var(--rg-ink);\nfont: 400 clamp(22px,1.9vw,27px)\/1.18 Inter,sans-serif;\nletter-spacing: -.025em;\ntext-transform: none;\noverflow-wrap: anywhere;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-meta {\nmargin: 0;\ncolor: var(--rg-muted);\nfont: 400 13px\/1.6 Inter,sans-serif;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-photo {\norder: -1;\nposition: relative;\nwidth: 100%;\naspect-ratio: 3 \/ 2;\nmargin: 0 0 20px;\npadding: 0;\nborder-radius: 0;\noverflow: hidden;\nbackground: #e5e4e0;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-photo img {\ndisplay: block;\nwidth: 100%;\nheight: 100%;\nmax-width: 100%;\nobject-fit: cover;\nborder-radius: 0;\nmargin: 0;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-body { margin: 0; }\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card p {\nmargin: 0 0 13px;\ncolor: var(--rg-ink);\nfont: 300 16px\/1.65 Inter,sans-serif;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card p.kmip-rg__card-meta {\ncolor: var(--rg-muted);\nfont: 400 13px\/1.6 Inter,sans-serif;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card strong { font-weight: 500; color: inherit; }\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__read-more {\ndisplay:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;margin:0 0 8px;\nborder:0;border-radius:0;background:transparent;color:var(--kmip-text);font:400 15px\/1.5 Inter,sans-serif;cursor:pointer;\ntext-transform:none;letter-spacing:normal;text-decoration:underline;text-underline-offset:4px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__read-more-arrow {display:inline-block;width:9px;height:9px;font-size:0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-right:4px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__read-more[aria-expanded=true] .kmip-rg__read-more-arrow {transform:rotate(225deg) translate(-2px,-2px)}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-detail {display:none;padding-top:8px;margin-bottom:16px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-detail--open {display:block}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-detail p {font:300 16px\/1.65 Inter,sans-serif;margin:0 0 14px;color:var(--kmip-text)}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__not-ideal {font-style:normal;color:var(--kmip-muted)}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-header > .kmip-rg__reserve {margin-top:12px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__reserve--main {margin-top:4px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card :is(p,h3) {opacity:1!important;visibility:visible!important;transform:none!important}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__no-results {padding:32px 0;color:var(--kmip-text);font:400 16px\/1.65 Inter,sans-serif;text-align:left}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__no-results p {margin-bottom:10px}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-chips {\ndisplay: flex;\nflex-wrap: wrap;\ngap: 6px 12px;\nmargin: 8px 0 16px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__card-chip {\npadding: 0;\nborder: 0;\nborder-radius: 0;\ncolor: var(--rg-muted);\nfont: 400 12px\/1.5 Inter,sans-serif;\nletter-spacing: normal;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__reserve {align-self:flex-start;}\n\n:is(.page-id-32574,.page-id-31125) .kmip-rg [data-rg-empty] {\npadding: 36px 0;\ncolor: var(--rg-ink);\nfont: 400 16px\/1.65 Inter,sans-serif;\ntext-align: left;\n}\nbody.page-id-31125 .kmip-guide-tips {\n  margin-block:0;padding:clamp(96px,8vw,144px) var(--rg-gutter);\n  background:#1d1d1d;color:#e5e4e0;\n}\nbody.page-id-31125 .kmip-guide-tips > .wp-block-group {\n  width:100%;max-width:1440px;margin-inline:auto;padding:0;\n}\nbody.page-id-31125 .kmip-guide-tips #et-tips-heading {\n  max-width:18ch;margin:0 0 clamp(64px,6vw,104px);\n  color:inherit;font:300 clamp(36px,4vw,56px)\/1.08 Inter,sans-serif;\n  letter-spacing:-.035em;text-transform:none;text-wrap:balance;\n}\nbody.page-id-31125 .kmip-guide-tips .wp-block-columns {\n  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:clamp(32px,4vw,64px);margin:0;max-width:none;\n}\nbody.page-id-31125 .kmip-guide-tips .wp-block-column {min-width:0;margin:0;padding:0}\nbody.page-id-31125 .kmip-guide-tips h3 {\n  color:inherit;font:300 clamp(21px,1.6vw,24px)\/1.3 Inter,sans-serif;\n  letter-spacing:-.015em;text-transform:none;margin:0 0 24px;\n}\nbody.page-id-31125 .kmip-guide-tips p {\n  color:#e5e4e0;font:300 clamp(16px,1.1vw,18px)\/1.65 Inter,sans-serif;margin:0 0 20px;\n}\nbody.page-id-31125 .kmip-guide-tips .wp-block-column>p:last-child {margin-bottom:0}\nbody.page-id-31125 .kmip-guide-tips #compare-views>p {\n  margin:clamp(48px,5vw,72px) 0 0;padding-top:28px;\n  border-top:1px solid #565652;color:#959592;font:300 15px\/1.65 Inter,sans-serif;\n}\nbody.page-id-31125 .kmip-guide-tips a {color:inherit;text-decoration:underline;text-underline-offset:4px}\nbody.page-id-31125 .kmip-guide-tips a:focus-visible {outline:2px solid currentColor;outline-offset:4px}\n@media(max-width:991px) {\n  body.page-id-31125 .kmip-guide-tips {padding-block:clamp(72px,9vw,88px)}\n  body.page-id-31125 .kmip-guide-tips #et-tips-heading {margin-bottom:56px}\n  body.page-id-31125 .kmip-guide-tips .wp-block-columns {grid-template-columns:minmax(0,1fr);gap:40px}\n  body.page-id-31125 .kmip-guide-tips h3 {margin-bottom:18px}\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature {\npadding: 54px max(var(--rg-gutter),calc((100vw - 1160px)\/2)) 64px;\nmargin-block: 0;\ncolor: var(--rg-ink);\nbackground: #fffef7;\nborder-top: 1px solid var(--rg-rule);\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature > * {\nmax-width: 1160px;\nmargin-inline: 0 !important;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature .kmip-guide-eyebrow {\nfont: 400 12px\/1.5 Inter,sans-serif;\nletter-spacing: .1em;\ntext-transform: uppercase;\ncolor: var(--rg-muted);\nmargin-bottom: 14px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature h2 {\ncolor: var(--rg-ink);\nfont: 300 clamp(25px,2.6vw,38px)\/1.2 Inter,sans-serif;\ntext-transform: none;\nletter-spacing: -.025em;\nmargin-block: 0 18px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature p:not(.kmip-guide-eyebrow) {\nmax-width: 680px;\ncolor: var(--rg-ink);\nfont: 300 16px\/1.65 Inter,sans-serif;\nmargin: 0 0 24px;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature .wp-block-buttons { margin-top: 24px; }\n\n\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature) :is(a,button,input,select,summary):focus-visible {\noutline: 2px solid #fff;\noutline-offset: 3px;\nbox-shadow: 0 0 0 5px #1d1d1d;\n}\n\n\n@media (min-width:768px) {\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }\n}\n@media (min-width:1200px) {\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px 34px; }\n}\n@media (max-width:767px) {\n:is(.page-id-32574,.page-id-31125) { --rg-gutter: 26px; }\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero { padding-top: 112px; padding-bottom: 32px; }\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero .kmip-guide-eyebrow { margin-bottom: 14px; }\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero h1 { margin-bottom: 18px; letter-spacing: -.035em; }\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero .kmip-guide-lead { font-size: 17px; line-height: 1.5; margin-bottom: 16px; }\n:is(.page-id-32574,.page-id-31125) .kmip-guide-hero p:not(.kmip-guide-eyebrow):not(.kmip-guide-lead) { font-size: 14px; line-height: 1.55; }\n:is(.page-id-32574,.page-id-31125) .kmip-rg { padding-top: 26px; padding-bottom: 40px; }\n:is(.page-id-32574,.page-id-31125) .kmip-restaurant-feature { padding-block: 40px 48px; }\n\n}\n@media (prefers-reduced-motion:reduce) {\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature) *,\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature) *::before,\n:is(.page-id-32574,.page-id-31125) :is(.kmip-rg,.kmip-guide-hero,.kmip-restaurant-feature) *::after {\nanimation: none !important;\ntransition: none !important;\nscroll-behavior: auto !important;\n}\n\n}\n@media print {\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__filters,.kmip-rg__desktop-filters,.kmip-rg__drawer,.kmip-rg__read-more) {display:none!important}\n:is(.page-id-32574,.page-id-31125) .kmip-rg :is(.kmip-rg__card-detail,.kmip-rg__card) {display:block!important;break-inside:avoid}\n}\n\/* Keep directory actions independent of inherited theme link effects. *\/\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__reserve {\nopacity: 1;\n-webkit-text-fill-color: currentColor;\n}\n:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__reserve::before { content: none; display: none; }\n\n\/* Round 2: the booking introduction shares the directory's single mobile gutter. *\/\n@media (max-width:991px) {\nbody:is(.page-id-32574,.page-id-31125) .kmip-guide-list > .kmip-guide-booking-note {\nbox-sizing:border-box;\npadding-left:var(--rg-gutter,var(--wp--style--root--padding-left,26px));\npadding-right:var(--rg-gutter,var(--wp--style--root--padding-right,26px));\n}\n}\n\/* Restaurant category scrolling keeps a neutral thumb, independent of the menu accent. *\/\nbody:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__occasion-row {\nscrollbar-color:var(--rg-muted) var(--rg-paper);\n}\nbody:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__occasion-row::-webkit-scrollbar {\nheight:4px;\n}\nbody:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__occasion-row::-webkit-scrollbar-track {\nbackground:var(--rg-paper);\n}\nbody:is(.page-id-32574,.page-id-31125) .kmip-rg .kmip-rg__occasion-row::-webkit-scrollbar-thumb {\nbackground:var(--rg-muted);\nborder:0;\nborder-radius:999px;\n}\n\n\n\/* Conversion sections share type\/rhythm; the thumbnail and native flex layout remain. *\/\nbody.page-id-31125 .sec-next {\n  padding:54px max(var(--rg-gutter),calc((100vw - 1160px)\/2)) 64px!important;\n  color:var(--rg-ink);background:#e5e4e0!important;\n}\nbody.page-id-31125 .sec-next>.next-row {width:100%;max-width:1160px!important;margin-inline:auto!important;}\nbody.page-id-31125 .sec-next .has-content>.content {min-width:0;}\nbody.page-id-31125 .sec-next h3 {\n  color:var(--rg-ink);font:300 clamp(25px,2.6vw,38px)\/1.2 Inter,sans-serif!important;\n  text-transform:none!important;letter-spacing:-.025em;margin:0 0 18px!important;\n}\nbody.page-id-31125 .sec-next .content>p {max-width:680px;color:var(--rg-ink);font:300 16px\/1.65 Inter,sans-serif!important;margin:0!important;}\nbody.page-id-31125 .sec-next .has-action {margin:24px 0 0!important;}\nbody.page-id-31125 :is(.kmip-guide-booking-note,.kmip-guide-tips,.sec-next,.kmip-restaurant-feature) :is(p,li)>a:not(.wp-element-button) {\n  color:inherit;font-weight:300;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.22em;\n  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);transition:text-decoration-color 300ms ease;\n}\nbody.page-id-31125 :is(.kmip-guide-booking-note,.kmip-guide-tips,.sec-next,.kmip-restaurant-feature) :is(p,li)>a:not(.wp-element-button):is(:hover,:focus-visible) {text-decoration-color:currentColor;}\n@media(max-width:767px) {body.page-id-31125 .sec-next {padding-block:40px 48px!important;}}\n@media(prefers-reduced-motion:reduce) {body.page-id-31125 :is(.kmip-guide-booking-note,.kmip-guide-tips,.sec-next,.kmip-restaurant-feature) :is(p,li)>a:not(.wp-element-button) {transition:none!important;}}\n<\/style>\n\n\n\n<style id=\"kmip-home-theme-review\">\n\/* Approved homepage system, 7 November 2026. Existing scroll controller owns phase changes.\n   Homepage-scoped presentation. Legacy review selector names retained for compatibility. *\/\nhtml[data-kmip-theme-preview=\"dark\"] body.page-id-8 {\n --kmip-preview-surface:#1d1d1d;--kmip-preview-raised:#252525;\n --kmip-preview-text:#e5e4e0;--kmip-preview-muted:#959592;\n --kmip-preview-rule:#565652;--kmip-review-border:#777773;\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-8 {\n --kmip-preview-surface:#e5e4e0;--kmip-preview-raised:#fffef7;\n --kmip-preview-text:#1d1d1d;--kmip-preview-muted:#63635f;\n --kmip-preview-rule:#aaa9a3;--kmip-review-border:#c9c8c3;\n}\nhtml[data-kmip-theme-preview] body.page-id-8 {\n --wp--preset--color--base:#e5e4e0;\n --wp--preset--color--custom-white:#fffef7;\n --kmip-preview-paper:var(--kmip-preview-surface);\n --kmip-preview-ink:var(--kmip-preview-text);\n --kmip-review-text:var(--kmip-preview-text);\n background-color:var(--kmip-preview-surface);color:var(--kmip-preview-text);\n}\n\/* Palette follows the existing wrapper classes as the visitor scrolls. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 .bg-transition {\n --kmip-preview-surface:var(--color-bg);\n --kmip-preview-text:var(--color-body);\n --kmip-review-text:var(--color-body);\n --kmip-preview-local-muted:var(--kmip-preview-muted);\n --wp--style--color--link:var(--color-body);\n background-color:var(--color-bg)!important;color:var(--color-body)!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-29435) .bg-transition.has-contrast-background-color {\n --color-bg:#1d1d1d;--color-body:#e5e4e0;--kmip-preview-muted:#959592;\n --kmip-preview-raised:#252525;--kmip-review-border:#777773;--kmip-preview-rule:#565652;\n}\nhtml[data-kmip-theme-preview=\"light\"] body:is(.page-id-8,.page-id-29435) .bg-transition.has-contrast-background-color,\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-29435) .bg-transition.has-base-background-color {\n --color-bg:#e5e4e0;--color-body:#1d1d1d;--kmip-preview-muted:#63635f;\n --kmip-preview-raised:#fffef7;--kmip-review-border:#c9c8c3;--kmip-preview-rule:#aaa9a3;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-29435) .bg-transition.has-accent-5-background-color {\n --color-bg:#000;--color-body:#e5e4e0;--kmip-preview-muted:#959592;\n --kmip-preview-raised:#1d1d1d;--kmip-review-border:#777773;--kmip-preview-rule:#565652;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-29435) .bg-transition:is(.has-custom-warm-background-color,.has-custom-white-background-color) {\n --color-bg:#fffef7;--color-body:#1d1d1d;--kmip-preview-muted:#63635f;\n --kmip-preview-raised:#e5e4e0;--kmip-review-border:#c9c8c3;--kmip-preview-rule:#aaa9a3;\n}\n\/* Text follows its section's changing foreground, without adding painted panels. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 .bg-transition :is(\n .contents.v5>.has-content>p,.contents.v5>.has-content>ul,.contents.v5>.has-content>ol,\n .contents.v5>.has-content>details,.setup-item-content>.has-content>p,\n #chantelle>.wp-block-media-text__content>.content>p,\n #who-we-are>.trigger-warm>.alignwide>p,#work h2.big-heading\n) {color:var(--kmip-preview-text)!important}\nhtml[data-kmip-theme-preview] body.page-id-8 .bg-transition :is(.has-content,#chantelle>.wp-block-media-text__content) a {color:inherit}\n\/* Small labels: Inter400 retains clear strokes at 13\u201315px. Full-opacity\n * explicit colour replaces the reference's backdrop-dependent blending.\n * H2\/H3 semantics, text, gutters, width and block order remain untouched. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 :is(\n  .bg-transition .contents.v5 > .has-title > .eyebrow,\n  #how-it-works .signature-service-item .eyebrow,\n  #services .setup-item-content > .has-content > .eyebrow,\n  #why-couples-hire-us .contents.v5 > .has-content > .eyebrow,\n  #who-we-are > .trigger-warm > .alignwide > .eyebrow,\n  #chantelle-heading,\n  #faq > .eye\n) {\n  color:var(--kmip-preview-local-muted,var(--kmip-preview-muted))!important;\n  opacity:1!important; \/* Labels keep their slide reveal, without fading the final grey. *\/\n  mix-blend-mode:normal!important;\n}\n\n\/* Main side labels share bounded type; step and person headings retain their size. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 :is(\n .bg-transition .contents.v5 > .has-title > .eyebrow,\n #faq > .eye\n) {\n font-family:var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n font-size:clamp(13px,calc(12px + .16vw),15px)!important;\n font-weight:400!important;line-height:1.3!important;letter-spacing:.025em!important;\n}\n\n\/* Independent sections pair surface and text explicitly in each review mode. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 #faq {\n --color-bg:var(--kmip-preview-surface)!important;--color-body:var(--kmip-preview-text)!important;\n background-color:var(--kmip-preview-surface)!important;color:var(--kmip-preview-text)!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-8 .sec-parralax-gallery {\n --kmip-preview-text:#e5e4e0;--color-bg:#000!important;--color-body:#e5e4e0!important;\n background-color:#000!important;color:#e5e4e0!important;\n}\n\/* Native FAQ: keep its real renderer, disclosure semantics and layout. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 #faq :is(.rank-math-question,.rank-math-answer) {\n  color:var(--kmip-preview-text)!important;\n  border-color:var(--kmip-preview-rule)!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 #faq :is(.rank-math-answer a,.rank-math-answer p) {\n  color:inherit!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 #faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {\n  border-color:var(--kmip-preview-rule)!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 .sec-parralax-gallery > .content > .content-overlay > p {\n  color:var(--kmip-preview-text)!important;\n}\n\n\/* Paired photograph exceptions. Preserve existing photographs and gradients;\n * these rules never filter an image or change media\/pause controls. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 .hero {\n  --color-bg:#1d1d1d!important;\n  --color-body:#e5e4e0!important;\n  --wp--style--color--link:#e5e4e0;\n  --kmip-review-text:#e5e4e0;\n  --kmip-review-border:#90908b;\n  color:#e5e4e0!important;\n  background-color:#1d1d1d!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 .hero .content > :is(h1,p) {\n  color:#e5e4e0!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 #work .card-module {\n  --color-body:#fff!important;\n  --wp--style--color--link:#fff;\n  color:#fff!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-8 #work h2.big-heading em{filter:none!important;opacity:1}\n\/* Existing inquiry is intentionally dark in either page mode. Keep every\n * approved white fields, borders and error colours; submit styling follows the CTA system. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body:is(.page-id-8,.page-id-29435) #contact-us.sec-cta:has(.kmip-unified-intake) {\n  --color-bg:#000!important;\n  --color-body:#e5e4e0!important;\n  --color-heading:var(--color-body)!important;\n  --kmip-contact-ink:#e5e4e0;\n  --kmip-contact-muted:#90908b;\n  --kmip-review-text:#e5e4e0;\n  --kmip-review-border:#90908b;\n  background-color:#000!important;\n  color:#e5e4e0!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body:is(.page-id-8,.page-id-29435) #contact-us.sec-cta .content > :is(h2,p) {\n  color:#e5e4e0!important;\n}\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body:is(.page-id-8,.page-id-29435) #contact-us .wpcf7:has(.kmip-unified-intake),\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-42764 #check-your-date .wpcf7:has(.kmip-unified-intake) {\n  background-color:#1d1d1d!important;\n  color:#e5e4e0!important;\n}\n:is(html:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body:is(.page-id-8,.page-id-29435,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-42812 #album-inquiry,html:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-42805 #request) .kmip-unified-intake {\n  --kmip-intake-label:#e5e4e0;\n  --kmip-intake-focus:#e5e4e0;\n  color:#e5e4e0!important;\n}\n\n\/* Native footer already owns these tokens. Pair them instead of recolouring\n * every descendant; keep its navigation, directory, typography and spacing. *\/\nhtml:is([data-kmip-theme-preview=\"light\"],[data-kmip-theme-preview=\"dark\"]) body.page-id-8 .kmip-footer-2026 {\n  --kmip-footer-paper:var(--kmip-preview-surface);\n  --kmip-footer-ink:var(--kmip-preview-text);\n  --kmip-footer-muted:var(--kmip-preview-muted);\n  --kmip-footer-line:var(--kmip-preview-rule);\n}\nhtml[data-kmip-theme-preview=\"light\"] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026 .kmip-footer__logo img {\n  filter:brightness(0);\n}\nhtml[data-kmip-theme-preview=\"dark\"] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026 .kmip-footer__logo img {\n  filter:none;\n}\n\/* Homepage review only; visual and interaction checks precede sign-off. *\/\n\n\/* Approved homepage CTA presentation,\nshared by Home8,\nthe13 Work pilots and restaurant guides32574\/31125 and service pilots38022\/38056. *\/\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) {\n  --kmip-review-arrow:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\");\n  --kmip-review-ease:cubic-bezier(.165,.84,.44,1);\n  --kmip-review-fill:transparent;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a) {\n  --kmip-arrow-angle:0deg;\n  display:inline-flex!important;align-items:center;justify-content:center;gap:18px!important;\n  box-sizing:border-box;min-height:62px!important;height:auto!important;max-width:100%;\n  padding:20px 36px!important;border:1px solid var(--kmip-review-border,#777773)!important;border-radius:999px!important;\n  background:var(--kmip-review-fill,transparent)!important;color:var(--kmip-review-text,#e5e4e0)!important;\n  font-family:var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n  font-size:clamp(16px,calc(14px + .25vw),18px)!important;font-weight:300!important;\n  letter-spacing:0!important;line-height:1.25!important;text-transform:none!important;\n  text-decoration:none!important;text-align:center;white-space:normal;opacity:1!important;\n  transform:none!important;filter:none!important;mix-blend-mode:normal!important;\n  transition:border-color 300ms ease!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a)::before,\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a)>span[aria-hidden=\"true\"] {display:none!important}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a,.photo-submit)::after {\n  content:\"\"!important;display:block!important;\n  width:18px!important;height:18px!important;min-width:18px;flex:0 0 18px;margin:0!important;padding:0;border:0;border-radius:0;\n  background:currentColor!important;color:inherit!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;\n  -webkit-mask:var(--kmip-review-arrow) 0 50%\/18px 18px repeat-x!important;\n  mask:var(--kmip-review-arrow) 0 50%\/18px 18px repeat-x!important;\n\n  transition:mask-position 1200ms var(--kmip-review-ease),-webkit-mask-position 1200ms var(--kmip-review-ease)!important;\n  clip-path:none!important;\n  pointer-events:none;\n}\n\/* Link icons are flex items; native input wrappers position their icon over the submit control. *\/\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a)::after {position:static!important;inset:auto!important;transform:rotate(var(--kmip-arrow-angle))!important}\n\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a):is([href^=\"mailto:\"],[href^=\"tel:\"],[href^=\"https:\/\/\"]:not([href^=\"https:\/\/kissinparis.com\/\"]):not([href=\"https:\/\/kissinparis.com\"]):not([href^=\"https:\/\/kissinparis.com?\"]):not([href^=\"https:\/\/kissinparis.com#\"])) {--kmip-arrow-angle:-45deg}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a)[href^=\"#\"]:not([aria-haspopup=\"dialog\"]) {--kmip-arrow-angle:90deg}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) .hero :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a) {\n  --kmip-review-text:#e5e4e0;--kmip-review-border:#b0afaa;--kmip-review-fill:rgba(29,29,29,.82);\n  background:rgba(29,29,29,.82)!important;color:#e5e4e0!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a):focus-visible {\n  outline:2px solid currentColor!important;outline-offset:5px!important;\n  border-color:currentColor!important;box-shadow:none!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a,.photo-submit):focus-visible::after {\n  -webkit-mask-position:18px 50%!important;mask-position:18px 50%!important;\n}\n@media(hover:hover) and (pointer:fine) {\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a):hover {border-color:currentColor!important;opacity:1!important}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a,.photo-submit):hover::after {\n   -webkit-mask-position:18px 50%!important;mask-position:18px 50%!important;\n }\n}\n\/* Editorial hyperlinks retain text hierarchy and a fine, visible underline. *\/\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) .bg-transition .has-content :is(p,li)>a:not(.wp-element-button),\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) #faq p>a {\n  font-weight:300!important;opacity:1!important;\n  text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em;\n  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)!important;\n  transition:text-decoration-color 300ms ease!important;\n}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) .bg-transition .has-content :is(p,li)>a:not(.wp-element-button):is(:hover,:focus-visible),\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) #faq p>a:is(:hover,:focus-visible) {text-decoration-color:currentColor!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) :is(.sec-cta,.kmip-concierge,.kmip-photo-concierge) .wpcf7 input[type=\"submit\"],\nhtml:root body:is(.page-id-29435,.page-id-36402,.page-id-43125,.page-id-43126,.page-id-42812,.page-id-42805) .wp-block-post-content :is(.sec-cta,.kmip-concierge,.kmip-photo-concierge) .wpcf7 input[type=\"submit\"] {\n  min-height:62px!important;padding:20px 36px!important;font-weight:300!important;\n  background:transparent!important;color:var(--kmip-review-text,#e5e4e0)!important;border:1px solid var(--kmip-review-border,#777773)!important;\n  opacity:1!important;transition:border-color 300ms ease!important;\n}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-29993,.page-id-29435,.page-id-30319,.page-id-38022,.page-id-37479,.page-id-37394,.page-id-43114,.page-id-37635,.page-id-37077,.page-id-37238,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37588,.page-id-37567,.page-id-34121,.page-id-37986,.page-id-37647,.page-id-38003,.page-id-39002,.page-id-31884,.page-id-38045,.page-id-32090,.page-id-31882,.page-id-37682,.page-id-39394,.page-id-39593,.page-id-38039,.page-id-43123,.page-id-38056,.page-id-42764,.page-id-40533,.page-id-31918,.page-id-31919,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821),html:root body:is(.page-id-32574,.page-id-31125,.page-id-38022,.page-id-38056) .wp-block-post-content,html:root body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026) :is(.sec-cta,.kmip-concierge,.kmip-photo-concierge) .wpcf7 input[type=\"submit\"]:is(:hover,:focus-visible),\nhtml:root body:is(.page-id-29435,.page-id-36402,.page-id-43125,.page-id-43126,.page-id-42812,.page-id-42805) .wp-block-post-content :is(.sec-cta,.kmip-concierge,.kmip-photo-concierge) .wpcf7 input[type=\"submit\"]:is(:hover,:focus-visible) {border-color:currentColor!important}\n@media(max-width:599px) {\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a) {min-height:58px!important;padding:18px 28px!important;gap:16px!important}\n}\n@media(prefers-reduced-motion:reduce) {\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a),\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a,.photo-submit)::after {transition:none!important}\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a,.photo-submit)::after {-webkit-mask-position:0 50%!important;mask-position:0 50%!important}\n}\n\n\n\/* Restaurant CTA palette, same shared type and directional arrow. *\/\nhtml:root body:is(.page-id-32574,.page-id-31125) .wp-block-post-content :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-rg__reserve) {\n  --kmip-review-fill:#000;--kmip-review-text:#e5e4e0;--kmip-review-border:#000;\n}\nhtml:root body:is(.page-id-32574,.page-id-31125) .wp-block-post-content :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-rg__reserve):focus-visible {outline-color:var(--rg-ink,#1d1d1d)!important;}\n\/* Only the monochrome header brand changes treatment; photographs are never inverted. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027[data-kmn-layout=\"wide\"] .kmn2027__brand img {\n  filter:brightness(0) invert(1) drop-shadow(0 0 .6px rgb(0 0 0 \/ 90%)) drop-shadow(0 1px 2px rgb(0 0 0 \/ 65%))!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027[data-kmn-layout=\"wide\"] .kmn2027__brand[data-kmip-underlay=\"light\"] img {\n  filter:brightness(0)!important;\n}\n\/* Borderless mode control: small symbol, generous hit area, deliberate separation. *\/\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle {\n  display:inline-flex!important;\n  align-items:center;\n  justify-content:center;\n  flex:0 0 44px;\n  min-width:44px!important;\n  width:44px!important;\n  max-width:44px!important;\n  height:44px;\n  min-height:44px;\n  padding:13px!important;\n  box-sizing:border-box;\n  margin-inline-end:12px;\n  border:0!important;\n  border-radius:50%;\n  background:transparent!important;\n  box-shadow:none!important;\n  --kmip-home-toggle-ink:#fffef7;\n  color:var(--kmip-home-toggle-ink)!important;\n  cursor:pointer;\n  line-height:1;\n}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle svg { display:block;width:18px;height:18px;flex:none; }\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle:is(:hover,:active,:focus-visible) {color:var(--kmip-home-toggle-ink)!important;background:transparent!important;border:0!important;}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle:focus-visible { outline:2px solid currentColor;outline-offset:3px; }\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle [hidden]{display:none!important;}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle .kmip-mode-action,\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle[data-placement=\"header\"] .kmip-mode-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle[data-placement=\"fallback\"] { position:fixed;right:24px;top:96px;z-index:999;margin-inline-end:0; }\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle[data-placement=\"header\"][data-kmip-underlay=\"light\"] {\n  --kmip-home-toggle-ink:#1d1d1d;\n}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle[data-placement=\"header\"][data-kmip-underlay=\"media\"] {\n  filter:drop-shadow(0 1px 2px rgb(0 0 0 \/ 85%));\n}\n@media(prefers-reduced-motion:reduce) {\n  body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle { transition:none!important; }\n}\n\n\n\/* Desktop controls float over the page; the compact bar retains its own surface. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027[data-kmn-layout=\"wide\"] .kmn2027__bar{background:transparent!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027__inquire{font-weight:300!important}\n\/* Compact navigation retains the original charcoal identity in either page mode. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027[data-kmn-layout=\"compact\"] .kmn2027__bar{background:#1d1d1d!important;color:#fffef7!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmn2027[data-kmn-layout=\"compact\"] .kmn2027__brand img{filter:none!important}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-menu-appearance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:12px 8px;color:var(--kmn-ink,#1d1d1d);font:400 18px\/1.4 var(--wp--preset--font-family--inter,Inter,sans-serif)}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-menu-appearance[hidden]{display:none}\nbody:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) #kmip-home-colour-preview-toggle[data-placement=\"menu\"]{--kmip-home-toggle-ink:var(--kmn-ink,#1d1d1d);flex:0 1 auto;min-width:44px!important;width:auto!important;max-width:100%!important;height:auto;min-height:44px;gap:10px;padding:10px 8px!important;margin:0;font:400 18px\/1.4 var(--wp--preset--font-family--inter,Inter,sans-serif);white-space:normal;overflow-wrap:anywhere;}\n\/* States keep the same paired fill\/text; only the border and arrow respond. *\/\nhtml:root body.page:where(:has(#kmip-home-appearance)) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a,.kmip-rg__reserve,.pp-gallery-toggle,.about-profile-link>a):is(:hover,:focus-visible,:active) {\n background:var(--kmip-review-fill,transparent)!important;color:var(--kmip-review-text,#e5e4e0)!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) #chapter-tabs {\n --kmip-review-text:#1d1d1d;--kmip-review-border:#c9c8c3;--kmip-review-fill:transparent;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) #chapter-tabs.kmip-bubble-shared .jumptab-footer .wp-block-button__link {\n background:transparent!important;color:#1d1d1d!important;border:1px solid #c9c8c3!important;\n font:300 clamp(16px,calc(14px + .25vw),18px)\/1.25 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n min-height:62px!important;padding:20px 36px!important;\n}\n\n\nhtml[data-kmip-theme-preview=\"dark\"] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026 .kmip-footer__seal img{filter:brightness(0) invert(.88);mix-blend-mode:normal}\nhtml[data-kmip-theme-preview=\"light\"] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026 .kmip-footer__seal img{filter:brightness(0);mix-blend-mode:normal}\n\n\/* Directory disclosure: one complete plus rotates to an X when expanded. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-footer-2026 .kmip-footer__directory>summary{color:var(--kmip-footer-ink)!important}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-footer-2026 .kmip-footer__directory>summary::after{\n content:\"\"!important;display:block!important;position:static!important;\n width:24px!important;height:24px!important;flex:0 0 24px;\n color:var(--kmip-footer-ink)!important;\n background:linear-gradient(currentColor,currentColor) center\/22px 2px no-repeat,linear-gradient(currentColor,currentColor) center\/2px 22px no-repeat!important;\n clip-path:none!important;-webkit-mask:none!important;mask:none!important;\n transform:rotate(0deg)!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-footer-2026 .kmip-footer__directory[open]>summary::after{transform:rotate(45deg)!important}\n@media(prefers-reduced-motion:reduce){html[data-kmip-theme-preview] body:is(.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .kmip-footer-2026 .kmip-footer__directory>summary::after{transition:none!important}}\n\n\n\/* Retain native desktop stacking. Paint opaque panels so prior text cannot bleed through. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 #how-it-works .signature-service-item {\n background-color:var(--kmip-preview-surface)!important;\n color:var(--kmip-preview-text)!important;opacity:1!important;\n border-color:var(--kmip-preview-rule)!important;\n}\n\/* Equal viewport halves preserve the original clipped, fixed-image presentation. *\/\n@media(min-width:992px){\n html[data-kmip-theme-preview] body.page-id-8 #chantelle {\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0;\n  margin-left:calc(-1 * var(--wp--style--root--padding-left,26px))!important;\n  margin-right:calc(-1 * var(--wp--style--root--padding-right,26px))!important;\n  width:auto!important;max-width:none!important;height:auto!important;min-height:100svh;\n  clip-path:inset(0);align-items:center;\n }\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__content {align-self:center;background:transparent!important}\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__media {\n  position:fixed!important;top:0!important;left:50vw!important;right:0!important;\n  width:50vw!important;max-width:50vw!important;height:100svh!important;min-height:0!important;max-height:100svh!important;\n  margin:0!important;overflow:hidden;\n }\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__media>img {\n  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;\n  object-fit:cover;object-position:50% 50%;transform:none!important;\n }\n}\n@media(max-width:991px){\n html[data-kmip-theme-preview] body.page-id-8 #chantelle{grid-template-columns:1fr!important;min-height:0!important;height:auto!important;clip-path:none}\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__content{grid-column:1;grid-row:1}\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__media{position:relative!important;inset:auto!important;grid-column:1;grid-row:2;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important}\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__media>img{height:auto!important;width:100%!important;transform:none!important}\n}\n@media(prefers-reduced-motion:reduce){\n html[data-kmip-theme-preview] body.page-id-8 #chantelle{clip-path:none}\n html[data-kmip-theme-preview] body.page-id-8 #chantelle>.wp-block-media-text__media{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important}\n}\n\/* Testimonials are brief interludes, with lighter bounded type and less blank height. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 #who-we-are>.testimonial {\n --kmip-preview-text:#e5e4e0;--kmip-preview-muted:#959592;\n background:#000!important;color:#e5e4e0!important;\n margin-left:calc(-1 * var(--wp--style--root--padding-left,26px))!important;\n margin-right:calc(-1 * var(--wp--style--root--padding-right,26px))!important;\n width:auto!important;max-width:none!important;\n min-height:0!important;height:auto!important;display:block;\n padding:clamp(48px,4vw,88px) var(--wp--style--root--padding-left,26px)!important;\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-8 #who-we-are>.testimonial {\n --kmip-preview-text:#1d1d1d;--kmip-preview-muted:#63635f;\n background:#fffef7!important;color:#1d1d1d!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-8 #who-we-are>.testimonial blockquote {\n color:inherit!important;font-size:clamp(18px,1.1vw,22px);font-weight:300;line-height:1.5;\n border-left-width:1px;border-left-color:currentColor;\n}\nhtml[data-kmip-theme-preview] body.page-id-8 #who-we-are>.testimonial blockquote>p {font-size:inherit;font-weight:300;line-height:1.5;color:inherit!important}\nhtml[data-kmip-theme-preview] body.page-id-8 #who-we-are>.testimonial cite {font-size:clamp(13px,.7vw,15px);line-height:1.5}\nhtml[data-kmip-theme-preview] body.page-id-8 #who-we-are>.testimonial a {color:inherit}\n\/* Footer keeps useful quiet links; the inquiry alone uses the signature arrow. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 .kmip-footer-2026 a:not(:where(.kmip-footer__inquiry *)){text-decoration:none!important;border-bottom:0!important}\nhtml[data-kmip-theme-preview] body.page-id-8 .kmip-footer-2026 a:not(:where(.kmip-footer__inquiry *)):is(:hover,:focus-visible){text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em}\n\/* Existing frames follow the active scroll phase; preserve original media geometry. *\/\nhtml[data-kmip-theme-preview] body.page-id-8 :is(#what-we-do,#why-couples-hire-us) .media-stage:has(>.wp-block-video):not(.is-overlap){\n --kmip-film-rim:var(--kmip-preview-raised);background-color:var(--kmip-film-rim)!important;\n}\n\/* Planner introduction: retain the warm-brown film rim in both appearances. *\/\nhtml[data-kmip-theme-preview] body.page-id-29435 #what-we-do .kmip-planner-intro-film{\n --kmip-film-rim:#332d28;background-color:var(--kmip-film-rim)!important;\n}\n\n\n\/* Vaux pilot: retain the native three-card layout and its existing app.js\n * plus-to-arrow hover owner; animate the photograph inside its fixed frame. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module {\n  --color-body:#fff;--wp--style--color--link:#fff;color:#fff;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module figure {overflow:hidden;}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module figure::after {\n  background:linear-gradient(0deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.72) 30%,rgba(0,0,0,.35) 55%,rgba(0,0,0,0) 80%)!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module :is(.has-text,.has-icon) {color:#fff!important;}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module .hcs-cross-svg {fill:currentColor!important;}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module:focus-within .has-text :is(p,ul,li,.wp-block-heading) {\n  opacity:1!important;transform:none!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module:focus-within::after {\n  content:\"\";position:absolute;inset:5px;z-index:5;border:2px solid #fff;outline:2px solid #1d1d1d;border-radius:inherit;pointer-events:none;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module .has-text a:focus-visible {outline:none;}\n@media(hover:none),(pointer:coarse),(max-width:991px) {\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module .has-text :is(p,ul,li,.wp-block-heading) {opacity:1!important;transform:none!important;}\n}\n@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module figure img {transition:transform .6s ease;}\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module:is(:hover,:focus-within) figure img {transform:scale(1.1);}\n}\n@media(prefers-reduced-motion:reduce) {\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module .has-text :is(p,ul,li,.wp-block-heading),\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #more-projects .card-module figure img {transition:none!important;}\n}\n\/* Quiet editorial links keep their own text hierarchy, with no CTA arrows. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-vaux-copy,.vaux-research,.kmip-work-research,article:is(.bg-transition,.kmip-case-editorial,.kmip-chateau-story,.kmip-plaza-story,.kmip-villette-story) :is(p,li),#more-projects .main-grid>p,#more-projects .kmip-chateau-more-inner>p) a:not(.wp-element-button):not(:where(#team-credits *,.card-module *)) {\n  color:inherit!important;font-weight:300!important;opacity:1!important;\n  text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em;\n  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)!important;\n  transition:text-decoration-color 300ms ease!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-vaux-copy,.vaux-research,.kmip-work-research,article:is(.bg-transition,.kmip-case-editorial,.kmip-chateau-story,.kmip-plaza-story,.kmip-villette-story) :is(p,li),#more-projects .main-grid>p,#more-projects .kmip-chateau-more-inner>p) a:not(.wp-element-button):not(:where(#team-credits *,.card-module *)):is(:hover,:focus-visible) {text-decoration-color:currentColor!important;}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-vaux-copy,.vaux-research,.kmip-work-research,article:is(.bg-transition,.kmip-case-editorial,.kmip-chateau-story,.kmip-plaza-story,.kmip-villette-story) :is(p,li),#more-projects .main-grid>p,#more-projects .kmip-chateau-more-inner>p) a:not(.wp-element-button):not(:where(#team-credits *,.card-module *)):focus-visible {outline:2px solid currentColor;outline-offset:4px;}\nhtml[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) :is(#more-projects .main-grid>p,#more-projects .kmip-chateau-more-inner>p) {\n  max-width:68ch!important;margin:clamp(32px,4vw,56px) 0 0!important;\n  font:300 16px\/1.7 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n  letter-spacing:0!important;text-align:left!important;color:#e5e4e0!important;\n}\n@media(prefers-reduced-motion:reduce) {\n  html[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-vaux-copy,.vaux-research,.kmip-work-research,article:is(.bg-transition,.kmip-case-editorial,.kmip-chateau-story,.kmip-plaza-story,.kmip-villette-story) :is(p,li),#more-projects .main-grid>p,#more-projects .kmip-chateau-more-inner>p) a:not(.wp-element-button):not(:where(#team-credits *,.card-module *)) {transition:none!important;}\n}\n\n\/* Vaux pilot: the existing shared Appearance control selects paired surfaces.\n   Intentional Black projects\/contact and Stone credits keep their own roles. *\/\nbody.page-id-38692 {\n --vaux-surface:#1d1d1d;--vaux-text:#e5e4e0;--vaux-muted:#959592;\n --vaux-caption:#c6c5bf;--vaux-line:#565652;--vaux-film-rim:#252525;\n --kmip-review-text:var(--vaux-text);--kmip-review-border:#777773;\n background-color:var(--vaux-surface);color:var(--vaux-text);\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-38692 {\n --vaux-surface:#e5e4e0;--vaux-text:#1d1d1d;--vaux-muted:#63635f;\n --vaux-caption:#63635f;--vaux-line:#aaa9a3;--vaux-film-rim:#fffef7;\n --kmip-review-border:#c9c8c3;\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-38692 .kmip-story-image>figcaption {opacity:1!important}\nbody.page-id-38692 .kmip-vaux-story,\nbody.page-id-38692 #vaux-questions {\n --kmip-review-text:var(--vaux-text);--kmip-review-border:var(--vaux-line);\n --wp--style--color--link:var(--vaux-text);\n}\nbody.page-id-38692 #vaux-questions :is(.rank-math-question,.rank-math-answer) {color:inherit!important}\nbody.page-id-38692 #vaux-questions :is(.rank-math-list,.rank-math-list-item) {border-color:var(--vaux-line)!important}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle {\n --kmip-review-text:#1d1d1d;--kmip-review-border:#aaa9a3;\n --wp--style--color--link:#1d1d1d;\n}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle{margin:0 -26px!important;width:calc(100% + 52px)!important;max-width:none!important;padding:0!important;height:auto!important;min-height:100svh;background:#fffef7!important;color:#1d1d1d!important}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__content{box-sizing:border-box;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(88px,9vw,144px) clamp(40px,5.5vw,88px) clamp(88px,9vw,144px) clamp(64px,8vw,144px)!important;max-width:none}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle :is(.vaux-planner-role,.kmip-work-planner-role){font:300 12px\/1.6 Inter,sans-serif!important;letter-spacing:.09em;text-transform:uppercase;color:#63635f!important;margin:0 0 28px!important}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle h2{font:300 clamp(34px,2.6vw,46px)\/1.16 Overpass,sans-serif!important;letter-spacing:-.025em;text-transform:none!important;margin:0 0 32px!important;color:inherit}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle .content{padding:0!important;max-width:380px;margin:0!important}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle .content>p:not(:is(.vaux-research,.kmip-work-research)){font:300 clamp(18px,1.4vw,22px)\/1.65 Inter,sans-serif!important;letter-spacing:0;margin:0!important;color:inherit}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle :is(.vaux-research,.kmip-work-research){display:flex;flex-wrap:wrap;gap:8px 28px;font:300 14px\/1.5 Inter,sans-serif!important;letter-spacing:0;margin:36px 0 0!important}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle :is(.vaux-research,.kmip-work-research) a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-decoration-color:#777772;text-decoration-thickness:1px;text-underline-offset:6px}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle :is(.vaux-research,.kmip-work-research) a:focus-visible{outline:2px solid currentColor;outline-offset:5px}\n@media(hover:hover){body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle :is(.vaux-research,.kmip-work-research) a:hover{text-decoration-color:currentColor}}\n\/* Copy the approved homepage 50\/50 clipped photograph geometry, not its copy. *\/\n@media(min-width:992px) {\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle {\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0;\n  margin-left:calc(-1 * var(--wp--style--root--padding-left,26px))!important;\n  margin-right:calc(-1 * var(--wp--style--root--padding-right,26px))!important;\n  width:auto!important;max-width:none!important;height:auto!important;min-height:100svh;\n  clip-path:inset(0);align-items:center;\n }\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__content {align-self:center;background:transparent!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media {\n  position:fixed!important;top:0!important;left:50vw!important;right:0!important;\n  width:50vw!important;max-width:50vw!important;height:100svh!important;min-height:0!important;max-height:100svh!important;\n  margin:0!important;overflow:hidden;\n }\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media>img {\n  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;\n  object-fit:cover;object-position:50% 50%;transform:none!important;\n }\n}\n@media(max-width:991px) {\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle {grid-template-columns:1fr!important;min-height:0!important;height:auto!important;clip-path:none}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__content {grid-column:1;grid-row:1;padding:88px 26px!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__content>:is(h2,.content,:is(.vaux-planner-role,.kmip-work-planner-role)) {box-sizing:border-box;width:100%;max-width:420px;margin-inline:auto!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media {position:relative!important;inset:auto!important;grid-column:1;grid-row:2;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media>img {height:auto!important;width:100%!important;transform:none!important}\n}\n@media(prefers-reduced-motion:reduce) {\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle {clip-path:none}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media {position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) #plan-with-chantelle>.wp-block-media-text__media>img {width:100%!important;height:auto!important;transform:none!important}\n body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716) .hero .vaux-video-toggle {animation:none!important;transition:none!important}\n}\n\/* The homepage inquiry pairs a Black section with the native Charcoal intake. *\/\nhtml[data-kmip-theme-preview] body.page-id-38692 #contact-us {\n --color-bg:#000;--color-body:#e5e4e0;\n --kmip-contact-ink:#e5e4e0;--kmip-contact-muted:#90908b;\n --kmip-review-text:#e5e4e0;--kmip-review-border:#90908b;\n background-color:#000!important;color:#e5e4e0!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-38692 #contact-us .content>:is(h2,p) {color:inherit!important}\nhtml[data-kmip-theme-preview] body.page-id-38692 #contact-us .wpcf7:has(.kmip-unified-intake) {background-color:#1d1d1d!important;color:#e5e4e0!important}\nhtml[data-kmip-theme-preview] body.page-id-38692 #contact-us .kmip-unified-intake {--kmip-intake-label:#e5e4e0;--kmip-intake-focus:#e5e4e0;color:#e5e4e0!important}\n\/* Footer uses its existing token API and independent link\/controller owners. *\/\nhtml[data-kmip-theme-preview] body.page-id-38692 .kmip-footer-2026 {--kmip-footer-paper:var(--vaux-surface);--kmip-footer-ink:var(--vaux-text);--kmip-footer-muted:var(--vaux-muted);--kmip-footer-line:var(--vaux-line)}\n\n\n\/* Sonia43309: same four surfaces and component owners as the approved Vaux pilot. *\/\nbody.page-id-43309 {\n --sonia-surface:#1d1d1d;--sonia-text:#e5e4e0;--sonia-muted:#959592;\n --sonia-caption:#c6c5bf;--sonia-line:#565652;--sonia-film-rim:#252525;\n --kmip-review-text:var(--sonia-text);--kmip-review-border:#777773;\n --wp--style--color--link:var(--sonia-text);background:var(--sonia-surface);color:var(--sonia-text);\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-43309 {\n --sonia-surface:#e5e4e0;--sonia-text:#1d1d1d;--sonia-muted:#63635f;\n --sonia-caption:#63635f;--sonia-line:#aaa9a3;--sonia-film-rim:#fffef7;\n --kmip-review-border:#aaa9a3;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(.kmip-case-editorial,#behind-the-scenes,#gallery,#faq) {\n --color-bg:var(--sonia-surface);--color-body:var(--sonia-text);\n --kmip-review-text:var(--sonia-text);--kmip-review-border:var(--sonia-line);\n --wp--style--color--link:var(--sonia-text);background-color:var(--sonia-surface)!important;color:var(--sonia-text)!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(.kmip-case-intro,#behind-the-scenes,#gallery,#faq) :is(h2,h3,p,blockquote,figcaption) {color:inherit}\nhtml[data-kmip-theme-preview] body.page-id-43309 .kmip-case-reading>.article-item {border-top-color:var(--sonia-line)!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 .kmip-case-pullquote {border-block-color:var(--sonia-line)!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(.kmip-story-image,.kmip-sonia-reel)>figcaption,\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(.kmip-case-pullquote cite,.kmip-brief-translation) {color:var(--sonia-caption)!important;opacity:1!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 figure.kmip-sonia-reel::before {background:var(--sonia-film-rim)!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 #faq :is(.rank-math-question,.rank-math-answer,.rank-math-answer p) {color:var(--sonia-text)!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 #faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {border-color:var(--sonia-line)!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 .hero {--kmip-review-text:#e5e4e0;--kmip-review-border:#b0afaa;color:#e5e4e0!important;background-color:#1d1d1d!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 .hero .content>:is(h1,p) {color:#e5e4e0!important}\n\/* Reuse the existing hero control; native playback\/reduced-motion controller stays intact. *\/\nbody.page-id-43309 .hero .kmip-work-video-toggle{position:absolute;inset:auto auto 12px 12px;z-index:6;display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:13px;border:0;border-radius:3px;background:rgb(17 17 17 \/ 60%);color:#fffef7;cursor:pointer;line-height:1;box-shadow:none}\nbody.page-id-43309 .hero .kmip-work-video-toggle svg{width:18px;height:18px;display:block;fill:currentColor}\nbody.page-id-43309 .hero .kmip-work-video-toggle:focus-visible{outline:2px solid #fffef7;outline-offset:2px;box-shadow:0 0 0 4px #1d1d1d}\n@media(hover:hover){body.page-id-43309 .hero .kmip-work-video-toggle:hover{background:rgb(17 17 17 \/ 75%)}}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects {--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;background:#000!important;color:#e5e4e0!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module {\n  --color-body:#fff;--wp--style--color--link:#fff;color:#fff;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module figure {overflow:hidden;}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module figure::after {\n  background:linear-gradient(0deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.72) 30%,rgba(0,0,0,.35) 55%,rgba(0,0,0,0) 80%)!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module :is(.has-text,.has-icon) {color:#fff!important;}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module .hcs-cross-svg {fill:currentColor!important;}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module:focus-within .has-text :is(p,ul,li,.wp-block-heading) {\n  opacity:1!important;transform:none!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module:focus-within::after {\n  content:\"\";position:absolute;inset:5px;z-index:5;border:2px solid #fff;outline:2px solid #1d1d1d;border-radius:inherit;pointer-events:none;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module .has-text a:focus-visible {outline:none;}\n@media(hover:none),(pointer:coarse),(max-width:991px) {\n  html[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module .has-text :is(p,ul,li,.wp-block-heading) {opacity:1!important;transform:none!important;}\n}\n@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {\n  html[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module figure img {transition:transform .6s ease;}\n  html[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module:is(:hover,:focus-within) figure img {transform:scale(1.1);}\n}\n@media(prefers-reduced-motion:reduce) {\n  html[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module .has-text :is(p,ul,li,.wp-block-heading),\n  html[data-kmip-theme-preview] body.page-id-43309 #more-projects .card-module figure img {transition:none!important;}\n}\n\/* Quiet editorial links keep their own text hierarchy, with no CTA arrows. *\/\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(#the-evening .has-content,.kmip-case-reading,.kmip-work-research,#more-projects .main-grid>p) a:not(.wp-element-button) {\n  color:inherit!important;font-weight:300!important;opacity:1!important;\n  text-decoration-line:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em;\n  text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)!important;\n  transition:text-decoration-color 300ms ease!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(#the-evening .has-content,.kmip-case-reading,.kmip-work-research,#more-projects .main-grid>p) a:not(.wp-element-button):is(:hover,:focus-visible) {text-decoration-color:currentColor!important;}\nhtml[data-kmip-theme-preview] body.page-id-43309 :is(#the-evening .has-content,.kmip-case-reading,.kmip-work-research,#more-projects .main-grid>p) a:not(.wp-element-button):focus-visible {outline:2px solid currentColor;outline-offset:4px;}\nhtml[data-kmip-theme-preview] body.page-id-43309 #more-projects .main-grid>p {\n  max-width:68ch!important;margin:clamp(32px,4vw,56px) 0 0!important;\n  font:300 16px\/1.7 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n  letter-spacing:0!important;text-align:left!important;color:#e5e4e0!important;\n}\n@media(prefers-reduced-motion:reduce) {\n  html[data-kmip-theme-preview] body.page-id-43309 :is(#the-evening .has-content,.kmip-case-reading,.kmip-work-research,#more-projects .main-grid>p) a:not(.wp-element-button) {transition:none!important;}\n}\n\nbody.page-id-43309 #plan-with-nadia {\n --kmip-review-text:#1d1d1d;--kmip-review-border:#aaa9a3;\n --wp--style--color--link:#1d1d1d;\n}\nbody.page-id-43309 #plan-with-nadia{margin:0 -26px!important;width:calc(100% + 52px)!important;max-width:none!important;padding:0!important;height:auto!important;min-height:100svh;background:#fffef7!important;color:#1d1d1d!important}\nbody.page-id-43309 #plan-with-nadia>.wp-block-media-text__content{box-sizing:border-box;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(88px,9vw,144px) clamp(40px,5.5vw,88px) clamp(88px,9vw,144px) clamp(64px,8vw,144px)!important;max-width:none}\nbody.page-id-43309 #plan-with-nadia .kmip-work-planner-role{font:300 12px\/1.6 Inter,sans-serif!important;letter-spacing:.09em;text-transform:uppercase;color:#63635f!important;margin:0 0 28px!important}\nbody.page-id-43309 #plan-with-nadia h2{font:300 clamp(34px,2.6vw,46px)\/1.16 Overpass,sans-serif!important;letter-spacing:-.025em;text-transform:none!important;margin:0 0 32px!important;color:inherit}\nbody.page-id-43309 #plan-with-nadia .content{padding:0!important;max-width:380px;margin:0!important}\nbody.page-id-43309 #plan-with-nadia .content>p:not(.kmip-work-research){font:300 clamp(18px,1.4vw,22px)\/1.65 Inter,sans-serif!important;letter-spacing:0;margin:0!important;color:inherit}\nbody.page-id-43309 #plan-with-nadia .kmip-work-research{display:flex;flex-wrap:wrap;gap:8px 28px;font:300 14px\/1.5 Inter,sans-serif!important;letter-spacing:0;margin:36px 0 0!important}\nbody.page-id-43309 #plan-with-nadia .kmip-work-research a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-decoration-color:#777772;text-decoration-thickness:1px;text-underline-offset:6px}\nbody.page-id-43309 #plan-with-nadia .kmip-work-research a:focus-visible{outline:2px solid currentColor;outline-offset:5px}\n@media(hover:hover){body.page-id-43309 #plan-with-nadia .kmip-work-research a:hover{text-decoration-color:currentColor}}\n\/* Copy the approved homepage 50\/50 clipped photograph geometry, not its copy. *\/\n@media(min-width:992px) {\n body.page-id-43309 #plan-with-nadia {\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0;\n  margin-left:calc(-1 * var(--wp--style--root--padding-left,26px))!important;\n  margin-right:calc(-1 * var(--wp--style--root--padding-right,26px))!important;\n  width:auto!important;max-width:none!important;height:auto!important;min-height:100svh;\n  clip-path:inset(0);align-items:center;\n }\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__content {align-self:center;background:transparent!important}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media {\n  position:fixed!important;top:0!important;left:50vw!important;right:0!important;\n  width:50vw!important;max-width:50vw!important;height:100svh!important;min-height:0!important;max-height:100svh!important;\n  margin:0!important;overflow:hidden;\n }\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media>img {\n  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;\n  object-fit:cover;object-position:50% 50%;transform:none!important;\n }\n}\n@media(max-width:991px) {\n body.page-id-43309 #plan-with-nadia {grid-template-columns:1fr!important;min-height:0!important;height:auto!important;clip-path:none}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__content {grid-column:1;grid-row:1;padding:88px 26px!important}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__content>:is(h2,.content,.kmip-work-planner-role) {box-sizing:border-box;width:100%;max-width:420px;margin-inline:auto!important}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media {position:relative!important;inset:auto!important;grid-column:1;grid-row:2;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media>img {height:auto!important;width:100%!important;transform:none!important}\n}\n@media(prefers-reduced-motion:reduce) {\n body.page-id-43309 #plan-with-nadia {clip-path:none}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media {position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}\n body.page-id-43309 #plan-with-nadia>.wp-block-media-text__media>img {width:100%!important;height:auto!important;transform:none!important}\n body.page-id-43309 .hero .kmip-work-video-toggle {animation:none!important;transition:none!important}\n}\n\n\/* Short existing lead remains; Contact1 is Black with Charcoal intake and native white fields. *\/\nhtml[data-kmip-theme-preview] body.page-id-43309 #contact-us {\n --sonia-contact-body:#e5e4e0;--sonia-contact-muted:#aaa9a3;--sonia-form-label:#e5e4e0;--sonia-form-focus:#e5e4e0;--sonia-form-error:#ffb5ae;\n --kmip-review-text:#e5e4e0;--kmip-review-border:#90908b;\n background:#000!important;color:#e5e4e0!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43309 #contact-us .content>:is(h2,p) {color:inherit!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 #contact-us .wpcf7:has(.kmip-unified-intake) {background:#1d1d1d!important;color:#e5e4e0!important}\nhtml[data-kmip-theme-preview] body.page-id-43309 .kmip-footer-2026 {--kmip-footer-paper:var(--sonia-surface);--kmip-footer-ink:var(--sonia-text);--kmip-footer-muted:var(--sonia-muted);--kmip-footer-line:var(--sonia-line)}\n\n\n\/* Restaurant guides retain their approved fixed WarmWhite footer.\n   Service footers follow the one shared mode pair, with an outline inquiry action. *\/\nbody:is(.page-id-32574,.page-id-31125) .kmip-footer-2026 {\n --kmip-footer-paper:#fffef7;--kmip-footer-ink:#1d1d1d;--kmip-footer-muted:#63635f;--kmip-footer-line:#aaa9a3;\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-footer-ink);--kmip-review-border:var(--kmip-footer-line);--kmip-service-focus:var(--kmip-footer-ink);\n}\nbody:is(.page-id-32574,.page-id-31125) .kmip-footer-2026 :is(.kmip-footer__logo,.kmip-footer__seal) img {filter:brightness(0)}\nbody:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-28821) .kmip-footer-2026 {\n --kmip-footer-paper:var(--kmip-mode-surface);--kmip-footer-ink:var(--kmip-mode-ink);\n --kmip-footer-muted:var(--kmip-mode-muted);--kmip-footer-line:var(--kmip-mode-rule);\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-footer-ink);--kmip-review-border:var(--kmip-footer-line);--kmip-service-focus:var(--kmip-footer-ink);\n}\n\n\/* All case studies: four-surface registry. Vaux\/Sonia retain their approved native adapters. *\/\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) {\n --kmip-case-surface:#1d1d1d;--kmip-case-text:#e5e4e0;--kmip-case-muted:#959592;\n --kmip-case-caption:#c6c5bf;--kmip-case-line:#565652;--kmip-case-film-rim:#1d1d1d;\n --kmip-review-text:var(--kmip-case-text);--kmip-review-border:#777773;\n --wp--style--color--link:var(--kmip-case-text);\n background-color:var(--kmip-case-surface);color:var(--kmip-case-text);\n}\nhtml[data-kmip-theme-preview=\"light\"] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) {\n --kmip-case-surface:#e5e4e0;--kmip-case-text:#1d1d1d;--kmip-case-muted:#63635f;\n --kmip-case-caption:#63635f;--kmip-case-line:#aaa9a3;--kmip-case-film-rim:#fffef7;\n --kmip-review-border:var(--kmip-case-line);\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) :is(.bg-transition,.kmip-case-editorial,.kmip-chateau-story,.kmip-plaza-story,.kmip-villette-story,#faq,#gallery,#gallery-and-films,#shorts,#shorts-videos):not(.hero) {\n --color-bg:var(--kmip-case-surface)!important;--color-body:var(--kmip-case-text)!important;\n --kmip-review-text:var(--kmip-case-text);--kmip-review-border:var(--kmip-case-line);\n --wp--style--color--link:var(--kmip-case-text);\n background-color:var(--kmip-case-surface)!important;color:var(--kmip-case-text)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) :is(.article-item,.kmip-chateau-chapter,.kmip-plaza-chapter,.kmip-villette-chapter):not(.hero)>:is(h1,h2,h3,p,blockquote) {color:var(--kmip-case-text)!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-case-reading>.article-item,.kmip-case-pullquote) {border-color:var(--kmip-case-line)!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) #faq :is(.rank-math-question,.rank-math-answer,.rank-math-answer p) {color:var(--kmip-case-text)!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) #faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {border-color:var(--kmip-case-line)!important}\n\/* Existing native captions remain in flow and editable. No gallery display changes. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-story-image>figcaption,.kmip-case-film-credit,.kmip-plaza-film-caption,.kmip-family-film-caption,.kmip-chateau-film-credit,.kmip-case-pullquote cite) {color:var(--kmip-case-caption)!important;opacity:1!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) :is(.kmip-case-film-rim,.kmip-chateau-featured-film,.kmip-plaza-film,.kmip-case-preview-film) {background-color:var(--kmip-case-film-rim)!important}\n\/* Photographic heroes stay paired; StoryHero headers36730\/36801 inherit their story surface. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero {--kmip-review-text:#e5e4e0;--kmip-review-border:#b0afaa;--wp--style--color--link:#e5e4e0;color:#e5e4e0!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .content>:is(h1,h2,p) {color:#e5e4e0!important}\n\/* Team credits retain native Stone; photo reviews retain their native Black presentation. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .kmip-team-credits {--kmip-review-text:#1d1d1d;--kmip-review-border:#aaa9a3;color:#1d1d1d!important}\n\/* Black inquiry, Charcoal intake, original native white controls and form identities. *\/\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) {\n --kmip-review-text:#e5e4e0;--kmip-review-border:#90908b;\n --kmip-contact-ink:#e5e4e0;--kmip-contact-muted:#aaa9a3;--kmip-contact-line:#777773;\n --kmip-intake-label:#e5e4e0;--kmip-intake-focus:#e5e4e0;--kmip-intake-error:#ffb5ae;\n background-color:#000!important;color:#e5e4e0!important;\n}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) :is(.content>h2,.content>p,form p,.kmip-form-privacy a,.kmip-form-note,.wpcf7-response-output) {color:#e5e4e0!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) .wpcf7:has(.kmip-unified-intake) {background-color:#1d1d1d!important;color:#e5e4e0!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) .kmip-unified-intake label {color:#e5e4e0!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) .kmip-unified-intake :is(input[type=\"text\"],input[type=\"email\"],input[type=\"tel\"],input[type=\"date\"],input[type=\"number\"],input[type=\"url\"],select,textarea) {background-color:#fffef7!important;color:#1d1d1d!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) .kmip-unified-intake ::placeholder {color:#63635f!important;opacity:1!important}\n:is(html:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-40533,.page-id-36402,.page-id-43125,.page-id-43126) #contact-us,html:root[data-kmip-theme-preview] body.page-id-42812 #album-inquiry,html:root[data-kmip-theme-preview] body.page-id-42805 #request) .wpcf7-not-valid-tip {color:#ffb5ae!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .kmip-footer-2026 {--kmip-footer-paper:var(--kmip-case-surface);--kmip-footer-ink:var(--kmip-case-text);--kmip-footer-muted:var(--kmip-case-muted);--kmip-footer-line:var(--kmip-case-line)}\n\/* Reuse existing video controllers; presentation only. Actual photo\/story heroes get no new Pause UI. *\/\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .kmip-work-video-toggle{position:absolute;inset:auto auto 12px 12px;z-index:6;display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:13px;border:0;border-radius:3px;background:rgb(17 17 17 \/ 60%);color:#fffef7;cursor:pointer;line-height:1;box-shadow:none}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .kmip-work-video-toggle svg{width:18px;height:18px;display:block;fill:currentColor}\nbody:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .kmip-work-video-toggle:focus-visible{outline:2px solid #fffef7;outline-offset:2px;box-shadow:0 0 0 4px #1d1d1d}\n@media(hover:hover){body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .kmip-work-video-toggle:hover{background:rgb(17 17 17 \/ 75%)}}\n\/* Existing controlled reels: one video row, one caption row; no absolute button over the caption. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) figure.wp-block-video.kmip-work-reel-controlled {position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) figure.kmip-work-reel-controlled>video {grid-area:1 \/ 1}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) figure.kmip-work-reel-controlled>figcaption {grid-area:2 \/ 1;color:var(--kmip-case-caption)!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) figure.kmip-work-reel-controlled>.kmip-work-reel-toggle {\n position:relative!important;grid-area:1 \/ 1;align-self:end;justify-self:start;inset:auto!important;z-index:2;display:inline-flex!important;align-items:center;justify-content:center;\n box-sizing:border-box;min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;max-width:none;margin:8px!important;padding:0!important;appearance:none;border:0!important;border-radius:3px;background:rgba(17,17,17,.72)!important;color:#fffef7!important;cursor:pointer;box-shadow:none!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) .kmip-work-reel-toggle::before {content:none}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) .kmip-work-reel-toggle svg {position:relative;display:block;width:18px;height:18px;fill:currentColor}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) :is(#result,#intro,#shorts) .kmip-work-reel-toggle:focus-visible {outline:2px solid #fffef7!important;outline-offset:2px;box-shadow:0 0 0 4px #1d1d1d!important}\n@media(prefers-reduced-motion:reduce){body:is(.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38832,.page-id-38885,.page-id-41716) .hero .kmip-work-video-toggle,html:root[data-kmip-theme-preview] body:is(.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820) .kmip-work-reel-toggle {animation:none!important;transition:none!important}}\n\n\n\/* Work gateway: neutral title\/filter surfaces follow Appearance.\n   Photographic cards keep their existing overlay, white labels and motion owner. *\/\nhtml[data-kmip-theme-preview] body.page-id-29993 {\n --kmip-work-filter-active:color-mix(in srgb,var(--kmip-mode-ink) 8%,transparent);\n --kmip-work-filter-focus:var(--kmip-mode-ink);\n background-color:var(--kmip-mode-surface);color:var(--kmip-mode-ink);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .wp-block-post-content>:is(.sec-hero,.sec.v2:has(>#case-studies)) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --wp--style--color--link:var(--color-body);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n --kmip-review-text:var(--kmip-mode-ink,#1d1d1d);--kmip-review-border:var(--kmip-mode-rule,#aaa9a3);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .sec-hero>.wp-block-heading {color:var(--kmip-mode-ink)!important}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .sec-hero>p {color:var(--kmip-mode-muted)!important}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters,\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters :is(h5,button,label) {color:var(--kmip-mode-ink)!important}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters ul[data-work-panel] {\n background:var(--kmip-mode-paper);color:var(--kmip-mode-ink);border-color:var(--kmip-mode-rule);\n}\n\/* Work filter interaction pairs: keep text readable on the existing filled state. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters>ul>li>button:is(:hover,:focus-visible,[aria-expanded=\"true\"]) {\n background-color:var(--kmip-mode-button-fill)!important;\n color:var(--kmip-mode-button-text)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters>ul>li>button:is(:hover,:focus-visible,[aria-expanded=\"true\"]) :is(.text-inner,.text-selected) {\n color:inherit!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29993 .filters>ul>li>button:focus-visible {\n outline:2px solid var(--kmip-mode-focus,var(--kmip-mode-ink))!important;\n outline-offset:5px;\n}\n\nhtml[data-kmip-theme-preview] body.page-id-29993 #all-items .card-module {\n --color-body:#fffef7;--color-heading:var(--color-body);--wp--style--color--link:#fffef7;\n}\n\n\/* Planner profiles: neutral editorial copy follows Appearance; portrait heroes\n   and the existing Black testimonial interludes keep their own foreground. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31718,.page-id-30743) main {\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-mode-ink);\n --kmip-review-border:var(--kmip-mode-rule);--kmip-service-focus:var(--kmip-mode-ink);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-31718 #what-clients-say .card:not(.card-module) {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n background-color:var(--kmip-mode-paper)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile,\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile>.sec:not(.nadia-home-testimonial):not(.kmip-planner-hero-shell) {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n --kmip-film-rim:var(--kmip-mode-paper);--kmip-mode-local-muted:var(--kmip-mode-muted);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile>.has-custom-white-background-color {\n background-color:var(--kmip-mode-paper)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31718,.page-id-30743) .kmip-people-section {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31718,.page-id-30743) .kmip-planner-hero-shell,\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31718,.page-id-30743) .kmip-planner-hero,\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile .nadia-home-testimonial {\n --color-body:#e5e4e0;--color-heading:currentColor;--wp--style--color--link:#e5e4e0;\n --kmip-review-fill:transparent;--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n color:#e5e4e0!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile #faq :is(.rank-math-question,.rank-math-answer) {color:inherit!important}\nhtml:root[data-kmip-theme-preview] body.page-id-30743 #nadia-profile #faq :is(.rank-math-list-item,.rank-math-faq-item) {border-color:var(--kmip-mode-rule)!important}\n\n\/* Guide-family neutral surfaces: merge into the existing44437 owner after registry\/palette membership.\n   app.js remains the owner of scroll phases. These rules never target photo pixels or intake controls. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-37479 #kmip-where>.where-section:not(.where-private):not(.sec-cta),\nhtml:root[data-kmip-theme-preview] body.page-id-37479 #kmip-where #faq {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--kmip-mode-local-muted:var(--kmip-mode-muted);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-37479 #kmip-where .where-private {\n --color-body:#e5e4e0;--color-heading:var(--color-body);--kmip-mode-local-muted:#959592;\n background-color:#1d1d1d!important;color:#e5e4e0!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-37736 .cost-guide {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-review-text:var(--color-body);--kmip-review-border:var(--kmip-mode-rule);--kmip-service-focus:var(--color-body);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-39223 #kmip-photo-guide>.guide-area:not(.has-accent-5-background-color),\nhtml:root[data-kmip-theme-preview] body.page-id-39223 #location-questions {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--kmip-mode-local-muted:var(--kmip-mode-muted);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-39223 #kmip-photo-guide>.guide-area.has-accent-5-background-color {\n --color-body:#e5e4e0;--color-heading:var(--color-body);--kmip-mode-local-muted:#959592;color:#e5e4e0!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-39223 .guide-access:not(.guide-access-blue) {color:#e5e4e0!important;--color-body:#e5e4e0;--color-heading:currentColor}\nhtml:root[data-kmip-theme-preview] body.page-id-39397 .creative-ideas-body {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--color-border:var(--kmip-mode-rule);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-39397 .creative-cta {--color-body:#fffef7;--color-heading:var(--color-body);color:#fffef7!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31961,.page-id-31550) .bg-transition,\nhtml:root[data-kmip-theme-preview] body.page-id-31961 #faq {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-mode-local-muted:var(--kmip-mode-muted);--kmip-mode-local-rule:var(--kmip-mode-rule);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31961,.page-id-31550) .bg-transition .card:not(.card-module) {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n background-color:var(--kmip-mode-paper)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-31550 .sec-map {\n --color-body:#e5e4e0;--color-heading:var(--color-body);background-color:#000;color:#e5e4e0;\n}\n\n\/* About neutral copy uses mode tokens; fixed portraits\/hero\/inquiry keep their existing dark roles. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-29952 #kmip-about {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29952 #kmip-about .about-values {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29952 #kmip-about :is(.about-hero,.about-portrait,.about-inquire,.b15-panel) {\n --about-ink:#1d1d1d;--about-paper:#fffef7;--about-blue:#e5e4e0;\n --color-body:#fffef7;--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n --kmip-review-text:#fffef7;--kmip-review-border:#777773;--kmip-review-fill:transparent;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29952 #kmip-about #chapter-tabs {\n --about-ink:#1d1d1d;--about-paper:#fffef7;--color-body:#1d1d1d;--color-heading:var(--color-body);\n}\nhtml:root[data-kmip-theme-preview=\"dark\"] body.page-id-29952 #kmip-about .about-logo-row img {filter:brightness(0) invert(.88)}\nhtml:root[data-kmip-theme-preview=\"light\"] body.page-id-29952 #kmip-about .about-logo-row img {filter:brightness(0)}\n\n\/* Team portraits stay unchanged; plain directory copy and service-row paper follow the selected pair. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-31913 :is(#team,#services,.signature-service-items,.signature-service-item,#faq) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --wp--style--color--link:var(--color-body);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-31913 :is(.team-hero-refined,.sec-vip-experience) {\n --color-body:#fffef7;--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n --kmip-review-text:#fffef7;--kmip-review-border:#777773;--kmip-review-fill:transparent;\n}\n\n\/* Photographer-directory roster and standards are neutral. Its peacock opening and photographic inquiry stay dark. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-31918 .kmip-artists :is(.artists-roster,.artists-standard) {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n color:var(--kmip-mode-ink);\n}\nhtml:root[data-kmip-theme-preview] body.page-id-31918 .kmip-artists :is(.artists-opening,.artists-inquiry) {\n --color-body:var(--artists-light,#f4f2ec);--color-heading:var(--color-body);--wp--style--color--link:var(--color-body);\n --kmip-review-text:#fffef7;--kmip-review-border:#777773;--kmip-review-fill:transparent;\n}\n\n\n\/* Service Appearance registry: shared palette, family adapters and existing controller.\n   Native scroll controllers retain their phase classes; native page CSS consumes these tokens. *\/\nbody:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-8,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) {\n --kmip-mode-surface:#1d1d1d;--kmip-mode-paper:#1d1d1d;--kmip-mode-ink:#e5e4e0;\n --kmip-mode-muted:#959592;--kmip-mode-rule:#565652;--kmip-mode-button-fill:#fffef7;--kmip-mode-button-text:#1d1d1d;--kmip-mode-focus:var(--kmip-mode-ink);\n --kmip-mode-color-scheme:dark;--kmip-mode-filter-chevron:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23e5e4e0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\");\n}\nhtml[data-kmip-theme-preview=\"light\"] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-8,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) {\n --kmip-mode-surface:#e5e4e0;--kmip-mode-paper:#fffef7;--kmip-mode-ink:#1d1d1d;\n --kmip-mode-muted:#63635f;--kmip-mode-rule:#aaa9a3;--kmip-mode-button-fill:#000;--kmip-mode-button-text:#fffef7;--kmip-mode-focus:var(--kmip-mode-ink);\n --kmip-mode-color-scheme:light;--kmip-mode-filter-chevron:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%231d1d1d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\");\n}\n\/* Chapter panels retain their native light control palette independently of the editorial mode. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090) #chapter-tabs {\n --kmip-mode-button-fill:#000;--kmip-mode-button-text:#fffef7;--kmip-mode-focus:#1d1d1d;\n}\n\n\/* PROPOSED SERVICE REGISTRY FRAGMENT \u2014 integrate into the existing44437 owner.\n   Parent defines the --kmip-mode-* contract once. Not a separate stylesheet\/handler.\n   Keep app.js as sole owner of native scroll phase class changes. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition {\n --kmip-review-fill:transparent;\n --kmip-review-text:var(--color-body);\n --kmip-review-border:var(--kmip-mode-local-rule,var(--kmip-mode-rule));\n --kmip-service-focus:var(--color-body);\n --wp--style--color--link:var(--color-body);\n background-color:var(--color-bg)!important;color:var(--color-body)!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition.has-contrast-background-color {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-mode-local-muted:var(--kmip-mode-muted);--kmip-mode-local-rule:var(--kmip-mode-rule);\n}\n\/* Explicit native Light\/Warm\/White\/Black scroll phases retain their roles, like Home. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition.has-base-background-color {\n --color-bg:#e5e4e0;--color-body:#1d1d1d;--color-heading:var(--color-body);--kmip-mode-local-muted:#63635f;--kmip-mode-local-rule:#aaa9a3;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition.has-accent-5-background-color {\n --color-bg:#000;--color-body:#e5e4e0;--color-heading:var(--color-body);--kmip-mode-local-muted:#959592;--kmip-mode-local-rule:#565652;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition:is(.has-custom-warm-background-color,.has-custom-white-background-color) {\n --color-bg:#fffef7;--color-body:#1d1d1d;--color-heading:var(--color-body);--kmip-mode-local-muted:#63635f;--kmip-mode-local-rule:#aaa9a3;\n}\n\/* Venue article\/reel\/film\/gallery neutral families. Native paint declarations\n   move to tokens in proposal-native-palette-edits.json; no inherited global preset remap. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37635,.page-id-37077) :is(.kmip-venue-main,.kmip-venue-reels,.kmip-venue-film,.kmip-venue-films,.kmip-venue-gallery) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-mode-local-muted:var(--kmip-mode-muted);--kmip-mode-local-rule:var(--kmip-mode-rule);\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-mode-ink);--kmip-review-border:var(--kmip-mode-rule);--kmip-service-focus:var(--kmip-mode-focus);\n --wp--style--color--link:var(--kmip-mode-ink);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-43114 #kmip-rooftop {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-mode-local-muted:var(--kmip-mode-muted);--kmip-mode-local-rule:var(--kmip-mode-rule);\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-mode-ink);--kmip-review-border:var(--kmip-mode-rule);--kmip-service-focus:var(--kmip-mode-focus);\n --wp--style--color--link:var(--kmip-mode-ink);\n}\n\/* The custom comparison paints its sticky cells Charcoal; keep the complete pair fixed. *\/\nhtml[data-kmip-theme-preview] body.page-id-43114 #kmip-rooftop .rooftop-dark {\n --color-bg:#1d1d1d;--color-body:#e5e4e0;--color-heading:var(--color-body);--kmip-mode-local-muted:#959592;--kmip-mode-local-rule:#565652;\n --kmip-review-fill:transparent;--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n --wp--style--color--link:#e5e4e0;\n}\n\/* FAQ is a neutral independent surface, rather than whichever scroll phase sits behind it. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37635,.page-id-37077,.page-id-43114,.page-id-37394) .sec-faq {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-mode-local-muted:var(--kmip-mode-muted);--kmip-mode-local-rule:var(--kmip-mode-rule);\n --kmip-review-text:var(--kmip-mode-ink);--kmip-review-border:var(--kmip-mode-rule);--kmip-service-focus:var(--kmip-mode-focus);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37635,.page-id-37077,.page-id-43114,.page-id-37394) .sec-faq :is(.rank-math-question,.rank-math-answer,.rank-math-answer p) {color:var(--kmip-mode-ink)!important}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37635,.page-id-37077,.page-id-43114,.page-id-37394) .sec-faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {border-color:var(--kmip-mode-rule)!important}\n\/* Existing Work\/related phases are intentionally Black. Forms and heroes are untouched. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-37635,.page-id-37077) #more-projects {\n --color-bg:#000;--color-body:#e5e4e0;--color-heading:var(--color-body);--kmip-mode-local-muted:#959592;--kmip-mode-local-rule:#565652;\n --kmip-review-fill:transparent;--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n background-color:#000!important;color:#e5e4e0!important;\n}\n\/* Real neutral labels\/captions use paired quiet ink at full opacity.\n   This does not target photo-overlay labels or image\/video elements. *\/\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37588,.page-id-37984,.page-id-37647,.page-id-31919,.page-id-31882,.page-id-32090,.page-id-37986,.page-id-29435,.page-id-31718,.page-id-37394,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31850) .bg-transition :is(.has-title>.eyebrow,.article-item>.eyebrow,.article-header>section>.eyebrow) {\n color:var(--kmip-mode-local-muted,var(--kmip-mode-muted))!important;opacity:1!important;mix-blend-mode:normal!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37635,.page-id-37077) :is(.kmip-venue-main,.kmip-venue-reels,.kmip-venue-film,.kmip-venue-films,.kmip-venue-gallery) :is(.has-title>.eyebrow,.case-summery .eyebrow) {\n color:var(--kmip-mode-muted)!important;opacity:1!important;mix-blend-mode:normal!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37635,.page-id-37077) :is(.kmip-venue-features .setups .setup-item-content>.has-figure>figure.wp-block-image>figcaption,.kmip-venue-reels figure.wp-block-video>figcaption) {\n color:var(--kmip-mode-muted)!important;opacity:1!important;\n}\nhtml[data-kmip-theme-preview] body:is(.page-id-37238,.page-id-36402,.page-id-37635,.page-id-37077,.page-id-43114,.page-id-37394) .sec-faq>.eye {\n color:var(--kmip-mode-muted)!important;opacity:1!important;mix-blend-mode:normal!important;\n}\n\n\/* DRAFT merge into the existing shared structural service adapter in44437.\n   Root defines --kmip-mode-* tokens and existing controller\/loader membership.\n   Native catalog\/album palettes are parameterized in their existing page owners.\n   This section covers only native structural phases outside those family roots. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-39002,.page-id-34121,.page-id-42805) main :is(#faq,#editing-faq) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-review-fill:var(--kmip-mode-button-fill);--kmip-review-text:var(--kmip-mode-button-text);--kmip-review-border:var(--kmip-mode-button-fill);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-39002,.page-id-34121,.page-id-42805) main :is(#faq,#editing-faq) :is(.eye,.rank-math-question,.rank-math-answer) {\n color:inherit!important;border-color:var(--kmip-mode-rule)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-42812 #album-questions {\n --color-bg:var(--kmip-mode-paper);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n background-color:var(--kmip-mode-paper)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-42812 #album-questions :is(h2.eye,.rank-math-question,.rank-math-answer) {\n color:inherit!important;border-color:var(--kmip-mode-rule)!important;\n}\n\n\/* Planner neutral bodies use their native component roots; hero\/form owners remain separate. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-31884 :is(.ep-body,.ep-light,.ep-process,#faq,#related-reading) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --kmip-review-fill:transparent;--kmip-review-text:var(--color-body);--kmip-review-border:var(--kmip-mode-rule);\n --wp--style--color--link:var(--kmip-mode-ink);--kmip-service-focus:var(--kmip-mode-focus);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29435 .pp-body :is(.pp-section,.pp-review,#faq) {\n background-color:transparent!important;color:inherit!important;--color-heading:currentColor;\n --kmip-review-fill:transparent;--kmip-review-text:currentColor;--kmip-review-border:var(--kmip-mode-local-rule,var(--kmip-mode-rule));--kmip-service-focus:currentColor;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29435 #faq :is(.rank-math-question,.rank-math-answer,.rank-math-answer p) {color:inherit!important}\nhtml:root[data-kmip-theme-preview] body.page-id-29435 #faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {border-color:var(--kmip-mode-local-rule,var(--kmip-mode-rule))!important}\n\n\/* Native independent FAQs have their own surface, rather than an inherited photo\/scroll phase. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31884,.page-id-37647,.page-id-30319,.page-id-39394,.page-id-31919,.page-id-31882,.page-id-32090) .sec-faq {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n --wp--style--color--link:var(--kmip-mode-ink);--kmip-service-focus:var(--kmip-mode-focus);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31884,.page-id-37647,.page-id-30319,.page-id-39394,.page-id-31919,.page-id-31882,.page-id-32090) .sec-faq :is(.eye,.rank-math-question,.rank-math-answer,.rank-math-answer p) {color:inherit!important}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-31884,.page-id-37647,.page-id-30319,.page-id-39394,.page-id-31919,.page-id-31882,.page-id-32090) .sec-faq :is(.rank-math-faq-item,.rank-math-list-item,hr) {border-color:var(--kmip-mode-rule)!important}\n\/* Packages' outer neutral\/rail\/details paper is parameterized in its existing page CSS. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-30319 :is(.pk-intro,.pk-before-booking,.pk-faq) {\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--kmip-mode-ink);\n --kmip-service-focus:var(--kmip-mode-focus);color:var(--kmip-mode-ink)!important;\n}\n\/* Photography hub root and FAQ pair; artist\/review\/form\/related sections keep explicit local roles. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-39394 #kmip-photography-hub {\n --photo-ink:var(--kmip-mode-ink);--photo-paper:var(--kmip-mode-surface);\n --color-bg:var(--kmip-mode-surface);--color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);--wp--style--color--link:var(--kmip-mode-ink);\n background-color:var(--kmip-mode-surface)!important;color:var(--kmip-mode-ink)!important;\n}\n\/* Fixed photographic Work\/Services phases and their overlays never inherit neutral dark ink. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-39394 #photography-resources,\nhtml:root[data-kmip-theme-preview] body.page-id-31919 #photoshoot-resources {\n --color-bg:#000;--color-body:#e5e4e0;--color-heading:var(--color-body);--wp--style--color--link:#e5e4e0;\n --kmip-review-fill:transparent;--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n background-color:#000!important;color:#e5e4e0!important;\n}\nhtml:root[data-kmip-theme-preview] body.page-id-29435 .pp-parallax-panel,\nhtml:root[data-kmip-theme-preview] body.page-id-39394 #artists {\n --kmip-review-fill:transparent;--kmip-review-text:#e5e4e0;--kmip-review-border:#777773;\n --color-bg:#1d1d1d;--color-body:#e5e4e0;--color-heading:var(--color-body);--wp--style--color--link:#e5e4e0;--kmip-service-focus:#e5e4e0;\n}\n\/* Pricing photo overlays preserve their own white foreground; their neutral rails\/popups use mode tokens. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-30319,.page-id-31884) .pk-experiences .setup-item-content {\n --color-body:#fffef7;--color-heading:var(--color-body);--wp--style--color--link:#fffef7;--kmip-service-focus:#fffef7;\n}\n\/* Pre-wedding price CTAs are white on the native pricing phase in both modes. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-39593 #prices {\n --color-bg:#1d1d1d;--color-body:#fffef7;--color-heading:var(--color-body);--wp--style--color--link:#fffef7;\n background-color:#1d1d1d!important;color:#fffef7!important;\n}\n\/* Existing dark photography families retain local CTA\/focus pairs after their neutral roots change. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-38039,.page-id-38045) :is(.bd-tone-dark,.bd-tone-charcoal),\nhtml:root[data-kmip-theme-preview] body.page-id-42764 :is(.fp-tone-dark,.fp-tone-charcoal),\nhtml:root[data-kmip-theme-preview] body.page-id-38022 :is(.pp-tone-dark,.pp-tone-charcoal,.pp-testimonial,.kmip-service-reviews-black,#questions) {\n --kmip-review-fill:transparent;--kmip-review-text:#fffef7;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n}\n\n\n\/* Native theme heading colors have an independent token. Pair it at each neutral\n   family root and each fixed phase, without inheriting bright ink into media. *\/\nhtml:root[data-kmip-theme-preview] body.page-id-38022 :is(#kmip-proposal-photo,.pp-tone-ivory,.pp-tone-grey),\nhtml:root[data-kmip-theme-preview] body:is(.page-id-38039,.page-id-38045) :is(.kmip-service-refined,.bd-tone-ivory,.bd-tone-grey),\nhtml:root[data-kmip-theme-preview] body.page-id-42764 :is(#kmip-family,.fp-tone-ivory,.fp-tone-grey),\nhtml:root[data-kmip-theme-preview] body.page-id-38003 .kmip-wedding-body,\nhtml:root[data-kmip-theme-preview] body.page-id-39593 .pre-wedding-body,\nhtml:root[data-kmip-theme-preview] body.page-id-43123 .kmip-night-guide,\nhtml:root[data-kmip-theme-preview] body.page-id-43126 .kmip-santorini-guide,\nhtml:root[data-kmip-theme-preview] body.page-id-43125 .kmip-lavender-guide,\nhtml:root[data-kmip-theme-preview] body.page-id-40533 :is(#kmip-film,.film-ivory,.film-grey),\nhtml:root[data-kmip-theme-preview] body.page-id-38056 :is(#kmip-boudoir,.bd-tone-ivory,.bd-tone-grey) {\n --color-body:var(--kmip-mode-ink);--color-heading:var(--color-body);\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-39002,.page-id-34121) .km-collection,\nhtml:root[data-kmip-theme-preview] body.page-id-42805 .km-editing {\n --color-body:var(--km-ink,var(--kmip-mode-ink));--color-heading:var(--color-body);\n --kmip-review-text:var(--km-ink,var(--kmip-mode-ink));--kmip-review-border:var(--km-line,var(--kmip-mode-rule));\n}\nhtml:root[data-kmip-theme-preview] body.page-id-42812 .kma-page {\n --color-body:var(--album-ink,var(--kmip-mode-ink));--color-heading:var(--color-body);\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-38039,.page-id-38045,.page-id-38056) :is(.bd-tone-dark,.bd-tone-charcoal),\nhtml:root[data-kmip-theme-preview] body.page-id-42764 :is(.fp-tone-dark,.fp-tone-charcoal),\nhtml:root[data-kmip-theme-preview] body.page-id-38022 :is(.pp-tone-dark,.pp-tone-charcoal,.pp-testimonial,.kmip-service-reviews-black,#questions),\nhtml:root[data-kmip-theme-preview] body.page-id-39593 :is(#prices,#related-services),\nhtml:root[data-kmip-theme-preview] body.page-id-38003 :is(#more-projects,#booking),\nhtml:root[data-kmip-theme-preview] body.page-id-40533 :is(.film-charcoal,.film-black,.film-faq,#your-team),\nhtml:root[data-kmip-theme-preview] body.page-id-42812 :is(.kma-final,.kma-close) {\n --color-body:#fffef7;--color-heading:var(--color-body);\n --kmip-review-text:#e5e4e0;--kmip-review-border:#777773;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-39002,.page-id-34121) .km-collection :is(.km-dark,.km-hero,.kmip-contact-1),\nhtml:root[data-kmip-theme-preview] body.page-id-42805 .km-editing :is(.km-dark,.km-hero,.kmip-contact-1) {\n --color-body:var(--km-ink,#fffef7);--color-heading:var(--color-body);\n --kmip-review-text:#e5e4e0;--kmip-review-border:#777773;\n}\n\/* Native media\/hero\/form foreground remains its own local owner. currentColor\n   makes an h1-h4 inherit that real foreground rather than a distant neutral token. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090) :is(.hero,.km-hero,.sec-cta,.kmip-contact-1,.photo-intake,.film-contact),\nhtml:root[data-kmip-theme-preview] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090) .card-module :is(.has-text,.has-icon) {\n --color-heading:currentColor;\n}\nhtml:root[data-kmip-theme-preview] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090) .card-module {\n --color-body:#fffef7;--color-heading:var(--color-body);\n}\n\/* Standalone editorial labels are muted at full opacity on their actual phase. *\/\nhtml:root[data-kmip-theme-preview] body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090) .bg-transition .sec>.eyebrow {\n color:var(--kmip-mode-local-muted,var(--kmip-mode-muted))!important;opacity:1!important;mix-blend-mode:normal!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .wp-block-post-content {\n --kmip-review-fill:transparent;--kmip-review-text:var(--kmip-mode-ink,#1d1d1d);--kmip-review-border:var(--kmip-mode-rule,#777773);\n --kmip-service-focus:#1d1d1d;\n --kmip-film-rim:#e5e4e0;--kmip-film-ink:#1d1d1d;\n}\n\nhtml:root body:is(.page-id-38022,.page-id-38056) .wp-block-post-content :is(.pp-tone-charcoal,.pp-tone-dark,.bd-tone-dark,.bd-tone-charcoal,#contact-us,#inquire,#related-services) {\n --kmip-review-fill:transparent;--kmip-review-text:#fffef7;--kmip-review-border:#777773;\n --kmip-service-focus:#e5e4e0;\n --kmip-film-rim:#000;--kmip-film-ink:#fffef7;\n}\n\/* Film rims share the same four-surface palette, including native nested color groups. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) .wp-block-post-content :is(.pp-tone-ivory,.pp-tone-grey,.bd-tone-ivory,.bd-tone-grey,.has-custom-white-background-color,.has-custom-sun-light-background-color,.has-white-background-color,.film-ivory,.film-grey) {\n --kmip-film-rim:#e5e4e0;--kmip-film-ink:#1d1d1d;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .wp-block-post-content :is(.theme-dark,.has-contrast-background-color,.has-accent-5-background-color,.has-black-background-color,.film-charcoal,.film-black) {\n --kmip-film-rim:#000;--kmip-film-ink:#fffef7;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .hero {\n --kmip-service-focus:#e5e4e0;color:#e5e4e0!important;\n}\n\/* Same saved Cover gradient and70% scrim as current Home8, at every width. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-hero>.wp-block-cover__background {\n background:linear-gradient(90deg,rgb(0,0,0) 23%,rgba(0,0,0,0) 68%)!important;\n opacity:.7!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-hero .content>:is(h1,p) {color:#e5e4e0!important;}\n\/* H1 keeps the actual native title--h1 \/ strong \/ em family used by Home8. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-hero .content>p:not(.eyebrow):not(.eye) {\n font:300 clamp(18px,1.25vw,22px)\/1.5 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(.kmip-service-hero .eyebrow,.kmip-service-refined .has-title>.eyebrow) {\n font:400 clamp(13px,calc(12px + .16vw),15px)\/1.35 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n letter-spacing:.025em!important;opacity:1!important;\n}\n\/* Keep section labels small; bound only real editorial\/display headings. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(.kmip-service-refined .pp-heading,#contact-us h2.pp-contact-heading,#inquire h2,#related-services h2.big-heading) {\n font:300 clamp(32px,2.6vw,48px)\/1.18 Overpass,sans-serif!important;\n text-transform:none!important;letter-spacing:-.02em!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined .has-content>:is(h3,h4):not(.pp-heading) {\n font:300 clamp(22px,1.8vw,28px)\/1.3 Overpass,sans-serif!important;\n letter-spacing:-.012em!important;text-transform:none!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined .has-content :is(p,li):not(.eyebrow):not(.eye):not(.pp-small):not(.bd-small):not(.kmip-editorial-caption) {\n font:300 clamp(18px,1.1vw,22px)\/1.5 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined .has-content>p:not(.pp-small):not(.bd-small) {max-width:68ch;}\n\/* Quiet editorial hyperlinks, preserving card names, gallery and navigation. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined :is(.has-content,#inquire)>:is(p,ul,ol) a:not(.wp-element-button):not(:where(.card-module *)) {\n color:inherit!important;font-weight:300!important;text-decoration-line:underline!important;\n text-decoration-thickness:1px!important;text-underline-offset:.22em;\n text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)!important;\n transition:text-decoration-color 300ms ease!important;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined :is(.has-content,#inquire)>:is(p,ul,ol) a:not(.wp-element-button):is(:hover,:focus-visible) {text-decoration-color:currentColor!important;}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(.wp-block-post-content,.kmip-footer-2026) :is(.wp-block-buttons>.wp-block-button>.wp-block-button__link,.kmip-footer__inquiry>a):focus-visible {\n outline-color:var(--kmip-service-focus,#1d1d1d)!important;\n}\n\/* Prices\/delivery use their real native grid, with the label above wider content. *\/\n@media(min-width:992px) {\n html:root body:is(.page-id-38022,.page-id-38056) :is(#kmip-proposal-photo,#kmip-boudoir) :is(.kmip-service-wide,.kmip-service-left) .contents.v5>.has-title {\n  grid-column:1 \/ -1!important;grid-row:1!important;margin-bottom:40px!important;\n }\n html:root body:is(.page-id-38022,.page-id-38056) :is(#kmip-proposal-photo,#kmip-boudoir) .kmip-service-wide .contents.v5>.has-content {\n  grid-column:1 \/ -1!important;grid-row:2!important;width:100%!important;max-width:none!important;\n }\n html:root body:is(.page-id-38022,.page-id-38056) :is(#kmip-proposal-photo,#kmip-boudoir) .kmip-service-left .contents.v5>.has-content {\n  grid-column:1 \/ span 8!important;grid-row:2!important;width:100%!important;max-width:960px!important;margin-inline:0!important;\n }\n}\n\/* Reviews remain native text on Black; no review photograph is introduced. *\/\nhtml:root body.page-id-38022 #kmip-proposal-photo .kmip-service-reviews-black {\n background:#000!important;color:#e5e4e0!important;\n --kmip-review-fill:transparent;--kmip-review-text:#fffef7;--kmip-review-border:#777773;--kmip-service-focus:#e5e4e0;\n}\nhtml:root body.page-id-38022 #kmip-proposal-photo .kmip-service-reviews-black blockquote p {\n font:300 clamp(18px,1.1vw,22px)\/1.5 var(--wp--preset--font-family--inter,Inter,sans-serif)!important;\n}\n\/* Existing parallax owns its fixed\/photo crop and static fallbacks. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) .kmip-service-parallax {isolation:isolate;}\n@media(prefers-reduced-motion:reduce) {\n html:root body:is(.page-id-38022,.page-id-38056) .kmip-service-refined :is(.has-content,#inquire)>:is(p,ul,ol) a:not(.wp-element-button) {transition:none!important;}\n}\n\n\n\/* Native CF7 input submit: one shared containment owner, 12 November 2026.\n   The input retains its translated value and submit behavior; the sibling spinner\n   retains CF7 visibility control. Button-based forms do not match this component. *\/\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"])) {\n position:relative;display:inline-flex;box-sizing:border-box;width:max-content;max-width:100%;min-width:0;\n --kmip-arrow-angle:0deg;color:var(--kmip-review-text,inherit);\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>input.wpcf7-submit[type=\"submit\"] {\n box-sizing:border-box;max-width:100%!important;min-width:0;min-height:62px!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))::after {\n position:absolute!important;inset:50% 28px auto auto!important;transform:translateY(-50%)!important;\n}\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>.wpcf7-spinner {position:absolute;right:24px;top:50%;margin:-12px 0 0}\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 form.submitting .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))::after {opacity:0!important}\nhtml:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"])):focus-within::after {-webkit-mask-position:18px 50%!important;mask-position:18px 50%!important}\n@media(max-width:599px){\n html:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>input.wpcf7-submit[type=\"submit\"] {min-height:58px!important;}\n}\n@media(prefers-reduced-motion:reduce){\n html:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"])):focus-within::after {-webkit-mask-position:0 50%!important;mask-position:0 50%!important}\n html:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>input.wpcf7-submit[type=\"submit\"] {transition:none!important}\n}\n\n\/* Component padding outranks the legacy shared form rule, whose :is() scope\n   inherits two ID selectors. Important layer precedence avoids specificity hacks.\n   Only the native input's reserved icon space is owned by this layer. *\/\n@layer kmip-native-submit {\n html:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>input.wpcf7-submit[type=\"submit\"] {padding:20px 72px 20px 36px!important}\n @media(max-width:599px){\n  html:root body.page:where(:has(#kmip-home-appearance)) .wp-block-post-content .wpcf7 .photo-submit:where(:has(> input.wpcf7-submit[type=\"submit\"]))>input.wpcf7-submit[type=\"submit\"] {padding:18px 64px 18px 28px!important}\n }\n}\n\n\/* Native service controls share the signature owner above. *\/\nhtml:root body.page-id-38022 #kmip-proposal-photo .pp-gallery-toggle{--kmip-arrow-angle:90deg;cursor:pointer}\nhtml:root body.page-id-38022 #kmip-proposal-photo .pp-gallery-toggle[aria-expanded=\"true\"]{--kmip-arrow-angle:-90deg}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit{position:relative;display:inline-flex;width:max-content;max-width:100%;--kmip-arrow-angle:0deg}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit input[type=\"submit\"]{\n box-sizing:border-box;max-width:100%!important;min-height:62px!important;padding:20px 72px 20px 36px!important;transition:border-color 300ms ease!important;\n border:1px solid #777773!important;border-radius:999px!important;background:transparent!important;color:#fffef7!important;-webkit-text-fill-color:#fffef7!important;\n font:300 clamp(16px,calc(14px + .25vw),18px)\/1.25 Inter,sans-serif!important;letter-spacing:0!important;cursor:pointer;\n}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit::after{position:absolute!important;inset:50% 28px auto auto!important;transform:translateY(-50%)!important;color:#fffef7!important}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit:focus-within::after{-webkit-mask-position:18px 50%!important;mask-position:18px 50%!important}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit input:focus-visible{outline:2px solid #fffef7!important;outline-offset:5px!important;border-color:#fffef7!important}\n@media(hover:hover) and (pointer:fine){html:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit input[type=\"submit\"]:hover{border-color:#fffef7!important}}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit .wpcf7-spinner{position:absolute;right:24px;top:50%;margin:-12px 0 0}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us,#inquire) form.submitting .photo-submit::after{opacity:0!important}\n\/* Quiet arrows and copy in both current chapter panels; no navigation rewrite. *\/\nhtml:root body:is(.page-id-38022,.page-id-38056) #chapter-tabs :is(.eyebrow,ol,ul){letter-spacing:0!important}\nhtml:root body.page-id-38022 #related-services .big-heading{font:300 clamp(32px,2.6vw,48px)\/1.18 Overpass,sans-serif!important;letter-spacing:-.02em!important;text-transform:none!important;margin-bottom:40px!important}\nhtml:root body.page-id-38022 #related-services .card-module{overflow:hidden;isolation:isolate}\nhtml:root body.page-id-38022 #related-services .card-module .has-figure{overflow:hidden}\nhtml:root body.page-id-38022 #related-services .card-module img{transition:transform 900ms var(--kmip-review-ease)!important;transform:scale(1)!important}\n@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){\n html:root body.page-id-38022 #related-services .card-module:is(:hover,:focus-within) img{transform:scale(1.04)!important}\n}\n@media(max-width:599px){html:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit input[type=\"submit\"]{min-height:58px!important;padding:18px 64px 18px 28px!important}}\n@media(prefers-reduced-motion:reduce){\n html:root body.page-id-38022 #related-services .card-module img{transition:none!important;transform:none!important}\n html:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit:focus-within::after{-webkit-mask-position:0 50%!important;mask-position:0 50%!important}\n html:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us #proposal-inquiry,#inquire) .photo-submit input[type=\"submit\"]{transition:none!important}\n}\n\n\n\/* Service inquiry: Black surround, homepage Charcoal panel, native CF7. *\/\nhtml:root body.page-id-38056 #inquire{background-color:#000!important;color:#fffef7!important}\nhtml:root body.page-id-38056 #inquire>.boudoir-inquiry-block{width:100%;max-width:1120px!important;margin:40px auto 0!important}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us,#inquire) .wpcf7:has(:is(.kmip-unified-intake,.kmip-proposal-request)){box-sizing:border-box;background-color:#1d1d1d!important;color:#fffef7!important;padding:clamp(28px,4vw,64px) clamp(24px,4.5vw,72px)!important;border:1px solid #fffef718!important;border-radius:8px!important}\nhtml:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us,#inquire) :is(.kmip-unified-intake,.kmip-proposal-request){--kmip-intake-label:#fffef7;--kmip-intake-focus:#fffef7;--kmip-intake-error:#ffb5ae;color:#fffef7!important}\nhtml:root body.page-id-38056 #inquire .wpcf7-response-output{color:#fffef7!important}\n@media(max-width:599px){html:root body:is(.page-id-38022,.page-id-38056) :is(#contact-us,#inquire) .wpcf7:has(:is(.kmip-unified-intake,.kmip-proposal-request)){padding:28px 20px!important}}\n\n\n\/* Fontainebleau45272: scoped bridge to the existing case-study mode palette. *\/\nbody.page-id-45272{\n --kmip-case-surface:#1d1d1d;--kmip-case-text:#e5e4e0;--kmip-case-muted:#959592;\n --kmip-case-caption:#c6c5bf;--kmip-case-line:#565652;--kmip-case-film-rim:#1d1d1d;\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-45272{\n --kmip-case-surface:#e5e4e0;--kmip-case-text:#1d1d1d;--kmip-case-muted:#63635f;\n --kmip-case-caption:#63635f;--kmip-case-line:#aaa9a3;--kmip-case-film-rim:#fffef7;\n}\nhtml[data-kmip-theme-preview] body.page-id-45272 .kmip-footer-2026{\n --kmip-footer-paper:var(--kmip-case-surface);--kmip-footer-ink:var(--kmip-case-text);\n --kmip-footer-muted:var(--kmip-case-muted);--kmip-footer-line:var(--kmip-case-line);\n}\nhtml[data-kmip-theme-preview=\"light\"] body.page-id-45272 .kmip-footer-2026 .kmip-footer__logo img{\n  filter:brightness(0);\n}\nhtml[data-kmip-theme-preview=\"dark\"] body.page-id-45272 .kmip-footer-2026 .kmip-footer__logo img{\n  filter:none;\n}\nhtml[data-kmip-theme-preview] body.page-id-45272 .kmn2027[data-kmn-layout=\"wide\"] .kmn2027__brand img{\n  filter:brightness(0) invert(1) drop-shadow(0 0 .6px rgb(0 0 0 \/ 90%)) drop-shadow(0 1px 2px rgb(0 0 0 \/ 65%))!important;\n}\nhtml[data-kmip-theme-preview] body.page-id-45272 .kmn2027[data-kmn-layout=\"wide\"] .kmn2027__brand[data-kmip-underlay=\"light\"] img{\n  filter:brightness(0)!important;\n}\nbody.page-id-45272 #kmip-home-colour-preview-toggle{\n  display:inline-flex!important;\n  align-items:center;\n  justify-content:center;\n  flex:0 0 44px;\n  min-width:44px!important;\n  width:44px!important;\n  max-width:44px!important;\n  height:44px;\n  min-height:44px;\n  padding:13px!important;\n  box-sizing:border-box;\n  margin-inline-end:12px;\n  border:0!important;\n  border-radius:50%;\n  background:transparent!important;\n  box-shadow:none!important;\n  --kmip-home-toggle-ink:#fffef7;\n  color:var(--kmip-home-toggle-ink)!important;\n  cursor:pointer;\n  line-height:1;\n}\nbody.page-id-45272 #kmip-home-colour-preview-toggle svg{ display:block;width:18px;height:18px;flex:none; }\nbody.page-id-45272 #kmip-home-colour-preview-toggle:is(:hover,:active,:focus-visible){color:var(--kmip-home-toggle-ink)!important;background:transparent!important;border:0!important;}\nbody.page-id-45272 #kmip-home-colour-preview-toggle:focus-visible{ outline:2px solid currentColor;outline-offset:3px; }\nbody.page-id-45272 #kmip-home-colour-preview-toggle [hidden]{display:none!important;}\nbody.page-id-45272 #kmip-home-colour-preview-toggle .kmip-mode-action,\nbody.page-id-45272 #kmip-home-colour-preview-toggle[data-placement=\"header\"] .kmip-mode-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;}\nbody.page-id-45272 #kmip-home-colour-preview-toggle[data-placement=\"fallback\"]{ position:fixed;right:24px;top:96px;z-index:999;margin-inline-end:0; }\nbody.page-id-45272 #kmip-home-colour-preview-toggle[data-placement=\"header\"][data-kmip-underlay=\"light\"]{\n  --kmip-home-toggle-ink:#1d1d1d;\n}\nbody.page-id-45272 #kmip-home-colour-preview-toggle[data-placement=\"header\"][data-kmip-underlay=\"media\"]{\n  filter:drop-shadow(0 1px 2px rgb(0 0 0 \/ 85%));\n}\n@media(prefers-reduced-motion:reduce){body.page-id-45272 #kmip-home-colour-preview-toggle{ transition:none!important; }}\nhtml:root[data-kmip-theme-preview] body.page-id-45272 .kmn2027[data-kmn-layout=\"compact\"] .kmn2027__brand img{filter:none!important}\nbody.page-id-45272 #kmip-home-colour-preview-toggle[data-placement=\"menu\"]{--kmip-home-toggle-ink:var(--kmn-ink,#1d1d1d);flex:0 1 auto;min-width:44px!important;width:auto!important;max-width:100%!important;height:auto;min-height:44px;gap:10px;padding:10px 8px!important;margin:0;font:400 18px\/1.4 var(--wp--preset--font-family--inter,Inter,sans-serif);white-space:normal;overflow-wrap:anywhere;}\n\n\/* BEGIN KMIP COMPACT THEME HEADER \u2014 2026-11-12\n   Keep the native launchers, centered logo and full translated inquiry label.\n   The optional theme switch makes one row too narrow on small phones. *\/\n@media (max-width:599px) {\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) > .kmn2027__bar {\n  grid-template-columns:auto minmax(0,1fr);\n  column-gap:12px;\n  row-gap:6px;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) .kmn2027__brand-slot {\n  grid-column:1 \/ -1;\n  grid-row:1;\n  margin-block:0;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) .kmn2027__left {\n  grid-column:1;\n  grid-row:2;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) .kmn2027__right {\n  grid-column:2;\n  grid-row:2;\n  max-width:100%;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) .kmn2027__inquire-wrap {\n  min-width:0;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) .kmn2027__inquire {\n  min-width:44px;\n  max-width:100%;\n  white-space:normal;\n  overflow-wrap:anywhere;\n }\n body header.wp-block-template-part .kmn2027:not([data-kmn-layout=\"wide\"]):has(#kmip-home-colour-preview-toggle[data-placement=\"header\"]) #kmip-home-colour-preview-toggle {\n  margin-inline-end:0;\n }\n}\n\/* END KMIP COMPACT THEME HEADER *\/\n<\/style>\n<div id=\"kmip-home-appearance\" class=\"kmip-menu-appearance\" hidden>\n  <span>Appearance<\/span>\n  <button id=\"kmip-home-colour-preview-toggle\" type=\"button\" aria-labelledby=\"kmip-home-action-bright\">\n    <span data-kmip-mode-icon=\"bright\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2m0 16v2M2 12h2m16 0h2M4.93 4.93l1.42 1.42m11.3 11.3 1.42 1.42M4.93 19.07l1.42-1.42m11.3-11.3 1.42-1.42\"\/><\/svg><\/span>\n    <span id=\"kmip-home-mode-bright\" class=\"kmip-mode-label\">Bright mode<\/span>\n    <span id=\"kmip-home-action-bright\" class=\"kmip-mode-action\">Switch to bright mode<\/span>\n    <span data-kmip-mode-icon=\"dark\" aria-hidden=\"true\" hidden><svg aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20.5 14.3A8.8 8.8 0 0 1 9.7 3.5 8.9 8.9 0 1 0 20.5 14.3Z\"\/><\/svg><\/span>\n    <span id=\"kmip-home-mode-dark\" class=\"kmip-mode-label\" hidden>Dark mode<\/span>\n    <span id=\"kmip-home-action-dark\" class=\"kmip-mode-action\" hidden>Switch to dark mode<\/span>\n  <\/button>\n<\/div>\n<script id=\"kmip-home-theme-review-controller\">\n\/* Approved homepage system. Dark default; explicit review links remain supported. No stored preference, requests, or form changes. *\/\n(function () {\n  'use strict';\n  var requested = new URLSearchParams(window.location.search).get('kmip-theme-preview');\n  if (requested !== 'light' && requested !== 'dark') requested = 'dark';\n  function init() {\n    if (!document.body.matches('.page-id-8,.page-id-33549,.page-id-34024,.page-id-36679,.page-id-36730,.page-id-36801,.page-id-36820,.page-id-37207,.page-id-37631,.page-id-38692,.page-id-38832,.page-id-38885,.page-id-41716,.page-id-43309,.page-id-38056,.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821,.page-id-45272')) return;\n    var appearanceRow = document.getElementById('kmip-home-appearance');\n    var button = document.getElementById('kmip-home-colour-preview-toggle');\n    if (!appearanceRow || !button || button.getAttribute('data-kmip-mode-ready') === 'true') return;\n    button.setAttribute('data-kmip-mode-ready', 'true');\n    \/* The native reverse-scroll controller needs an explicit phase on this existing trigger. *\/\n    var chantelleTrigger = document.querySelector('#who-we-are > .trigger:not(.trigger-warm)');\n    if (chantelleTrigger) chantelleTrigger.classList.add('trigger-warm');\n    var root = document.documentElement;\n    var brightLabel = document.getElementById('kmip-home-mode-bright');\n    var darkLabel = document.getElementById('kmip-home-mode-dark');\n    var brightAction = document.getElementById('kmip-home-action-bright');\n    var darkAction = document.getElementById('kmip-home-action-dark');\n    var brightIcon = button.querySelector('[data-kmip-mode-icon=\"bright\"]');\n    var darkIcon = button.querySelector('[data-kmip-mode-icon=\"dark\"]');\n    function renderToggle(mode) {\n      var showBright = mode !== 'light';\n      brightLabel.hidden = !showBright;\n      darkLabel.hidden = showBright;\n      brightAction.hidden = !showBright;\n      darkAction.hidden = showBright;\n      brightIcon.hidden = !showBright;\n      darkIcon.hidden = showBright;\n      var activeLabel = showBright ? brightLabel : darkLabel;\n      var activeAction = showBright ? brightAction : darkAction;\n      button.setAttribute('aria-labelledby', activeAction.id);\n      button.title = activeAction.textContent.trim();\n    }\n    function apply(mode) {\n      root.setAttribute('data-kmip-theme-preview', mode);\n      renderToggle(mode);\n      queueHeaderContrast();\n      window.setTimeout(queueHeaderContrast, 220);\n    }\n    button.addEventListener('click', function () {\n      apply(root.getAttribute('data-kmip-theme-preview') === 'light' ? 'dark' : 'light');\n    });\n    var nav = document.querySelector('.kmn2027');\n    var brand = nav && nav.querySelector('.kmn2027__brand');\n    var headerContrastFrame = 0;\n    function underlayAt(target) {\n      var rect = target.getBoundingClientRect();\n      if (!rect.width || !rect.height || 0 >= rect.bottom || rect.top >= window.innerHeight) return 'dark';\n      var x = Math.max(0, Math.min(window.innerWidth - 1, rect.left + rect.width \/ 2));\n      var y = Math.max(0, Math.min(window.innerHeight - 1, rect.top + rect.height \/ 2));\n      var stack = document.elementsFromPoint(x, y);\n      var node = null;\n      for (var i = 0; stack.length > i; i++) {\n        if (!nav.contains(stack[i]) && stack[i].closest('main,.kmip-footer-2026')) { node = stack[i]; break; }\n      }\n      while (node && node.nodeType === 1) {\n        var style = window.getComputedStyle(node);\n        if (node.matches('img,video,canvas') || style.backgroundImage !== 'none') return 'media';\n        var channels = style.backgroundColor.match(\/[\\d.]+\/g);\n        if (channels && channels.length >= 3 && (4 > channels.length || Number(channels[3]) >= .95)) {\n          var rgb = channels.slice(0, 3).map(function (value) {\n            var s = Number(value) \/ 255;\n            return .04045 >= s ? s \/ 12.92 : Math.pow((s + .055) \/ 1.055, 2.4);\n          });\n          return .2126 * rgb[0] + .7152 * rgb[1] + .0722 * rgb[2] > .179 ? 'light' : 'dark';\n        }\n        node = node.parentElement;\n      }\n      return 'dark';\n    }\n    function updateHeaderContrast() {\n      headerContrastFrame = 0;\n      if (!nav || nav.getAttribute('data-kmn-layout') !== 'wide') return;\n      var updates = [brand, button].filter(Boolean).map(function (target) {\n        return { target:target, state:underlayAt(target) };\n      });\n      updates.forEach(function (update) {\n        if (update.target.getAttribute('data-kmip-underlay') !== update.state) {\n          update.target.setAttribute('data-kmip-underlay', update.state);\n        }\n      });\n    }\n    function queueHeaderContrast() {\n      if (!headerContrastFrame) headerContrastFrame = window.requestAnimationFrame(updateHeaderContrast);\n    }\n    window.addEventListener('scroll', queueHeaderContrast, { passive:true });\n    window.addEventListener('resize', queueHeaderContrast, { passive:true });\n    window.addEventListener('load', queueHeaderContrast, { once:true });\n    var phaseOwner = document.querySelector('body.page-id-8 .bg-transition,body:is(.page-id-29435,.page-id-37647,.page-id-31884,.page-id-30319,.page-id-39394,.page-id-38022,.page-id-38003,.page-id-38045,.page-id-31919,.page-id-38056,.page-id-31882,.page-id-43125,.page-id-43123,.page-id-42764,.page-id-40533,.page-id-38039,.page-id-43126,.page-id-37984,.page-id-37238,.page-id-37588,.page-id-43114,.page-id-36402,.page-id-37077,.page-id-37635,.page-id-34121,.page-id-39002,.page-id-42805,.page-id-37986,.page-id-42812,.page-id-39593,.page-id-32090,.page-id-8,.page-id-29993,.page-id-37479,.page-id-37394,.page-id-37736,.page-id-37492,.page-id-37503,.page-id-37567,.page-id-37682,.page-id-31918,.page-id-39223,.page-id-39397,.page-id-29952,.page-id-31718,.page-id-30743,.page-id-31913,.page-id-31850,.page-id-31961,.page-id-31550,.page-id-32574,.page-id-31125,.page-id-28821) .bg-transition');\n    if (phaseOwner && 'MutationObserver' in window) {\n      new MutationObserver(queueHeaderContrast).observe(phaseOwner, { attributes:true, attributeFilter:['class','style'] });\n    }\n    var work = nav && nav.querySelector('.kmn2027__right .kmn2027__work-wrap');\n    var menuFooter = document.querySelector('.kmn2027__footer');\n    if (menuFooter) menuFooter.insertBefore(appearanceRow, menuFooter.firstChild);\n    function placeToggle() {\n      if (work) {\n        if (work.parentNode) {\n          button.setAttribute('data-placement', 'header');\n          work.parentNode.insertBefore(button, work);\n          if (appearanceRow) appearanceRow.hidden = true;\n        }\n      } else if (menuFooter) {\n        if (appearanceRow) {\n          button.setAttribute('data-placement', 'menu');\n          appearanceRow.appendChild(button);\n          appearanceRow.hidden = false;\n        }\n      }\n      renderToggle(root.getAttribute('data-kmip-theme-preview') || requested);\n      queueHeaderContrast();\n    }\n    placeToggle();\n    if (nav && 'MutationObserver' in window) {\n      new MutationObserver(placeToggle).observe(nav, { attributes:true, attributeFilter:['data-kmn-layout'] });\n    }\n    var hero = document.querySelector('.hero');\n    root.setAttribute('data-kmip-preview-over-hero', 'true');\n    if (hero && 'IntersectionObserver' in window) {\n      new IntersectionObserver(function (entries) {\n        root.setAttribute('data-kmip-preview-over-hero', entries[0].isIntersecting ? 'true' : 'false');\n      }, { threshold:0, rootMargin:'0px 0px -85% 0px' }).observe(hero);\n    }\n    apply(requested);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init, { once:true });\n  else init();\n}());\n\n<\/script>\n\n\n\n<section id=\"header\" class=\"wp-block-cover alignfull mt-0 mb-0 hero kmip-restaurant-hero kmip-mobile-hero-1 kmip-rule-16 has-custom-white-color has-text-color has-link-color wp-elements-1\" style=\"min-height:100vh;aspect-ratio:unset;\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" class=\"wp-block-cover__image-background wp-image-32333 size-full\" alt=\"Candlelit terrace tables at Caf\u00e9 de l\u2019Homme, with the illuminated Eiffel Tower and a bronze Trocad\u00e9ro sculpture at night.\" src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View.webp\" data-object-fit=\"cover\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View.webp 1920w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-300x200.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-1024x683.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-768x512.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-1536x1024.webp 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-100 has-background-dim wp-block-cover__gradient-background has-background-gradient\" style=\"background:linear-gradient(90deg,rgba(0,0,0,0.92) 5%,rgba(0,0,0,0.68) 43%,rgba(0,0,0,0.12) 100%)\"><\/span><div class=\"wp-block-cover__inner-container has-global-padding is-layout-constrained wp-block-cover-is-layout-constrained\">\n\n<div class=\"wp-block-group content has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"eyebrow ml-0 has-custom-white-color has-text-color wp-block-paragraph\">PARIS \u00b7 DINING<\/p>\n\n\n<h1 class=\"wp-block-heading alignwide title--h1\" style=\"text-transform:uppercase\"><strong><em>Restaurants with<\/em><\/strong> <strong><em>Eiffel Tower views<\/em><\/strong><\/h1>\n\n\n<p class=\"wp-block-paragraph\">Compare close-up terraces, skyline views, and tables inside the Tower.<\/p>\n\n\n<div class=\"wp-block-buttons alignwide is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-arrow-2 is-style-fill\"><a class=\"wp-block-button__link wp-element-button\" href=\"#restaurants\">Browse restaurants<\/a><\/div>\n\n\n<div class=\"wp-block-button is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/kissinparis.com\/paris-restaurant-guide\/\">Paris restaurant guide<\/a><\/div>\n<\/div>\n<\/div>\n\n\n<a href=\"#restaurants\" aria-label=\"Browse the restaurants\" class=\"js_fv_attention bl_fv_attention is_show\"><span class=\"js_fv_attentionCircle\"><\/span><span class=\"js_fv_attentionRipple\"><\/span><span class=\"js_fv_attentionDotLine\"><span class=\"js_fv_attentionDotLineInner\"><span class=\"js_img is_loadStarted\" data-initialized-module-img=\"1\"><span class=\"h_pc\" data-src-pc=\"\/assets\/202511201240\/img\/fv_attention_line.svg\" style=\"padding-top:2760%\" data-load-started=\"1\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 5 138\" width=\"6\" height=\"108\" aria-hidden=\"true\" focusable=\"false\">\n  <circle cx=\"2.5\" cy=\"99.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"94.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"89.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"84.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"79.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"74.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"69.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"64.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"59.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"54.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"49.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"44.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"39.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"34.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"29.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"24.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"19.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"14.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"9.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"4.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"104.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"109.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"114.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"119.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"124.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"129.5\" r=\".5\" fill=\"#fff\"><\/circle>\n  <circle cx=\"2.5\" cy=\"134.5\" r=\".5\" fill=\"#fff\"><\/circle>\n<\/svg><\/span><span class=\"h_sp\" data-src-sp=\"\/assets\/202511201240\/img\/fv_attention_line_sp.svg\" style=\"padding-top:1800%\" data-load-started=\"1\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.1\" viewBox=\"0 0 10 180\" width=\"6\" height=\"108\" aria-hidden=\"true\" focusable=\"false\">\n  <circle cx=\"5\" cy=\"109\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"99\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"89\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"79\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"69\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"59\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"49\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"39\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"29\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"19\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"9\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"119\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"129\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"139\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"149\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"159\" r=\"1\" fill=\"#fff\"><\/circle>\n  <circle cx=\"5\" cy=\"169\" r=\"1\" fill=\"#fff\"><\/circle>\n<\/svg><\/span><\/span><\/span><\/span><span class=\"js_fv_attentionDots\"><span class=\"js_fv_attentionDot __white\"><\/span><span class=\"js_fv_attentionDot __gray\"><\/span><\/span><\/a>\n\n\n<style>\n\/* Restaurant Hero 1: neutral black photography and the shared Rule 16. *\/\nbody.page-id-31125 .hero.kmip-rule-16 {\n --r16-line-rgb:229 228 224;--r16-line-opacity:.10;--r16-line-width:1px;\n --r16-gutter:clamp(13px,1.3vw,26px);\n --r16-line:linear-gradient(rgb(var(--r16-line-rgb) \/ var(--r16-line-opacity)),rgb(var(--r16-line-rgb) \/ var(--r16-line-opacity)));\n isolation:isolate;\n}\nbody.page-id-31125 .hero.kmip-rule-16::after {\n content:\"\";position:absolute;inset:0 var(--r16-gutter);z-index:3;pointer-events:none;\n background-image:var(--r16-line),var(--r16-line),var(--r16-line),var(--r16-line),var(--r16-line),var(--r16-line),var(--r16-line);\n background-size:var(--r16-line-width) 100%;background-position:0 0,16.6667% 0,33.3333% 0,50% 0,66.6667% 0,83.3333% 0,100% 0;background-repeat:no-repeat;\n}\nbody.page-id-31125 .hero.kmip-rule-16 .js_fv_attention{z-index:4}\n@media(max-width:991px){\n body.page-id-31125 .hero.kmip-rule-16{--r16-gutter:13px;--r16-line-opacity:.065}\n body.page-id-31125 .hero.kmip-rule-16::after{background-image:var(--r16-line),var(--r16-line),var(--r16-line),var(--r16-line);background-position:0 0,33.3333% 0,66.6667% 0,100% 0}\n}\nbody.page-id-31125 .kmip-restaurant-hero{background:#000}\n@media(max-width:991px){body.page-id-31125 .kmip-restaurant-hero{height:auto!important;min-height:100vh!important;min-height:100dvh!important}body.page-id-31125 .kmip-restaurant-hero .wp-block-cover__inner-container{padding-top:max(112px,env(safe-area-inset-top))}}\n\n\nbody.page-id-31125 .kmip-guide-list{padding-top:48px!important}\nbody.page-id-31125 .kmip-guide-booking-note{max-width:1160px;margin:0 auto 40px;font:300 clamp(14px,1.1vw,16px)\/1.5 Inter,sans-serif}\n<\/style>\n<\/div><\/section>\n\n\n\n<div id=\"restaurants\" class=\"wp-block-group alignfull mt-0 mb-0 sec v2 pt-0 kmip-guide-list has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n\n<p class=\"kmip-guide-booking-note wp-block-paragraph\">Dining inside the Eiffel Tower? Compare <a href=\"#location-5\">Le Jules Verne on the second floor<\/a> and <a href=\"#madame-brasserie\">Madame Brasserie on the first floor<\/a>.<\/p>\n\n\n<p class=\"kmip-guide-booking-note wp-block-paragraph\">For a table only, book directly with the restaurant. If dinner follows a proposal, we can arrange it as part of <a href=\"https:\/\/kissinparis.com\/paris-proposal\/planner\/\">full-service proposal planning<\/a>.<\/p>\n\n\n<div class=\"kmip-rg alignfull\" id=\"kmip-rg\" data-total=\"21\" data-primary=\"views\" data-toggle=\"indoor\" data-toggle-value=\"yes\" data-toggle-label=\"Indoor view\"><div class=\"kmip-rg__filters\"><div class=\"kmip-rg__occasion-row\" role=\"group\" aria-label=\"Filter by view\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"all\" aria-pressed=\"true\">All<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"close\" aria-pressed=\"false\">Close-up Tower views<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"skyline\" aria-pressed=\"false\">Skyline views<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"cruise\" aria-pressed=\"false\">Dining cruise<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"inside\" aria-pressed=\"false\">Inside the Tower<\/button><\/div><div class=\"kmip-rg__controls\"><button type=\"button\" class=\"kmip-rg__michelin-toggle\" data-filter-group=\"indoor\" data-filter-value=\"yes\" aria-pressed=\"false\">Indoor view<\/button><button type=\"button\" class=\"kmip-rg__filter-btn\" id=\"kmip-rg-filter-open\" aria-expanded=\"false\" aria-controls=\"kmip-rg-drawer\">Filter<span id=\"kmip-rg-secondary-count\"><\/span><\/button><button type=\"button\" class=\"kmip-rg__clear\" data-rg-reset hidden>Clear all<\/button><span class=\"kmip-rg__result-count\" aria-live=\"polite\">21 of 21<\/span><\/div><div class=\"kmip-rg__active-chips\" hidden><\/div><\/div><div class=\"kmip-rg__drawer-backdrop\" hidden><\/div><div class=\"kmip-rg__drawer\" id=\"kmip-rg-drawer\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Filter restaurants\" hidden inert><div class=\"kmip-rg__drawer-header\"><span class=\"kmip-rg__drawer-title\">Filters<\/span><button type=\"button\" class=\"kmip-rg__drawer-close\" aria-label=\"Close filters\">\u00d7<\/button><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"moods\"><p class=\"kmip-rg__drawer-label\">Mood<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Mood options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"elegant\" aria-pressed=\"false\">Elegant &amp; Grand<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"lively\" aria-pressed=\"false\">Fashionable &amp; Lively<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"relaxed\" aria-pressed=\"false\">Relaxed &amp; Casual<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"cuisines\"><p class=\"kmip-rg__drawer-label\">Cuisine<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Cuisine options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"french\" aria-pressed=\"false\">French<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"seafood\" aria-pressed=\"false\">Fish &amp; Seafood<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"italian\" aria-pressed=\"false\">Italian<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"japanese\" aria-pressed=\"false\">Japanese &amp; Asian<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"mediterranean\" aria-pressed=\"false\">Mediterranean<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"styles\"><p class=\"kmip-rg__drawer-label\">Dining Style<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Dining Style options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"fine\" aria-pressed=\"false\">Fine Dining<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"brasserie\" aria-pressed=\"false\">Restaurants &amp; Brasseries<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"cafe\" aria-pressed=\"false\">Caf\u00e9 Stops<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"settings\"><p class=\"kmip-rg__drawer-label\">Setting<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Setting options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"terrace\" aria-pressed=\"false\">Terrace or Courtyard<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"rooftop\" aria-pressed=\"false\">Rooftop<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"riverside\" aria-pressed=\"false\">River Dining<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"budgets\"><p class=\"kmip-rg__drawer-label\">Budget<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Budget options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"2\" aria-pressed=\"false\">\u20ac\u20ac<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"3\" aria-pressed=\"false\">\u20ac\u20ac\u20ac<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"4\" aria-pressed=\"false\">\u20ac\u20ac\u20ac\u20ac<\/button><\/div><\/div><button type=\"button\" class=\"kmip-rg__clear\" data-rg-reset hidden>Clear all<\/button><button type=\"button\" class=\"kmip-rg__drawer-apply\">Show <span id=\"kmip-rg-drawer-count\">21<\/span> <span id=\"kmip-rg-drawer-noun\">restaurants<\/span><\/button><\/div><div class=\"kmip-rg__desktop-filters\"><div class=\"kmip-rg__dropdown\" data-dropdown=\"views\"><button type=\"button\" class=\"kmip-rg__dropdown-trigger\" data-label=\"View\" aria-expanded=\"false\" aria-controls=\"kmip-rg-dd-views\"><span>View<\/span><svg width=\"10\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" aria-hidden=\"true\"><path d=\"M1 1L5 5L9 1\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><\/button><div class=\"kmip-rg__dropdown-panel\" id=\"kmip-rg-dd-views\" role=\"group\" aria-label=\"View options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"all\" aria-pressed=\"true\">All views<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"close\" aria-pressed=\"false\">Close-up Tower views<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"skyline\" aria-pressed=\"false\">Skyline views<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"cruise\" aria-pressed=\"false\">Dining cruise<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"views\" data-filter-value=\"inside\" aria-pressed=\"false\">Inside the Tower<\/button><\/div><\/div><div class=\"kmip-rg__dropdown\" data-dropdown=\"moods\"><button type=\"button\" class=\"kmip-rg__dropdown-trigger\" data-label=\"Mood\" aria-expanded=\"false\" aria-controls=\"kmip-rg-dd-moods\"><span>Mood<\/span><svg width=\"10\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" aria-hidden=\"true\"><path d=\"M1 1L5 5L9 1\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><\/button><div class=\"kmip-rg__dropdown-panel\" id=\"kmip-rg-dd-moods\" role=\"group\" aria-label=\"Mood options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"elegant\" aria-pressed=\"false\">Elegant &amp; Grand<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"lively\" aria-pressed=\"false\">Fashionable &amp; Lively<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"moods\" data-filter-value=\"relaxed\" aria-pressed=\"false\">Relaxed &amp; Casual<\/button><\/div><\/div><div class=\"kmip-rg__dropdown kmip-rg__dropdown--wide\" data-dropdown=\"more\"><button type=\"button\" class=\"kmip-rg__dropdown-trigger\" data-label=\"More Filters\" aria-expanded=\"false\" aria-controls=\"kmip-rg-dd-more\"><span>More Filters<\/span><svg width=\"10\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" aria-hidden=\"true\"><path d=\"M1 1L5 5L9 1\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><\/button><div class=\"kmip-rg__dropdown-panel\" id=\"kmip-rg-dd-more\"><div class=\"kmip-rg__drawer-group\" data-group=\"cuisines\"><p class=\"kmip-rg__drawer-label\">Cuisine<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Cuisine options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"french\" aria-pressed=\"false\">French<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"seafood\" aria-pressed=\"false\">Fish &amp; Seafood<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"italian\" aria-pressed=\"false\">Italian<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"japanese\" aria-pressed=\"false\">Japanese &amp; Asian<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"cuisines\" data-filter-value=\"mediterranean\" aria-pressed=\"false\">Mediterranean<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"styles\"><p class=\"kmip-rg__drawer-label\">Dining Style<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Dining Style options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"fine\" aria-pressed=\"false\">Fine Dining<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"brasserie\" aria-pressed=\"false\">Restaurants &amp; Brasseries<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"styles\" data-filter-value=\"cafe\" aria-pressed=\"false\">Caf\u00e9 Stops<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"settings\"><p class=\"kmip-rg__drawer-label\">Setting<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Setting options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"terrace\" aria-pressed=\"false\">Terrace or Courtyard<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"rooftop\" aria-pressed=\"false\">Rooftop<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"settings\" data-filter-value=\"riverside\" aria-pressed=\"false\">River Dining<\/button><\/div><\/div><div class=\"kmip-rg__drawer-group\" data-group=\"budgets\"><p class=\"kmip-rg__drawer-label\">Budget<\/p><div class=\"kmip-rg__drawer-chips\" role=\"group\" aria-label=\"Budget options\"><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"2\" aria-pressed=\"false\">\u20ac\u20ac<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"3\" aria-pressed=\"false\">\u20ac\u20ac\u20ac<\/button><button type=\"button\" class=\"kmip-rg__chip\" data-filter-group=\"budgets\" data-filter-value=\"4\" aria-pressed=\"false\">\u20ac\u20ac\u20ac\u20ac<\/button><\/div><\/div><button type=\"button\" class=\"kmip-rg__clear\" data-rg-reset hidden>Clear all<\/button><\/div><\/div><button type=\"button\" class=\"kmip-rg__michelin-toggle\" data-filter-group=\"indoor\" data-filter-value=\"yes\" aria-pressed=\"false\">Indoor view<\/button><button type=\"button\" class=\"kmip-rg__clear\" data-rg-reset hidden>Clear all<\/button><span class=\"kmip-rg__result-count\" aria-live=\"polite\">21 of 21<\/span><div class=\"kmip-rg__active-chips kmip-rg__active-chips--desktop\" hidden><\/div><\/div><h2 class=\"kmip-rg__section-heading eye\">Find your Eiffel Tower table<\/h2><div class=\"kmip-rg__grid\" id=\"kmip-rg-grid\"><article class=\"kmip-rg__card\" id=\"location-5\" data-views=\"inside\" data-indoor=\"\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"fine\" data-settings=\"\" data-budgets=\"4\"><span class=\"kmip-rg__anchor\" id=\"inside\" aria-hidden=\"true\"><\/span><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Le Jules Verne<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac\u20ac \u00b7 French tasting menus<br>Eiffel Tower \u00b7 2nd floor \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Jules-Verne-Paris-Restaurant-1024x769.avif\" alt=\"Jules Verne restaurant elegant interior inside the Eiffel Tower with panoramic Paris skyline at sunset\" width=\"1024\" height=\"769\" class=\"wp-image-32339\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Jules-Verne-Paris-Restaurant-300x225.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Jules-Verne-Paris-Restaurant-768x577.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Jules-Verne-Paris-Restaurant-1024x769.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Jules-Verne-Paris-Restaurant.avif 1456w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> For dinner inside the monument itself, Le Jules Verne makes the meal an occasion. French tasting menus and rooms looking out over Paris give you a different experience from seeing the Tower across a terrace.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-5\" aria-label=\"Read more about Le Jules Verne\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-5\"><p><strong>The view:<\/strong> You dine inside the Eiffel Tower and look out over Paris, rather than at the Tower across the skyline.<\/p><p><strong>Ask for:<\/strong> A main dining room with an outward city view, rather than the alcove looking into the Tower\u2019s structure.<\/p><p><strong>Worth knowing:<\/strong> Jackets are required for gentlemen. The restaurant has no children\u2019s menu or high chairs; follow its dedicated lift instructions.<\/p><p><strong>After a proposal:<\/strong> See how <a href=\"https:\/\/kissinparis.com\/work\/shangri-la-penthouse-proposal\/\">Lauren and Jared continued from a private Shangri-La proposal to dinner at Le Jules Verne<\/a>.<\/p><p>Eiffel Tower, avenue Gustave Eiffel, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Inside the Tower<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.restaurants-toureiffel.com\/en\/jules-verne-restaurant.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Le Jules Verne\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"madame-brasserie\" data-views=\"inside\" data-indoor=\"\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Madame Brasserie<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 French brasserie by Thierry Marx<br>Eiffel Tower \u00b7 1st floor \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/madame-brasserie-paris-restaurant.webp\" alt=\"Madame Brasserie restaurant in Paris\" width=\"800\" height=\"600\" class=\"wp-image-39534\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/madame-brasserie-paris-restaurant-300x225.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/madame-brasserie-paris-restaurant-768x576.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/madame-brasserie-paris-restaurant.webp 800w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> French brasserie cooking by Thierry Marx on the Tower\u2019s first floor, with Paris outside the windows. Madame Brasserie offers a different meal in the monument, including lunch, dinner, and children\u2019s menus.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-madame-brasserie\" aria-label=\"Read more about Madame Brasserie\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-madame-brasserie\"><p><strong>The view:<\/strong> An outward panorama over Paris from inside the Tower, including Seine- and Trocad\u00e9ro-facing seating categories.<\/p><p><strong>Ask for:<\/strong> A window-table category looking toward the Seine or Trocad\u00e9ro.<\/p><p><strong>Worth knowing:<\/strong> A lunch or dinner reservation includes first-floor access. Follow the arrival instructions; breakfast and bar visits work differently.<\/p><p>Eiffel Tower, avenue Gustave Eiffel, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Inside the Tower<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.restaurants-toureiffel.com\/en\/madame-brasserie.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Madame Brasserie\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-4\" data-views=\"close\" data-indoor=\"\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"terrace\" data-budgets=\"3,4\"><span class=\"kmip-rg__anchor\" id=\"close\" aria-hidden=\"true\"><\/span><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Caf\u00e9 de l\u2019Homme<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac\u2013\u20ac\u20ac\u20ac\u20ac \u00b7 Contemporary French<br>Trocad\u00e9ro \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-1024x683.webp\" alt=\"Caf\u00e9 de l&#x27;Homme restaurant terrace at night with illuminated Eiffel Tower view, Paris\" width=\"1024\" height=\"683\" class=\"wp-image-32333\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-300x200.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-768x512.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-1024x683.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Cafe-de-lHomme-Paris-Restaurant-Eiffel-View-1536x1024.webp 1536w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> The Trocad\u00e9ro terrace puts the Tower directly in front of you. Come for a dressed-up dinner together, and compare the front-row and other terrace experiences before choosing your table.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-4\" aria-label=\"Read more about Caf\u00e9 de l\u2019Homme\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-4\"><p><strong>The view:<\/strong> A broad, face-on Eiffel Tower view from the terrace across the Trocad\u00e9ro gardens.<\/p><p><strong>Ask for:<\/strong> Compare the Eiffel front-row experience with the other terrace options. An indoor reservation with terrace access is a different choice.<\/p><p><strong>Worth knowing:<\/strong> The named experiences have different menus, seating zones, and dining times. Choose the one that includes the seats you want.<\/p><p>17 place du Trocad\u00e9ro, 75016 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.cafedelhomme.com\/en\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Caf\u00e9 de l\u2019Homme\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-3\" data-views=\"close\" data-indoor=\"\" data-moods=\"elegant,lively\" data-cuisines=\"french,seafood\" data-styles=\"brasserie\" data-settings=\"terrace\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Girafe<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Fish &amp; seafood<br>Trocad\u00e9ro \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/girafe-paris-trocadero-terrace-eiffel-tower-view-1024x683.webp\" alt=\"Girafe restaurant terrace at Trocad\u00e9ro with rattan bistro chairs, white-clothed tables, and cream banquettes facing the Eiffel Tower\" width=\"1024\" height=\"683\" class=\"wp-image-31393\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/girafe-paris-trocadero-terrace-eiffel-tower-view-300x200.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/girafe-paris-trocadero-terrace-eiffel-tower-view-768x512.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/girafe-paris-trocadero-terrace-eiffel-tower-view-1024x683.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/girafe-paris-trocadero-terrace-eiffel-tower-view.webp 1500w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Seafood, cream banquettes, and a terrace facing the Tower. Girafe suits an anniversary dinner or a sociable evening for two, especially when you can spend it outside.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-3\" aria-label=\"Read more about Girafe\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-3\"><p><strong>The view:<\/strong> The lower terrace at the Cit\u00e9 de l\u2019Architecture faces the Eiffel Tower directly.<\/p><p><strong>Ask for:<\/strong> A table on Girafe\u2019s lower terrace, facing the Eiffel Tower.<\/p><p><strong>Worth knowing:<\/strong> Girafe and La Suite have separate restaurants and reservations. Check the name on your confirmation.<\/p><p>1 place du Trocad\u00e9ro et du 11 Novembre, 75016 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/girafe-restaurant.com\/paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Girafe\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-8\" data-views=\"close\" data-indoor=\"yes\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Les Ombres<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Contemporary French<br>Quai Branly \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Les-Ombres-Paris-Restaurant-Eiffel-View-1024x683.avif\" alt=\"Les Ombres restaurant rooftop terrace with Eiffel Tower directly overhead, Paris\" width=\"1024\" height=\"683\" class=\"wp-image-32329\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Les-Ombres-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Les-Ombres-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Les-Ombres-Paris-Restaurant-Eiffel-View-1024x683.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Les-Ombres-Paris-Restaurant-Eiffel-View.avif 1080w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> The Tower rises close above this glass-walled rooftop restaurant at the Mus\u00e9e du quai Branly. Les Ombres is a lovely place to start when you want the view and would rather dine under cover.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-8\" aria-label=\"Read more about Les Ombres\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-8\"><p><strong>The view:<\/strong> A very close, upward Eiffel Tower perspective from a glass-enclosed rooftop dining room and terrace.<\/p><p><strong>Ask for:<\/strong> A Tower-facing table in the glazed dining room, or terrace seating if you prefer to be outside.<\/p><p><strong>Worth knowing:<\/strong> The restaurant and Bar Les Ombres are separate offers. Follow the restaurant\u2019s entrance instructions for 27 quai Jacques Chirac.<\/p><p>27 quai Jacques Chirac, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.lesombres-restaurant.com\/restaurant\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Les Ombres\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-1\" data-views=\"skyline\" data-indoor=\"yes\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"fine\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"4\"><span class=\"kmip-rg__anchor\" id=\"panorama\" aria-hidden=\"true\"><\/span><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">L\u2019Oiseau Blanc<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac\u20ac \u00b7 French tasting menus<br>The Peninsula \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Restaurants-in-Paris-with-a-view-of-the-Eiffel-Tower-1024x569.jpg\" alt=\"White-clothed tables and sloping windows at L\u2019Oiseau Blanc, with the illuminated Eiffel Tower beyond the Paris rooftops\" width=\"1024\" height=\"569\" class=\"wp-image-31154\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Restaurants-in-Paris-with-a-view-of-the-Eiffel-Tower-300x167.jpg 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Restaurants-in-Paris-with-a-view-of-the-Eiffel-Tower-768x427.jpg 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Restaurants-in-Paris-with-a-view-of-the-Eiffel-Tower-1024x569.jpg 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Restaurants-in-Paris-with-a-view-of-the-Eiffel-Tower.jpg 1400w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Give dinner the whole evening at L\u2019Oiseau Blanc. The aviation-inspired room above The Peninsula pairs French tasting menus with the Tower beyond the rooftops, a fine setting for a milestone anniversary or your first dinner as an engaged couple.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-1\" aria-label=\"Read more about L\u2019Oiseau Blanc\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-1\"><p><strong>The view:<\/strong> An elevated Eiffel Tower view beyond the rooftops through the restaurant\u2019s windows.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing window table in the restaurant.<\/p><p><strong>Worth knowing:<\/strong> The rooftop bar, <a href=\"https:\/\/kissinparis.com\/secret-table-peninsula-paris\/\">Secret Table<\/a>, and Balcony Table are separate bookings from the main dining room.<\/p><p>19 avenue Kl\u00e9ber, 75116 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.peninsula.com\/en\/paris\/hotel-fine-dining\/french-rooftop-loiseau-blanc\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for L\u2019Oiseau Blanc\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-2\" data-views=\"close\" data-indoor=\"\" data-moods=\"lively\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"terrace\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Monsieur Bleu<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 French &amp; international<br>Palais de Tokyo \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Monsieur-Bleu-Paris-Restaurant-Eiffel-View-1024x682.avif\" alt=\"Private dining bubble on the Monsieur Bleu terrace, with white table settings and an Eiffel Tower view\" width=\"1024\" height=\"682\" class=\"wp-image-31804\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Monsieur-Bleu-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Monsieur-Bleu-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Monsieur-Bleu-Paris-Restaurant-Eiffel-View-1024x682.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/02\/Monsieur-Bleu-Paris-Restaurant-Eiffel-View.avif 1400w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> An Art Deco room, a sociable terrace, and the Tower across the Seine. Monsieur Bleu suits a dressed-up date or dinner with friends who would enjoy another drink after the meal.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-2\" aria-label=\"Read more about Monsieur Bleu\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-2\"><p><strong>The view:<\/strong> The terrace looks across the Seine toward the Eiffel Tower; the table position and planting affect the sightline.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing terrace position with a clear sightline past the planting.<\/p><p><strong>Worth knowing:<\/strong> Confirm any special-event or seasonal seating arrangements directly with the restaurant.<\/p><p>20 avenue de New-York, 75116 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/monsieurbleu-restaurant.com\/paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Monsieur Bleu\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-10\" data-views=\"skyline\" data-indoor=\"yes\" data-moods=\"elegant,lively\" data-cuisines=\"italian\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Gigi Rigolatto Paris<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Italian<br>Avenue Montaigne \u00b7 8th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/gigi-rigolatto-restaurant-eiffel-tower-view-paris-1024x683.jpg\" alt=\"Dining room at Gigi Paris, with floor-to-ceiling windows and Eiffel Tower views\" width=\"1024\" height=\"683\" class=\"wp-image-32321\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/gigi-rigolatto-restaurant-eiffel-tower-view-paris-300x200.jpg 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/gigi-rigolatto-restaurant-eiffel-tower-view-paris-768x512.jpg 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/gigi-rigolatto-restaurant-eiffel-tower-view-paris-1024x683.jpg 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/gigi-rigolatto-restaurant-eiffel-tower-view-paris-1536x1024.jpg 1536w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Italian dishes, a Bellini to begin, and the Tower across the rooftops. Gigi suits a dressed-up date or a celebration with friends who enjoy a room with energy.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-10\" aria-label=\"Read more about Gigi Rigolatto Paris\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-10\"><p><strong>The view:<\/strong> The Eiffel Tower appears across the rooftops from this upper-floor Avenue Montaigne restaurant.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing window or terrace table in the restaurant.<\/p><p><strong>Worth knowing:<\/strong> A Bellini Bar reservation and a restaurant table are different bookings. Ask about the music if conversation comes first.<\/p><p>15 avenue Montaigne, 75008 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/gigi-restaurant.com\/paris-fr\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Gigi Rigolatto Paris\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-11\" data-views=\"skyline\" data-indoor=\"yes\" data-moods=\"lively\" data-cuisines=\"japanese\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Kinugawa Rive Gauche<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Japanese<br>H\u00f4tel SAX \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Kinugawa-Rive-Gauche-Paris-Restaurant-Eiffel-View-1024x683.avif\" alt=\"Kinugawa Rive Gauche restaurant grand dining room with mirrored ceiling and Eiffel Tower view at dusk, Paris\" width=\"1024\" height=\"683\" class=\"wp-image-32346\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Kinugawa-Rive-Gauche-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Kinugawa-Rive-Gauche-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Kinugawa-Rive-Gauche-Paris-Restaurant-Eiffel-View-1024x683.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Kinugawa-Rive-Gauche-Paris-Restaurant-Eiffel-View-1536x1024.avif 1536w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Japanese dishes to share, cocktails, and a view across the Left Bank toward the Tower. Kinugawa Rive Gauche at H\u00f4tel SAX suits an evening that can begin slowly and carry on over dinner.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-11\" aria-label=\"Read more about Kinugawa Rive Gauche\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-11\"><p><strong>The view:<\/strong> An elevated Left Bank view toward the Eiffel Tower from the restaurant at H\u00f4tel SAX.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing window table, or the outdoor rooftop space when it is operating.<\/p><p><strong>Worth knowing:<\/strong> The dining room and seasonal rooftop have different arrangements. Choose the space you intend to book.<\/p><p>55 avenue de Saxe, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/kinu-gawa.com\/en-rivegauche.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Kinugawa Rive Gauche\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-12\" data-views=\"skyline\" data-indoor=\"\" data-moods=\"lively\" data-cuisines=\"japanese\" data-styles=\"brasserie\" data-settings=\"terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">M\u016bn<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Asian, with a Japanese focus<br>Champs-\u00c9lys\u00e9es \u00b7 8th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View-1024x683.avif\" alt=\"Mun Paris restaurant rooftop terrace with lush greenery and Eiffel Tower view on a sunny day\" width=\"1024\" height=\"683\" class=\"wp-image-32350\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View-1024x683.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View-1536x1024.avif 1536w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Mun-Paris-Restaurant-Eiffel-View.avif 1600w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Above the Champs-\u00c9lys\u00e9es, M\u016bn brings together Asian dishes, cocktails, and a wide Paris skyline. Choose it for a fashionable evening with the Tower in the distance and time to linger over another drink.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-12\" aria-label=\"Read more about M\u016bn\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-12\"><p><strong>The view:<\/strong> A rooftop panorama over the Champs-\u00c9lys\u00e9es with the Eiffel Tower in the wider skyline.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing terrace table or a window position with the view you want.<\/p><p><strong>Worth knowing:<\/strong> Salon Opium and La Serre are separate private spaces. Ask about their settings if you are planning a group dinner.<\/p><p>52 avenue des Champs-\u00c9lys\u00e9es, 75008 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/restaurant-mun.com\/paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for M\u016bn\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-9\" data-views=\"skyline\" data-indoor=\"yes\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"4\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Le Tout-Paris<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac\u20ac \u00b7 Contemporary French brasserie<br>Cheval Blanc \u00b7 1st<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Le-Tout-Paris-Restaurant-Eiffel-View.avif\" alt=\"Le Tout-Paris restaurant colorful interior with Eiffel Tower view, Paris\" width=\"1024\" height=\"768\" class=\"wp-image-32327\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Le-Tout-Paris-Restaurant-Eiffel-View-300x225.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Le-Tout-Paris-Restaurant-Eiffel-View-768x576.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Le-Tout-Paris-Restaurant-Eiffel-View.avif 1024w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Colorful interiors and contemporary French brasserie cooking make Le Tout-Paris an inviting place to celebrate. From Cheval Blanc, the view takes in the Seine and the city, with the Tower on the horizon.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-9\" aria-label=\"Read more about Le Tout-Paris\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-9\"><p><strong>The view:<\/strong> A wide central-Paris panorama, with the Eiffel Tower at a distance along the terrace outlook.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing window or terrace table.<\/p><p><strong>Worth knowing:<\/strong> The bar does not take reservations. La Table de Partage is a separate private dining option.<\/p><p>8 quai du Louvre, 75001 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.chevalblanc.com\/en\/maison\/paris\/restaurants-and-bars\/le-tout-paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Le Tout-Paris\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-7\" data-views=\"skyline\" data-indoor=\"\" data-moods=\"lively\" data-cuisines=\"french,mediterranean\" data-styles=\"brasserie\" data-settings=\"terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Perruche<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Proven\u00e7al &amp; Mediterranean<br>Printemps Haussmann \u00b7 9th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Perruche-Paris-Restaurant-Eiffel-View-1024x683.avif\" alt=\"Perruche rooftop restaurant terrace with panoramic Paris skyline and Eiffel Tower view\" width=\"1024\" height=\"683\" class=\"wp-image-32331\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Perruche-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Perruche-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Perruche-Paris-Restaurant-Eiffel-View-1024x683.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Perruche-Paris-Restaurant-Eiffel-View-1536x1024.avif 1536w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> A rooftop garden, Mediterranean dishes, and Paris spread out around you. Perruche is an appealing finish to an afternoon at the department stores, or a sociable dinner with friends above the city.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-7\" aria-label=\"Read more about Perruche\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-7\"><p><strong>The view:<\/strong> A distant Eiffel Tower in a broad panorama from the top of Printemps de l\u2019Homme.<\/p><p><strong>Ask for:<\/strong> The Tower-facing side of the restaurant or terrace.<\/p><p><strong>Worth knowing:<\/strong> The outdoor bar has its own seasonal arrangements. Follow the entrance directions for Printemps de l\u2019Homme.<\/p><p>Printemps de l\u2019Homme, 9th floor, 2 rue du Havre, 75009 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/perruche-restaurant.com\/paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Perruche\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-14\" data-views=\"skyline\" data-indoor=\"yes\" data-moods=\"lively\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Bonnie<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Contemporary brasserie<br>SO\/ Paris \u00b7 4th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View-1024x683.avif\" alt=\"Bonnie Paris restaurant high-rise terrace with panoramic view over the Seine, Notre-Dame and Eiffel Tower\" width=\"1024\" height=\"683\" class=\"wp-image-32358\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View-1024x683.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View-1536x1024.avif 1536w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Bonnie-Paris-Restaurant-Eiffel-View.avif 1600w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> The Seine below, a mirrored terrace ceiling above, and the Tower on the far skyline. Bonnie suits a dinner near the Marais when you want to enjoy the whole city and perhaps continue over drinks.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-14\" aria-label=\"Read more about Bonnie\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-14\"><p><strong>The view:<\/strong> A long, wide view over the Seine and central Paris, with the Eiffel Tower well in the distance.<\/p><p><strong>Ask for:<\/strong> The Eiffel-facing side of the dining room or terrace.<\/p><p><strong>Worth knowing:<\/strong> The restaurant, bar, and club operate separately. Ask about an earlier seating if you want an easier conversation.<\/p><p>10 rue Agrippa d\u2019Aubign\u00e9, 75004 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Skyline view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/bonnie-restaurant.com\/paris\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Bonnie\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-13\" data-views=\"close\" data-indoor=\"\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"terrace\" data-budgets=\"3\"><span class=\"kmip-rg__anchor\" id=\"casual\" aria-hidden=\"true\"><\/span><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">FRAME Brasserie<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 French brasserie<br>Pullman Tour Eiffel \u00b7 15th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Frame-Brasserie-Paris-Restaurant-Eiffel-View.avif\" alt=\"FRAME Brasserie dining area beside the Eiffel Tower\" width=\"1000\" height=\"667\" class=\"wp-image-32354\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Frame-Brasserie-Paris-Restaurant-Eiffel-View-300x200.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Frame-Brasserie-Paris-Restaurant-Eiffel-View-768x512.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Frame-Brasserie-Paris-Restaurant-Eiffel-View.avif 1000w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> A relaxed brasserie meal close to the Tower, or a Sunday brunch with the family. FRAME at the Pullman offers a different rhythm from the long tasting menus and late rooftop dinners.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-13\" aria-label=\"Read more about FRAME Brasserie\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-13\"><p><strong>The view:<\/strong> A very close, upward Tower perspective from the hotel\u2019s restaurant setting; confirm the exact table and terrace angle.<\/p><p><strong>Ask for:<\/strong> A restaurant or terrace table with a seated Tower view.<\/p><p><strong>Worth knowing:<\/strong> FRAME and the hotel\u2019s 10\u00e8me Ciel rooftop bar are different venues. Follow your confirmation for the rue Jean Rey entrance.<\/p><p>Pullman Paris Tour Eiffel, access via rue Jean Rey, 75015 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.framebrasserie.fr\/en\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for FRAME Brasserie\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"location-6\" data-views=\"cruise\" data-indoor=\"\" data-moods=\"elegant\" data-cuisines=\"french\" data-styles=\"fine\" data-settings=\"riverside\" data-budgets=\"4\"><span class=\"kmip-rg__anchor\" id=\"river\" aria-hidden=\"true\"><\/span><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Ducasse sur Seine<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac\u20ac \u00b7 Contemporary French<br>Port Debilly \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Ducasse-Sur-Seine-Paris-Restaurant-Eiffel-View-1024x597.avif\" alt=\"Ducasse sur Seine restaurant boat on the River Seine with illuminated Eiffel Tower at dusk, Paris\" width=\"1024\" height=\"597\" class=\"wp-image-32341\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Ducasse-Sur-Seine-Paris-Restaurant-Eiffel-View-300x175.avif 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Ducasse-Sur-Seine-Paris-Restaurant-Eiffel-View-768x448.avif 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Ducasse-Sur-Seine-Paris-Restaurant-Eiffel-View-1024x597.avif 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/03\/Ducasse-Sur-Seine-Paris-Restaurant-Eiffel-View.avif 1200w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> French cooking prepared on board and Paris passing the windows. Ducasse sur Seine turns dinner into a journey along the river, with the Tower appearing along the way rather than staying in front of your table.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-location-6\" aria-label=\"Read more about Ducasse sur Seine\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-location-6\"><p><strong>The view:<\/strong> A changing river panorama on a dining cruise; the Eiffel Tower is one part of the route, not a fixed dinner backdrop.<\/p><p><strong>Ask for:<\/strong> Your preferred window or seating zone on the dining cruise.<\/p><p><strong>Worth knowing:<\/strong> Plan around the boarding time. The Tower view changes as the boat sails.<\/p><p>Port Debilly, 75016 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Dining cruise<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.ducasse-seine.com\/fr\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Ducasse sur Seine\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"la-suite-girafe\" data-views=\"close\" data-indoor=\"\" data-moods=\"elegant,lively\" data-cuisines=\"french,seafood\" data-styles=\"brasserie\" data-settings=\"terrace,rooftop\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">La Suite Girafe<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Fish &amp; seafood<br>Trocad\u00e9ro \u00b7 9th floor \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris-1024x683.webp\" alt=\"La Suite Girafe restaurant in Paris\" width=\"1024\" height=\"683\" class=\"wp-image-39527\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris-300x200.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris-768x512.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris-1024x683.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris-1536x1024.webp 1536w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/LaSuiteGirafe-paris.webp 1600w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> On the ninth floor of the Cit\u00e9 de l\u2019Architecture, La Suite pairs an elevated Tower view with seafood and an Art Deco room. It has its own terrace, its own setting, and a separate reservation from the restaurant below.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-la-suite-girafe\" aria-label=\"Read more about La Suite Girafe\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-la-suite-girafe\"><p><strong>The view:<\/strong> An elevated panoramic terrace on the ninth floor of the same museum building as Girafe.<\/p><p><strong>Ask for:<\/strong> An Eiffel-facing terrace table at La Suite on the ninth floor.<\/p><p><strong>Worth knowing:<\/strong> Also known as La Suite, this is a separate restaurant from Girafe. Use its own booking calendar.<\/p><p>1 place du Trocad\u00e9ro et du 11 Novembre, 75016 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Elegant &amp; Grand<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/girafe-restaurant.com\/la-suite\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for La Suite Girafe\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"6-new-york\" data-views=\"close\" data-indoor=\"yes\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"indoor\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">6 New York<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 Seasonal French<br>Avenue de New-York \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/6newyork-paris-restaurant.webp\" alt=\"6 New York restaurant in Paris\" width=\"500\" height=\"338\" class=\"wp-image-39528\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/6newyork-paris-restaurant-300x203.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/6newyork-paris-restaurant.webp 500w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Seasonal French cooking and a window looking toward the Tower give 6 New York a place beside the larger terrace destinations. Cathy and J\u00e9r\u00f4me Gangneux\u2019s restaurant suits a dinner centered on the food as well as the view.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-6-new-york\" aria-label=\"Read more about 6 New York\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-6-new-york\"><p><strong>The view:<\/strong> A street-level, riverbank perspective toward the Eiffel Tower from a restaurant facing it across the Seine.<\/p><p><strong>Ask for:<\/strong> A window table from which you can see the Eiffel Tower while seated.<\/p><p><strong>Worth knowing:<\/strong> The view is from street level, across the road and the Seine. Check the live calendar for service days.<\/p><p>6 avenue de New York, 75116 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.6newyork.fr\/en\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for 6 New York\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"francette\" data-views=\"close\" data-indoor=\"yes\" data-moods=\"lively,relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"terrace,riverside\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Francette<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 French<br>Port de Suffren \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/francette-restaurant-paris-1024x512.webp\" alt=\"Francette restaurant in Paris\" width=\"1024\" height=\"512\" class=\"wp-image-39529\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/francette-restaurant-paris-300x150.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/francette-restaurant-paris-768x384.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/francette-restaurant-paris-1024x512.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/francette-restaurant-paris.webp 1500w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Dinner by the river, with no departure to catch. Francette stays at the quay beside the Tower, with French cooking and several spaces for a meal or a drink on the water.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-francette\" aria-label=\"Read more about Francette\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-francette\"><p><strong>The view:<\/strong> A docked barge beside the Eiffel Tower, with a close-up view from the outdoor penthouse and selected seats in the covered penthouse.<\/p><p><strong>Ask for:<\/strong> A Tower-facing seat in the outdoor or covered penthouse, and confirmation of the meal served there.<\/p><p><strong>Worth knowing:<\/strong> The ground-floor dinner lounge, penthouse and terraces are different spaces. Confirm which space your booking covers; the boat stays at the quay.<\/p><p>Port de Suffren, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Fashionable &amp; Lively<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/fugafamily.com\/en\/restaurants\/francette\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Francette\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"bistro-parisien\" data-views=\"close\" data-indoor=\"yes\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"indoor,terrace,riverside\" data-budgets=\"2\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Le Bistro Parisien<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac \u00b7 Seasonal French bistro<br>Port de la Bourdonnais \u00b7 7th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/le-bistro-parisien-1024x512.webp\" alt=\"Le Bistro Parisien restaurant in Paris\" width=\"1024\" height=\"512\" class=\"wp-image-39530\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/le-bistro-parisien-300x150.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/le-bistro-parisien-768x384.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/le-bistro-parisien-1024x512.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/le-bistro-parisien-1536x768.webp 1536w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> A meal beside the Seine at the foot of the Tower, with a bistro menu and glass-covered or outdoor seating. Le Bistro Parisien fits naturally around a family visit to the monument.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-bistro-parisien\" aria-label=\"Read more about Le Bistro Parisien\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-bistro-parisien\"><p><strong>The view:<\/strong> A quayside restaurant at the foot of the Tower, with glass-covered and outdoor seating beside the Seine.<\/p><p><strong>Ask for:<\/strong> A Tower-facing table under the glass roof or on the terrace.<\/p><p><strong>Worth knowing:<\/strong> Some offers include a separate sightseeing cruise. The bistro meal itself takes place at the quay.<\/p><p>Port de la Bourdonnais, 75007 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/www.bateauxparisiens.com\/en\/le-bistro-parisien.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Le Bistro Parisien\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"chez-francis\" data-views=\"close\" data-indoor=\"\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie\" data-settings=\"terrace\" data-budgets=\"3\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Chez Francis<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac\u20ac \u00b7 French brasserie<br>Place de l\u2019Alma \u00b7 8th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/chez-francis-paris-restaurant-1024x536.webp\" alt=\"Chez Francis restaurant in Paris\" width=\"1024\" height=\"536\" class=\"wp-image-39531\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/chez-francis-paris-restaurant-300x157.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/chez-francis-paris-restaurant-768x402.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/chez-francis-paris-restaurant-1024x536.webp 1024w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/chez-francis-paris-restaurant.webp 1200w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> A brasserie table at Place de l\u2019Alma, with the Tower across the river. Chez Francis works for breakfast, lunch, or dinner when you want the view as part of a lively Paris street scene.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-chez-francis\" aria-label=\"Read more about Chez Francis\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-chez-francis\"><p><strong>The view:<\/strong> A street-side Eiffel Tower perspective across the Seine from the terrace at Place de l\u2019Alma.<\/p><p><strong>Ask for:<\/strong> A terrace or window position facing the Eiffel Tower.<\/p><p><strong>Worth knowing:<\/strong> This is a street-side setting. Read the menu before choosing it as a lower-budget alternative.<\/p><p>7 place de l\u2019Alma, 75008 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/chezfrancis-paris.com\/en\/accueil-english\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Chez Francis\">Restaurant website<\/a><\/article><article class=\"kmip-rg__card\" id=\"cafe-du-trocadero\" data-views=\"close\" data-indoor=\"yes\" data-moods=\"relaxed\" data-cuisines=\"french\" data-styles=\"brasserie,cafe\" data-settings=\"terrace\" data-budgets=\"2\"><div class=\"kmip-rg__card-header\"><div><h3 class=\"kmip-rg__card-name\">Caf\u00e9 du Trocad\u00e9ro<\/h3><p class=\"kmip-rg__card-meta\">\u20ac\u20ac \u00b7 Caf\u00e9 &amp; French brasserie<br>Place du Trocad\u00e9ro \u00b7 16th<\/p><\/div><\/div><div class=\"kmip-rg__card-photo\"><img src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/cafe-du-trocadero-paris-restaurant.webp\" alt=\"Caf\u00e9 du Trocad\u00e9ro restaurant in Paris\" width=\"855\" height=\"570\" class=\"wp-image-39532\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/cafe-du-trocadero-paris-restaurant-300x200.webp 300w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/cafe-du-trocadero-paris-restaurant-768x512.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/10\/cafe-du-trocadero-paris-restaurant.webp 855w\" sizes=\"auto, (min-width: 1744px) 511px, (min-width: 1200px) calc(30.6667vw - 22.667px), (min-width: 768px) calc(46vw - 14px), calc(100vw - 52px)\"><\/div><div class=\"kmip-rg__card-body\"><p><strong>The short version:<\/strong> Coffee after a morning walk, lunch between sights, or an easy brasserie dinner. Caf\u00e9 du Trocad\u00e9ro gives the view a more everyday setting on the busy square, with the Tower visible from selected tables.<\/p><button type=\"button\" class=\"kmip-rg__read-more\" aria-expanded=\"false\" aria-controls=\"kmip-rg-detail-cafe-du-trocadero\" aria-label=\"Read more about Caf\u00e9 du Trocad\u00e9ro\">Read more <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\">\u2193<\/span><\/button><div class=\"kmip-rg__card-detail\" id=\"kmip-rg-detail-cafe-du-trocadero\"><p><strong>The view:<\/strong> An Eiffel Tower perspective from selected terrace and indoor positions around the busy Trocad\u00e9ro square.<\/p><p><strong>Ask for:<\/strong> A terrace or window table with a clear Tower sightline.<\/p><p><strong>Worth knowing:<\/strong> Expect the life of the square around you: traffic, people passing, and a caf\u00e9 atmosphere.<\/p><p>8 place du Trocad\u00e9ro et du 11 Novembre, 75116 Paris<\/p><\/div><\/div><div class=\"kmip-rg__card-chips\"><span class=\"kmip-rg__card-chip\">Close-up view<\/span><span class=\"kmip-rg__card-chip\">Relaxed &amp; Casual<\/span><span class=\"kmip-rg__card-chip\">Indoor view<\/span><\/div><a class=\"kmip-rg__reserve kmip-rg__reserve--main\" href=\"https:\/\/cafedutrocadero.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Restaurant website for Caf\u00e9 du Trocad\u00e9ro\">Restaurant website<\/a><\/article><\/div><div class=\"kmip-rg__no-results\" hidden><p>No restaurants match these filters.<\/p><button type=\"button\" class=\"kmip-rg__clear-inline\" data-rg-reset>Clear all filters<\/button><\/div><\/div>\n\n\n<\/div>\n\n\n<section id=\"booking-tips\" class=\"wp-block-group alignfull kmip-guide-tips has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div id=\"compare-views\" class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"et-tips-heading\">A good table makes the evening.<\/h2>\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">For the Tower close by<\/h3>\n\n<p class=\"wp-block-paragraph\">Compare <a href=\"#location-4\">Caf\u00e9 de l\u2019Homme<\/a>, <a href=\"#location-3\">Girafe<\/a>, and <a href=\"#la-suite-girafe\">La Suite<\/a> for the Trocad\u00e9ro perspective. For a close indoor view, start with <a href=\"#location-8\">Les Ombres<\/a>.<\/p>\n<\/div>\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">For dinner after dark<\/h3>\n\n<p class=\"wp-block-paragraph\">Arrive before sunset if you would enjoy daylight and evening lights over one meal. The Tower normally sparkles for five minutes on the hour after dark; check the <a href=\"https:\/\/www.toureiffel.paris\/en\/news\/visit\/why-its-worth-visiting-eiffel-tower-night\" target=\"_blank\" rel=\"noopener noreferrer\">official lighting schedule<\/a>. For an <a href=\"https:\/\/kissinparis.com\/paris-couple-photography-night\/\">evening photoshoot before dinner<\/a>, agree the finish time and allow for travel before reserving.<\/p>\n<\/div>\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">For the seats you have in mind<\/h3>\n\n<p class=\"wp-block-paragraph\">Ask what you will see while seated and which room or terrace your booking covers. If dinner is outdoors, agree on the indoor alternative. Mention children\u2019s ages, allergies, or access needs when reserving.<\/p>\n<\/div>\n<\/div>\n\n<p class=\"wp-block-paragraph\">For more cuisines and atmospheres, explore our <a href=\"https:\/\/kissinparis.com\/paris-restaurant-guide\/\">Paris restaurant guide<\/a>.<\/p>\n<\/div>\n<\/section>\n\n\n\n<section class=\"wp-block-group alignfull mt-0 mb-0 sec sec-faq has-base-color has-contrast-background-color has-text-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" id=\"faq\">\n<h2 class=\"wp-block-heading alignfull fadeInUp eye ml-0 mr-0\">Questions about Eiffel Tower dining<\/h2>\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-31125-1-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Which restaurants have the closest Eiffel Tower views?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Start with Caf\u00e9 de l\u2019Homme, Girafe, and La Suite Girafe for the Trocad\u00e9ro perspective. Les Ombres sits closer to the Tower on the Left Bank and offers a more upward angle, including from its glass-walled dining room.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Where can we dine indoors with an Eiffel Tower view?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use the Indoor view filter to compare Les Ombres, L\u2019Oiseau Blanc, 6 New York, Gigi, Kinugawa Rive Gauche, Le Tout-Paris, Bonnie, Le Bistro Parisien, Francette\u2019s covered penthouse, and Caf\u00e9 du Trocad\u00e9ro. Ask for an Eiffel-facing table; the view varies with the seats offered.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Are Girafe and La Suite Girafe the same restaurant?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>They share the Cit\u00e9 de l\u2019Architecture address but have separate reservations. Girafe has the lower terrace; La Suite Girafe, also called La Suite, is on the ninth floor with its own dining room and terrace.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can we reserve a guaranteed view?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Some restaurants sell a specific seating experience, including Caf\u00e9 de l\u2019Homme\u2019s terrace options. Elsewhere, a window-table request may remain a preference. Ask which seating zone your confirmation includes and what happens if outdoor dining moves inside.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Which options suit a casual meal or smaller budget?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Compare Caf\u00e9 du Trocad\u00e9ro and Le Bistro Parisien, or FRAME for a brasserie meal near the Tower. Breakfast or lunch may give you more flexibility. The \u20ac symbols compare spending levels; use the linked menus for actual prices.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do Jules Verne and Madame Brasserie look at the Eiffel Tower?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Both are inside the monument, looking outward over Paris or into parts of its structure. Choose them for dining in the Tower. For a full view of the Tower in front of your table, choose a restaurant outside it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is river dining the same as a dinner cruise?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Francette and Le Bistro Parisien serve meals at the quay. Ducasse sur Seine sails, with changing views and a fixed boarding time. A bistro meal paired with a separate sightseeing cruise is another kind of booking.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can we bring children?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Madame Brasserie lists children\u2019s menus; Le Jules Verne has no children\u2019s menu or high chairs. For any restaurant, share your children\u2019s ages and ask about the menu and meal length. If anyone needs step-free access, ask about the route from the street to the table.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-31125-1-9\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can Kiss Me in Paris arrange our dinner?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, we can arrange dinner as part of a planned proposal or celebration. For a proposal, anniversary, or private celebration, <a href=\"https:\/\/kissinparis.com\/contact\/\">tell us what you have in mind<\/a>. For a table only, book directly with the restaurant.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/section>\n\n\n<div class=\"wp-block-group alignfull mt-0 mb-0 sec v2 sec-next has-custom-sun-light-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group alignwide mt-0 mb-0 next-row is-content-justification-left is-layout-flex wp-container-core-group-is-layout-70ed9c80 wp-block-group-is-layout-flex\">\n<div class=\"wp-block-group mt-0 mb-0 has-content is-nowrap is-layout-flex wp-container-core-group-is-layout-0cd90bfb wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-medium hide-caption\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"300\" src=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/01\/eiffel-tower-view-private-residential-terrace-paris-blue-hour-200x300.webp\" alt=\"Illuminated Eiffel Tower at blue hour viewed from a private residential rooftop terrace in Paris, with city rooftops in the foreground.\" class=\"wp-image-30184\" srcset=\"https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/01\/eiffel-tower-view-private-residential-terrace-paris-blue-hour-200x300.webp 200w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/01\/eiffel-tower-view-private-residential-terrace-paris-blue-hour-682x1024.webp 682w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/01\/eiffel-tower-view-private-residential-terrace-paris-blue-hour-768x1152.webp 768w, https:\/\/kissinparis.com\/wp-content\/uploads\/2026\/01\/eiffel-tower-view-private-residential-terrace-paris-blue-hour.webp 933w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group mt-0 mb-0 content has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Planning an evening around dinner?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If dinner follows a proposal, leave room for the surprise, the photographs, and a little time together. Our <a href=\"https:\/\/kissinparis.com\/paris-proposal\/planner\/\">full-service proposal planners<\/a> can connect the setting, dinner, and the rest of your evening. For an anniversary or private celebration, tell us what you have in mind. If you would prefer the proposal and dinner in a privately reserved setting, see this <a href=\"https:\/\/kissinparis.com\/work\/private-dinner-proposal-eiffel-tower\/\">private dinner proposal with an Eiffel Tower view<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons has-action is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/kissinparis.com\/contact\/\">Discuss your celebration<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<section class=\"wp-block-group alignfull kmip-restaurant-feature has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"kmip-guide-eyebrow wp-block-paragraph\">For restaurant teams<\/p>\n\n\n<h2 class=\"wp-block-heading\">Interested in a featured placement?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Tell us about your restaurant and the experience you offer. We\u2019d be happy to discuss future featured placements in our Paris restaurant guides.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"mailto:support@kissinparis.com?subject=Restaurant%20feature%20inquiry%20%7C%20Kiss%20Me%20in%20Paris\">Discuss a restaurant feature<\/a><\/div>\n<\/div>\n<\/section>\n\n\n\n<script>\n\/** KMIP restaurant directories: one instant filter engine for both guides. *\/\n(() => {\n  'use strict';\n  const root = document.querySelector('.kmip-rg');\n  if (!root || root.classList.contains('kmip-rg--ready')) return;\n  const one = s => root.querySelector(s), all = s => [...root.querySelectorAll(s)];\n  \/\/ Preserve server-rendered destinations, while keeping booking visible after enhancement.\n  all('.kmip-rg__section-heading').forEach(heading => {\n    const decorative = heading.querySelector('em');\n    if (decorative && decorative.textContent.trim() === '\/\/') decorative.remove();\n    for (const child of heading.childNodes) {\n      if (child.nodeType === 3 && child.textContent.trim()) {\n        child.textContent = child.textContent.replace(\/^\\s*\\\/\\\/\\s*\/, '');\n        break;\n      }\n    }\n  });\n  all('.kmip-rg__card').forEach(card => {\n    const headerLink = card.querySelector('.kmip-rg__card-header .kmip-rg__reserve');\n    const detailLink = card.querySelector('.kmip-rg__card-detail .kmip-rg__reserve');\n    const direct = card.querySelector(':scope > .kmip-rg__reserve') || headerLink || detailLink;\n    if (direct) {\n      direct.classList.remove('kmip-rg__reserve--detail');\n      direct.classList.add('kmip-rg__reserve--main');\n      direct.textContent = direct.textContent.replace(\/\\s*[\u2192\u2197]\\s*$\/, '').trim();\n      card.appendChild(direct);\n      if (headerLink && detailLink && headerLink !== detailLink && headerLink.href === detailLink.href) detailLink.remove();\n    }\n  });\n  \/\/ Upgrade the native ACF renderer in place; its legacy footer script then exits.\n  root.id = 'kmip-rg-shared';\n  root.dataset.primary = root.dataset.primary || 'occasions'; root.dataset.toggle = root.dataset.toggle || 'michelin';\n  root.dataset.toggleValue = root.dataset.toggleValue || 'starred'; root.dataset.toggleLabel = root.dataset.toggleLabel || '\u2605 Michelin';\n  all('.kmip-rg__clear,.kmip-rg__clear-inline').forEach(b => { b.dataset.rgReset = ''; b.removeAttribute('style'); });\n  const empty = one('.kmip-rg__no-results'); empty.removeAttribute('style'); empty.hidden = true;\n  const drawerPanel = one('.kmip-rg__drawer'), shade = one('.kmip-rg__drawer-backdrop');\n  drawerPanel.hidden = true; drawerPanel.inert = true; shade.hidden = true;\n  const counts = all('.kmip-rg__card');\n  all('[data-filter-group]').forEach(b => {\n    const g=b.dataset.filterGroup,v=b.dataset.filterValue;\n    if(v!=='all' && !counts.some(c => (c.dataset[g]||'').split(',').includes(v))) b.remove();\n  });\n  for(const [suffix,container] of [['desktop',one('[data-dropdown=\"more\"] .kmip-rg__dropdown-panel')],['mobile',drawerPanel]]) {\n    if (!container.querySelector('.kmip-rg__search')) {\n      const wrap=document.createElement('div'); wrap.className='kmip-rg__search-wrap';\n      const label=document.createElement('label'); label.htmlFor='kmip-rg-search-'+suffix; label.className='kmip-rg__search-label';label.textContent='Restaurant name';\n      const input=document.createElement('input');input.type='search';input.id=label.htmlFor;input.className='kmip-rg__search';input.placeholder='Search restaurants';input.autocomplete='off';\n      wrap.append(label,input);container.insertBefore(wrap,suffix==='mobile'?container.querySelector('.kmip-rg__drawer-group'):container.firstChild);\n    }\n  }\n  all('.kmip-rg__dropdown-trigger').forEach(b => { b.dataset.label = b.dataset.label || b.querySelector('span').textContent; });\n  all('.kmip-rg__read-more').forEach(b=> {const detail=b.nextElementSibling;detail.id = detail.id || 'kmip-rg-detail-'+b.closest('article').id;b.setAttribute('aria-controls',detail.id);b.setAttribute('aria-label','Read more about '+b.closest('article').querySelector('h3').textContent);});\n  const activeDesktop=one('.kmip-rg__active-chips--desktop');if(activeDesktop)one('.kmip-rg__desktop-filters').append(activeDesktop);\n  all('.kmip-rg__active-chips').forEach(x=>x.hidden=true);\n\n  const cards = all('.kmip-rg__card'), buttons = all('[data-filter-group]');\n  const primary = root.dataset.primary || 'occasions';\n  const toggle = root.dataset.toggle || 'michelin';\n  const secondary = [...new Set(buttons.map(b => b.dataset.filterGroup))].filter(g => g !== primary && g !== toggle);\n  const state = Object.fromEntries(secondary.map(g => [g, new Set()]));\n  let selected = 'all', toggled = false, query = '', savedOverflow = '', drawerOpen = false;\n  const drawer = one('.kmip-rg__drawer'), opener = one('.kmip-rg__filter-btn');\n  const dropdowns = all('.kmip-rg__dropdown'), desktop = one('.kmip-rg__desktop-filters'), mobile = one('.kmip-rg__filters');\n  const media = matchMedia('(min-width:768px)');\n  const norm = s => String(s).normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').toLowerCase().replace(\/[\u2019']\/g, '');\n  const tags = (c, g) => (c.dataset[g] || '').split(',').filter(Boolean);\n  const labels = {};\n  buttons.forEach(b => { labels[b.dataset.filterGroup + ':' + b.dataset.filterValue] = b.textContent.trim(); });\n  const active = () => selected !== 'all' || toggled || query || secondary.some(g => state[g].size);\n  function matches(c, changeGroup, changeValue) {\n    const p = changeGroup === primary ? changeValue : selected;\n    const t = changeGroup === toggle ? changeValue : toggled;\n    if (p !== 'all' && !tags(c, primary).includes(p)) return false;\n    if (t && !tags(c, toggle).includes(root.dataset.toggleValue || 'starred')) return false;\n    if (query && !norm(c.querySelector('h3').textContent).includes(query)) return false;\n    return secondary.every(g => {\n      const values = changeGroup === g ? new Set([...state[g], changeValue]) : state[g];\n      return !values.size || [...values].some(v => tags(c, g).includes(v));\n    });\n  }\n  function closeDropdowns(focus = false) {\n    dropdowns.forEach(d => {\n      if (focus && d.classList.contains('kmip-rg__dropdown--open')) d.querySelector('button').focus();\n      d.classList.remove('kmip-rg__dropdown--open');\n      d.querySelector('.kmip-rg__dropdown-trigger').setAttribute('aria-expanded', 'false');\n    });\n  }\n  function closeDrawer(focus = true) {\n    if (!drawerOpen) return;\n    drawerOpen = false; drawer.hidden = true; drawer.inert = true;\n    one('.kmip-rg__drawer-backdrop').hidden = true;\n    document.body.style.overflow = savedOverflow;\n    opener.setAttribute('aria-expanded', 'false');\n    if (focus && !media.matches) opener.focus();\n  }\n  function reset() {\n    selected = 'all'; toggled = false; query = '';\n    secondary.forEach(g => state[g].clear());\n    all('.kmip-rg__search').forEach(s => { s.value = ''; });\n    closeDropdowns(); closeDrawer(); render();\n  }\n  function renderChips(container) {\n    container.replaceChildren();\n    function chip(label, remove) {\n      const b = document.createElement('button'); b.type = 'button'; b.className = 'kmip-rg__active-chip';\n      b.textContent = label + ' \u00d7'; b.setAttribute('aria-label', 'Remove ' + label + ' filter');\n      b.addEventListener('click', () => { remove(); render(); }); container.appendChild(b);\n    }\n    if (selected !== 'all') chip(labels[primary + ':' + selected], () => { selected = 'all'; });\n    if (toggled) chip(root.dataset.toggleLabel, () => { toggled = false; });\n    secondary.forEach(g => state[g].forEach(v => chip(labels[g + ':' + v], () => state[g].delete(v))));\n    if (query) chip('Search: ' + query, () => { query = ''; all('.kmip-rg__search').forEach(s => { s.value = ''; }); });\n    container.hidden = !container.childElementCount;\n  }\n  function render() {\n    let count = 0;\n    cards.forEach(c => { c.hidden = !matches(c); if (!c.hidden) count++; });\n    root.classList.toggle('kmip-rg--filtered', Boolean(active()));\n    all('.kmip-rg__result-count').forEach(e => { e.textContent = count + ' of ' + cards.length; });\n    one('.kmip-rg__no-results').hidden = count !== 0;\n    one('#kmip-rg-drawer-count').textContent = count;\n    one('#kmip-rg-drawer-noun').textContent = count === 1 ? 'restaurant' : 'restaurants';\n    all('[data-rg-reset]').forEach(b => { if (!b.closest('.kmip-rg__no-results')) b.hidden = !active(); });\n    buttons.forEach(b => {\n      const g = b.dataset.filterGroup, v = b.dataset.filterValue;\n      const on = g === primary ? selected === v : g === toggle ? toggled : state[g].has(v);\n      b.classList.toggle('kmip-rg__chip--active', on); b.setAttribute('aria-pressed', String(on));\n      const possible = on || cards.some(c => matches(c, g, g === toggle ? true : v));\n      b.disabled = !possible;\n      b.title = possible ? '' : 'No restaurants with these filters. Clear a selection to see more.';\n    });\n    const sc = secondary.reduce((n, g) => n + state[g].size, query ? 1 : 0);\n    one('#kmip-rg-secondary-count').textContent = sc ? ' (' + sc + ')' : '';\n    dropdowns.forEach(d => {\n      const key = d.dataset.dropdown, trigger = d.querySelector('.kmip-rg__dropdown-trigger');\n      let n = key === primary ? (selected !== 'all' ? 1 : 0) : key === 'moods' ? state.moods.size : secondary.filter(g => g !== 'moods').reduce((n, g) => n + state[g].size, query ? 1 : 0);\n      trigger.classList.toggle('kmip-rg__dropdown-trigger--active', n > 0);\n      trigger.querySelector('span').textContent = trigger.dataset.label + (n ? ' (' + n + ')' : '');\n    });\n    all('.kmip-rg__active-chips').forEach(renderChips);\n    updatePosition();\n  }\n  function placePanel(d) {\n    const p = d.querySelector('.kmip-rg__dropdown-panel');\n    p.style.left = '0px';\n    const rect = p.getBoundingClientRect();\n    if (rect.right > innerWidth - 16) p.style.left = Math.min(0, innerWidth - 16 - rect.right) + 'px';\n    p.style.maxHeight = Math.max(120, innerHeight - rect.top - 16) + 'px';\n  }\n  let queued = false;\n  function updatePosition() {\n    queued = false;\n    const header = document.querySelector('header.wp-block-template-part');\n    const admin = document.getElementById('wpadminbar');\n    const top = Math.max(0, header ? header.getBoundingClientRect().bottom : 0, admin ? admin.getBoundingClientRect().bottom : 0);\n    const offset = top + 'px';\n    if (root.style.getPropertyValue('--kmip-sticky-offset') !== offset) root.style.setProperty('--kmip-sticky-offset', offset);\n    const bar = media.matches ? desktop : mobile;\n    root.classList.toggle('kmip-rg--stuck', bar.getBoundingClientRect().top <= top + 1);\n    dropdowns.filter(d => d.classList.contains('kmip-rg__dropdown--open')).forEach(placePanel);\n  }\n  const schedulePosition = () => { if (!queued) { queued = true; requestAnimationFrame(updatePosition); } };\n  root.addEventListener('click', e => {\n    const b = e.target.closest('button'); if (!b) return;\n    if (b.matches('[data-rg-reset]')) { reset(); return; }\n    if (b.matches('[data-filter-group]')) {\n      const g = b.dataset.filterGroup, v = b.dataset.filterValue;\n      if (g === primary) selected = v;\n      else if (g === toggle) toggled = !toggled;\n      else if (state[g].has(v)) state[g].delete(v); else state[g].add(v);\n      render(); return;\n    }\n    if (b.matches('.kmip-rg__dropdown-trigger')) {\n      const d = b.closest('.kmip-rg__dropdown'), open = d.classList.contains('kmip-rg__dropdown--open');\n      closeDropdowns();\n      if (!open) { d.classList.add('kmip-rg__dropdown--open'); b.setAttribute('aria-expanded', 'true'); placePanel(d); }\n    }\n    if (b.matches('.kmip-rg__filter-btn')) {\n      savedOverflow = document.body.style.overflow; drawerOpen = true;\n      drawer.hidden = false; drawer.inert = false; one('.kmip-rg__drawer-backdrop').hidden = false;\n      document.body.style.overflow = 'hidden'; b.setAttribute('aria-expanded', 'true');\n      one('.kmip-rg__drawer-close').focus();\n    }\n    if (b.matches('.kmip-rg__drawer-close,.kmip-rg__drawer-apply')) closeDrawer();\n    if (b.matches('.kmip-rg__read-more')) {\n      const detail = document.getElementById(b.getAttribute('aria-controls')), open = b.getAttribute('aria-expanded') === 'true';\n      detail.classList.toggle('kmip-rg__card-detail--open', !open);\n      b.setAttribute('aria-expanded', String(!open));\n      b.setAttribute('aria-label', (open ? 'Read more about ' : 'Show less about ') + b.closest('article').querySelector('h3').textContent);\n      b.innerHTML = (open ? 'Read more' : 'Show less') + ' <span class=\"kmip-rg__read-more-arrow\" aria-hidden=\"true\"><\/span>';\n    }\n  });\n  root.addEventListener('input', e => {\n    if (!e.target.matches('.kmip-rg__search')) return;\n    query = norm(e.target.value.trim()); all('.kmip-rg__search').filter(s => s !== e.target).forEach(s => { s.value = e.target.value; }); render();\n  });\n  one('.kmip-rg__drawer-backdrop').addEventListener('click', () => closeDrawer());\n  document.addEventListener('click', e => { if (!e.target.closest('.kmip-rg__dropdown')) closeDropdowns(); });\n  document.addEventListener('focusin', e => { if (!e.target.closest('.kmip-rg__dropdown')) closeDropdowns(); });\n  document.addEventListener('keydown', e => {\n    if (e.key === 'Escape') { if (drawerOpen) closeDrawer(); else closeDropdowns(true); }\n    if (e.key === 'ArrowDown' && e.target.matches('.kmip-rg__dropdown-trigger')) {\n      const d = e.target.closest('.kmip-rg__dropdown'); if (!d.classList.contains('kmip-rg__dropdown--open')) e.target.click();\n      const firstControl = d.querySelector('.kmip-rg__dropdown-panel button:not(:disabled),.kmip-rg__dropdown-panel input'); if (firstControl) firstControl.focus(); e.preventDefault();\n    }\n    if (drawerOpen && e.key === 'Tab') {\n      const focusable = [...drawer.querySelectorAll('button:not(:disabled):not([hidden]),input')].filter(el => el.getClientRects().length);\n      const first = focusable[0], last = focusable[focusable.length - 1];\n      if (e.shiftKey && document.activeElement === first) { last.focus(); e.preventDefault(); }\n      else if (!e.shiftKey && document.activeElement === last) { first.focus(); e.preventDefault(); }\n    }\n  });\n  function reveal() {\n    let id; try { id = decodeURIComponent(location.hash.slice(1)); } catch { return null; }\n    const target = document.getElementById(id), card = target && target.closest('.kmip-rg__card');\n    if (card && root.contains(card) && card.hidden) reset();\n    return card && root.contains(card) ? target : null;\n  }\n  document.addEventListener('click', e => {\n    const a = e.target.closest('a[href]');\n    if (!a || e.ctrlKey || e.metaKey || e.shiftKey || e.altKey || a.origin !== location.origin || a.pathname !== location.pathname || !a.hash) return;\n    let target; try { target = document.getElementById(decodeURIComponent(a.hash.slice(1))); } catch { return; }\n    if (!target || !root.contains(target)) return;\n    e.preventDefault(); e.stopImmediatePropagation(); history.pushState(null, '', a.hash); reveal(); closeDropdowns(); closeDrawer(false); updatePosition();\n    const bar = media.matches ? desktop : mobile;\n    window.scrollTo({top: Math.max(0, scrollY + target.getBoundingClientRect().top - parseFloat(root.style.getPropertyValue('--kmip-sticky-offset')) - bar.getBoundingClientRect().height - 18), behavior: 'instant'});\n  }, true);\n  addEventListener('hashchange', reveal); addEventListener('popstate', reveal);\n  addEventListener('scroll', schedulePosition, {passive: true}); addEventListener('resize', schedulePosition, {passive: true});\n  media.addEventListener('change', () => { closeDrawer(false); closeDropdowns(); updatePosition(); });\n  if (typeof ResizeObserver !== 'undefined') {\n    const size = new ResizeObserver(schedulePosition);\n    [document.querySelector('header.wp-block-template-part'), desktop, mobile].filter(Boolean).forEach(el => size.observe(el));\n  }\n  function updateAnnouncements() { all('.kmip-rg__result-count').forEach(el => el.setAttribute('aria-live', el.closest('.kmip-rg__desktop-filters') ? (media.matches ? 'polite' : 'off') : (media.matches ? 'off' : 'polite'))); }\n  media.addEventListener('change', updateAnnouncements); updateAnnouncements();\n  root.classList.add('kmip-rg--ready'); render(); reveal();\n})();\n\n<\/script>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Dining inside the Eiffel Tower? Compare Le Jules Verne on the second floor and Madame Brasserie on the first floor. For a table only, book directly with the restaurant. If dinner follows a proposal, we can arrange it as part of full-service proposal planning. AllClose-up Tower viewsSkyline viewsDining cruiseInside the Tower Indoor viewFilterClear all21 of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":32333,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"_acf_changed":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":""},"class_list":["post-31125","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/pages\/31125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/comments?post=31125"}],"version-history":[{"count":202,"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/pages\/31125\/revisions"}],"predecessor-version":[{"id":45359,"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/pages\/31125\/revisions\/45359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/media\/32333"}],"wp:attachment":[{"href":"https:\/\/kissinparis.com\/de\/wp-json\/wp\/v2\/media?parent=31125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}