/* Fourteen independent art directions. No external fonts, frameworks or trackers. */
.design-hero { min-height:0; max-width:var(--width); margin:auto; padding:64px 0; }
.design-hero h1 { margin:18px 0 28px; }
.design-hero .hero-description { font-size:18px; line-height:1.7; white-space:pre-line; max-width:560px; }
.design-hero .hero-visual { height:auto; border-radius:0; transform:none; }
.design-hero .hero-visual img,.hero-extra-photo img { width:100%;height:100%;object-fit:cover; }
.hero-place { display:block; font-size:11px; letter-spacing:.15em; text-transform:uppercase; margin-top:22px; }
.hero-extra-photo { overflow:hidden; }
.design-hero.no-photo { padding-bottom:80px; }
.design-hero .eyebrow { border:0;padding:0;border-radius:0; }
.design-hero>*,.page-composition>*,.page-composition .section { min-width:0; }
.page-composition { max-width:var(--width); margin:auto; }
.page-composition .section { max-width:none; width:auto; padding:80px 0; margin:0; }
.page-composition .section.alt { background:transparent;border-radius:0; }
.page-composition .section h2 { max-width:900px; }
.page-composition .intro-grid { display:block; }
.page-composition .quick-card { margin-top:30px; }
.page-composition .content-card,.page-composition .product-card { min-width:0; }
.page-composition .product-card .primary { margin-top:18px; }
.design-page-heading { padding:55px 0 40px;min-height:0;max-width:var(--width);border-bottom:1px solid var(--line); }
.design-page-heading .page-back { display:block; font-size:12px; margin-bottom:35px; }
.design-page-heading h1 { font-size:clamp(45px,7vw,110px);margin-bottom:20px; }
.design-page-heading .eyebrow { padding:0;border:0; }
.design-nav { padding:22px max(28px,calc((100vw - var(--width))/2));min-height:85px;gap:22px; }
.design-nav .site-brand { position:static; }
.design-nav nav a[aria-current=page] { color:var(--accent);text-decoration:underline;text-underline-offset:6px; }
.nav-place,.nav-category,.nav-edition,.nav-location,.nav-stamp { font-size:10px;text-transform:uppercase;letter-spacing:.15em; }
.nav-signature { display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%; }
.nav-signature .site-brand { max-width:60%; }
.nav-local-mark,.nav-food-mark { font-size:38px;line-height:1;color:var(--accent); }
.nav-index { font:13px monospace; }
.nav-night-line { width:40px;height:1px;background:var(--accent); }
.nav-pill { background:var(--surface);border-radius:999px;padding:12px 22px; }
.nav-pill .site-brand { max-width:none; }
.nav-stamp { margin-right:auto; }
.design-footer { max-width:none;display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;padding:70px max(28px,calc((100vw - var(--width))/2));margin-top:60px;border-top:1px solid var(--line);background:var(--bg);color:var(--ink); }
.footer-signature strong { display:block;font-family:var(--heading);font-size:36px;line-height:1.1;overflow-wrap:anywhere; }
.footer-signature>span { display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-top:14px; }
.footer-signature p { max-width:500px;font-size:13px; }
.footer-navigation { display:flex;flex-wrap:wrap;gap:12px 22px;align-content:start;font-size:12px; }
.back-top { font-size:26px;justify-self:end; }
/* Studio: oversized typographic masthead, landscape canvas, graphic collection bands. */
.template-modern { --bg:#f5f6f2;--surface:#e4e8e1;--ink:#1c3028;--width:1240px;--radius:0; }
.design-modern .studio-title { display:flex;align-items:start;gap:35px;justify-content:space-between; }
.design-modern .studio-title .eyebrow { padding-top:24px;max-width:190px; }
.design-modern h1 { font-size:clamp(65px,9.3vw,145px);font-weight:500;max-width:1000px;margin-top:0; }
.studio-stage { display:grid;grid-template-columns:1.75fr 1fr;gap:0;align-items:stretch; }
.design-modern .hero-visual { height:480px; }
.studio-aside { padding:40px;background:var(--surface);display:flex;flex-direction:column;justify-content:center; }
.studio-information { display:grid;grid-template-columns:1.2fr 1fr;gap:90px;border-bottom:1px solid var(--line); }
.studio-information .service-grid { grid-template-columns:1fr;gap:0; }
.studio-information .service-grid article { background:none;border:0;border-top:1px solid var(--line);padding:22px 0; }
.studio-information .service-number { float:left;margin-right:20px; }
.studio-collection .product-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line); }
.template-modern .product-card { background:var(--bg);border:0;border-radius:0; }
.template-modern .product-card>img { aspect-ratio:1; }
.template-modern .hours-grid { grid-template-columns:repeat(7,minmax(0,1fr));gap:0; }
.template-modern .hours-row { display:block;padding:18px 10px;border-top:1px solid var(--line); }
.template-modern .hours-row span { display:block;font-size:12px; }
.footer-modern .footer-signature strong { font-size:65px;letter-spacing:-.06em; }
/* Boutique: fashion-house signature, photographic diptych, vertically staggered lookbook. */
.template-boutique { --width:1140px;--radius:0;--space:120px; }
.font-modern.template-boutique { --heading:'Times New Roman',Georgia,serif; }
.nav-boutique { flex-direction:column;border:0;padding-top:30px;padding-bottom:20px; }
.nav-boutique .site-nav-right { margin:0; }
.nav-boutique .site-brand strong { font:30px var(--heading);letter-spacing:.06em; }
.design-boutique { padding-top:40px; }
.boutique-heading { text-align:center;margin-bottom:52px; }
.boutique-heading .hero-place { margin:0; }
.design-boutique h1 { font-size:clamp(64px,8vw,125px);font-weight:400;letter-spacing:-.05em;margin:18px 0; }
.boutique-triptych { display:grid;grid-template-columns:1fr .7fr .6fr;gap:38px;align-items:center; }
.design-boutique .hero-visual { height:560px; }
.boutique-note { text-align:center; }
.boutique-note .hero-description { font-size:15px; }
.boutique-note .hero-actions { justify-content:center; }
.design-boutique .hero-extra-photo { height:350px;align-self:end;margin-bottom:60px; }
.boutique-triptych:not(:has(.hero-extra-photo)) { grid-template-columns:1.2fr .8fr; }
.template-boutique .primary,.template-boutique .secondary { border-radius:0;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:8px 0;min-height:0; }
.boutique-lookbook .section-gallery { padding-top:35px; }
.boutique-lookbook .gallery { gap:85px;grid-template-columns:1fr 1fr; }
.boutique-lookbook .gallery figure:nth-child(even) { margin-top:140px; }
.boutique-lookbook figcaption { font-family:var(--heading);font-size:19px; }
.boutique-story { max-width:700px;margin:50px auto;text-align:center; }
.template-boutique .product-grid { gap:55px;grid-template-columns:repeat(2,minmax(0,1fr)); }
.template-boutique .product-card { border:0;border-radius:0;background:none; }
.template-boutique .product-card>img { aspect-ratio:3/4; }
.template-boutique .product-card>div { padding:22px 0; }
.footer-boutique { text-align:center;display:block;border-top:3px double var(--line); }
.footer-boutique .footer-navigation { justify-content:center;margin:30px 0; }
/* Aan tafel: framed invitation over full-bleed photo, paper menu, visit spread. */
.template-food { --width:1180px;--radius:0; }
.font-modern.template-food { --heading:Georgia,serif; }
.nav-food { border-bottom:0; }
.design-food { max-width:none;min-height:760px;padding:65px 24px;display:grid;place-items:center;background:var(--surface); }
.design-food>.hero-visual { position:absolute;inset:0;height:100%;z-index:-1; }
.table-invitation { text-align:center;background:var(--bg);color:var(--ink);width:min(580px,100%);padding:50px 60px;outline:1px solid var(--accent);outline-offset:-15px; }
.table-emblem { color:var(--accent);font-size:42px;display:block;margin-bottom:14px; }
.design-food h1 { font-size:clamp(50px,5vw,80px);font-style:italic;font-weight:400; }
.table-invitation .hero-description { font-size:16px; }
.table-invitation .hero-actions { justify-content:center; }
.template-food .primary,.template-food .secondary { border-radius:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em; }
.restaurant-menu { max-width:900px;margin:30px auto;padding:30px 70px;background:var(--surface);outline:1px solid var(--line);outline-offset:-14px; }
.restaurant-menu .product-grid,.restaurant-menu .cards { display:block; }
.restaurant-menu .product-card,.restaurant-menu .content-card { display:grid;grid-template-columns:130px 1fr;border:0;border-bottom:1px dashed var(--line);border-radius:0;background:none;padding:25px 0;gap:25px; }
.restaurant-menu .product-card>img,.restaurant-menu .content-card>img { aspect-ratio:1;height:130px;border-radius:50%; }
.restaurant-menu .product-card:not(:has(img)),.restaurant-menu .content-card:not(:has(img)) { display:block; }
.restaurant-menu .product-card>div,.restaurant-menu .content-card>div { padding:0; }
.restaurant-menu .price { font-family:var(--heading);font-size:24px; }
.restaurant-atmosphere .gallery { grid-template-columns:2fr 1fr 1fr;gap:15px; }
.restaurant-atmosphere .gallery img { aspect-ratio:3/4; }
.restaurant-visit { display:grid;grid-template-columns:1fr 1fr;gap:80px; }
.template-food .hours-section { display:block; }
.template-food .hours-grid { display:block; }
.footer-food { border-top:3px double var(--accent);background:var(--surface); }
/* Expert: asymmetrical service cover, numbered service index, practical side rail. */
.template-neighbourhood { --width:1220px;--bg:#f5f7f9;--ink:#142d43;--surface:#e4edf3;--radius:4px; }
.nav-neighbourhood { border-bottom:3px solid var(--accent); }
.design-neighbourhood { display:grid;grid-template-columns:1.4fr .8fr;gap:50px;padding-top:90px; }
.expert-head h1 { font-size:clamp(56px,6vw,95px);font-weight:750;letter-spacing:-.05em; }
.expert-head .hero-description { font-size:20px; }
.expert-side .hero-visual { height:470px;clip-path:polygon(0 0,100% 0,100% 85%,82% 100%,0 100%); }
.expert-services { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line); }
.expert-services a { display:flex;gap:18px;padding:24px 20px;border-right:1px solid var(--line);align-items:center;font-size:14px; }
.expert-services a>b { flex:1; }.expert-services a>span:first-child { font:12px monospace;color:var(--accent); }
.composition-neighbourhood { display:grid;grid-template-columns:1.7fr 1fr;gap:60px;align-items:start; }
.composition-neighbourhood>section { grid-column:1/-1; }
.expert-practical { padding:0 30px;background:var(--surface); }
.expert-practical .section { padding:35px 0;border-bottom:1px solid var(--line); }
.template-neighbourhood .service-grid { display:block; }
.template-neighbourhood .service-grid article { display:grid;grid-template-columns:55px 1fr;gap:0 25px;border:0;border-top:1px solid var(--line);padding:28px 0;background:none; }
.template-neighbourhood .service-grid article h3 { margin:0 0 12px; }.template-neighbourhood .service-grid article p { grid-column:2;margin:0; }
.template-neighbourhood .service-number { font:16px monospace;grid-row:span 2; }
.template-neighbourhood .quick-card { background:transparent;border:0;padding:20px 0; }
.footer-neighbourhood { border-top:0;background:var(--accent);color:var(--accent-ink); }
/* Galerie: full screen photographic opening, gallery wall, captions as project labels. */
.template-showcase { --width:1400px;--bg:#f0efeb;--surface:#e5e3dd;--ink:#181b18;--radius:0; }
.nav-showcase { min-height:75px;border:0; }.nav-showcase .nav-location { margin-left:20px; }
.design-showcase { max-width:none;height:calc(100svh - 85px);min-height:650px;padding:45px max(30px,calc((100vw - 1400px)/2));display:flex;align-items:end;background:var(--surface); }
.design-showcase>.hero-visual { position:absolute;inset:0;height:100%;z-index:-2; }
.design-showcase:not(.no-photo):after { content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#000b);z-index:-1; }
.design-showcase:not(.no-photo) { color:#fff; }
.gallery-edge { position:absolute;top:35px;left:max(30px,calc((100vw - 1400px)/2));right:30px;display:flex;align-items:center;justify-content:space-between; }
.gallery-edge .hero-place { margin:0; }.gallery-caption { max-width:900px; }
.gallery-caption h1 { font:400 clamp(64px,8.5vw,140px)/.98 var(--heading);letter-spacing:-.065em; }
.gallery-caption .hero-description { max-width:600px; }.gallery-caption .secondary { border-color:currentColor; }
.portfolio-wall .section-gallery { padding:35px 0; }.portfolio-wall .section-kicker,.portfolio-wall .section-gallery>h2 { display:none; }
.portfolio-wall .gallery { display:grid;grid-template-columns:1.7fr 1fr;gap:75px 40px; }
.portfolio-wall .gallery figure:nth-child(3n) { grid-column:1/-1; }.portfolio-wall .gallery img { aspect-ratio:4/3; }
.portfolio-wall .gallery figure:nth-child(3n) img { aspect-ratio:2/1; }
.portfolio-wall figcaption { display:block;font-size:13px;border-top:1px solid var(--line);padding-top:12px; }
.portfolio-notes { max-width:800px;margin:auto; }
.footer-showcase { border:0;background:var(--ink);color:var(--bg);padding-top:100px;padding-bottom:100px; }
.footer-showcase .footer-signature strong { font-size:clamp(40px,5vw,80px); }
/* Journal: newspaper masthead, lead story spread, editorial columns and rules. */
.template-magazine { --width:1260px;--radius:0;--bg:#f4f0e7;--surface:#e9e2d5;--ink:#252621; }
.font-modern.template-magazine { --heading:Georgia,serif; }
.nav-magazine { display:grid;grid-template-columns:1fr 1fr; }.nav-magazine .nav-edition { grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px; }
.nav-magazine .site-nav-right { justify-self:end; }.nav-magazine .site-brand strong { font-family:var(--heading); }
.design-magazine { padding-top:30px; }
.journal-masthead { border-top:4px solid var(--ink);border-bottom:1px solid var(--ink);text-align:center;padding:24px 0;margin-bottom:30px; }
.journal-masthead h1 { font:400 clamp(64px,9.5vw,148px)/1 var(--heading);margin:8px 0;letter-spacing:-.065em; }
.journal-masthead .hero-place { margin:8px 0 0; }.journal-cover { display:grid;grid-template-columns:1.8fr 1fr;gap:40px; }
.journal-cover .hero-visual { height:450px; }.journal-letter { border-left:1px solid var(--line);padding:25px 0 20px 40px; }
.journal-letter .hero-description { font:24px/1.6 var(--heading); }
.journal-columns { display:grid;grid-template-columns:1.7fr 1fr;gap:55px; }.journal-columns .section { border-top:1px solid var(--ink);padding-top:30px; }
.journal-columns .two-content { display:block; }.journal-columns .story { border:0;border-bottom:1px solid var(--line);padding:24px 0; }
.journal-columns .story>img { width:100%;aspect-ratio:16/9;object-fit:cover; }.journal-columns .section-news h3 { font-size:35px;font-weight:400; }
.journal-columns .section-over .lead { font:19px/1.8 var(--heading); }
.template-magazine .product-grid { gap:35px; }.template-magazine .product-card { border:0;border-right:1px solid var(--line);border-radius:0;background:none; }
.footer-magazine { border-top:4px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:30px;background:none; }
/* Impact: huge sans-serif headline, hard edges, deliberately bold color blocking. */
.template-bold { --width:1320px;--bg:#eee9de;--surface:#e0d7c6;--ink:#191919;--radius:0; }
.nav-bold { border-bottom:2px solid var(--ink); }.nav-bold .site-brand strong { text-transform:uppercase;font-weight:900;font-size:25px; }
.design-bold { padding:40px 0 0; }.impact-title h1 { font:900 clamp(75px,13vw,200px)/.86 Arial,sans-serif;letter-spacing:-.07em;text-transform:uppercase;max-width:1200px; }
.impact-stage { display:grid;grid-template-columns:1.35fr 1fr; }.impact-stage .hero-visual { height:450px; }
.impact-panel { background:var(--accent);color:var(--accent-ink);padding:45px;display:flex;flex-direction:column;justify-content:center; }
.impact-panel .primary { background:var(--ink);color:var(--bg); }.impact-panel .secondary { border-color:currentColor; }
.template-bold .primary,.template-bold .secondary { border-radius:0;font-weight:750; }
.impact-offering .product-grid { grid-template-columns:1fr 1fr;gap:0; }.impact-offering .product-card { border:2px solid var(--ink);border-radius:0; }.impact-offering .product-card>img { aspect-ratio:1.4; }
.impact-offering .service-grid { gap:0; }.impact-offering .service-grid article { background:var(--surface);border:2px solid var(--ink);border-radius:0; }
.template-bold .section>h2 { font-size:clamp(45px,7vw,100px);line-height:.95;letter-spacing:-.05em; }
.impact-manifesto .section-over { background:var(--ink);color:var(--bg);padding:55px; }.impact-manifesto .section-over .section-kicker { color:inherit; }
.footer-bold { background:var(--accent);color:var(--accent-ink);border:0; }.footer-bold .footer-signature strong { text-transform:uppercase;font-weight:900;font-size:clamp(45px,7vw,95px); }
/* Essentie: compact typographic introduction, tiny photographic insert, numbered document. */
.template-minimal { --width:1050px;--bg:#fff;--ink:#252525;--radius:0; }
.nav-minimal { border:0;min-height:110px; }.nav-minimal .site-brand { margin-right:auto; }.nav-minimal .site-brand strong { font-size:15px;letter-spacing:.04em; }
.design-minimal { display:grid;grid-template-columns:1.8fr .65fr;align-items:start;gap:80px;padding-top:120px;padding-bottom:130px; }
.essence-note h1 { font:400 clamp(45px,5.5vw,82px)/1.15 var(--heading);letter-spacing:-.045em; }.essence-note .hero-description { font-size:15px;max-width:480px; }
.design-minimal .hero-visual { height:230px;margin-top:90px; }.design-minimal>.hero-place { grid-column:2;text-align:right;margin-top:-65px; }
.template-minimal .primary,.template-minimal .secondary { border:0;border-bottom:1px solid var(--ink);padding:8px 0;border-radius:0;background:none;color:var(--ink);font-size:12px;min-height:0; }
.essence-index { counter-reset:chapter; }.essence-index .section { position:relative;counter-increment:chapter;border-top:1px solid var(--line);padding-left:200px; }
.essence-index .section:before { content:counter(chapter,decimal-leading-zero);position:absolute;left:0;top:80px;font:13px monospace; }
.template-minimal .product-grid,.template-minimal .service-grid { display:block; }.template-minimal .product-card { display:grid;grid-template-columns:100px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:24px 0;background:none; }
.template-minimal .product-card>img { width:100px;height:100px;aspect-ratio:1; }.template-minimal .product-card>div { padding:0; }.template-minimal .service-grid article { border:0;border-bottom:1px solid var(--line);padding:25px 0;background:none; }
.template-minimal .service-number { font:12px monospace; }.template-minimal .gallery { gap:35px;grid-template-columns:repeat(3,minmax(0,1fr)); }
.footer-minimal { font-size:11px;padding-top:35px;padding-bottom:35px; }.footer-minimal .footer-signature strong { font:15px Arial,sans-serif; }
/* Lokaal: warm personal letter and overlapping photographic postcards. */
.template-local { --width:1120px;--bg:#f6f0e4;--surface:#e9dec9;--ink:#34342a;--radius:0; }
.nav-local { border:0; }.nav-local .site-brand strong { font-family:var(--heading);font-size:25px; }
.design-local { display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:100px 0;align-items:center; }
.local-letter .hero-place { margin:0 0 30px;color:var(--accent); }.local-letter h1 { font:400 clamp(55px,6.5vw,96px)/1.05 Georgia,serif; }
.local-letter .hero-description { font:19px/1.8 Georgia,serif; }
.local-postcards { position:relative;padding:30px 30px 60px; }.local-postcards .hero-visual { height:450px;background:var(--bg);border:12px solid white;box-shadow:0 15px 35px #342b1914;transform:rotate(4deg); }
.local-postcards .hero-extra-photo { position:absolute;bottom:0;left:-30px;width:48%;height:220px;border:9px solid white;transform:rotate(-9deg);box-shadow:0 12px 30px #342b191a; }
.postcard-name { position:absolute;bottom:26px;right:40px;font:italic 17px Georgia,serif;max-width:50%; }
.local-album .section-over { max-width:720px;margin:auto;text-align:center; }.local-album .gallery { grid-template-columns:repeat(3,minmax(0,1fr));gap:30px; }.local-album figure { padding:10px 10px 25px;background:white;transform:rotate(-2deg);box-shadow:0 8px 25px #342b1910; }.local-album figure:nth-child(even) { transform:rotate(3deg); }
.local-album figcaption { color:#34342a;font:italic 15px Georgia,serif; }.local-visit { display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px dashed var(--accent); }
.template-local .primary { border-radius:999px; }.template-local .service-grid article { border:0;background:var(--surface);border-radius:45px 5px 45px 5px; }
.footer-local { background:var(--surface);border:0; }.footer-local .footer-signature strong { font:italic 40px Georgia,serif; }
/* Etalage: commerce-focused cover, featured product tile, promotional rails. */
.template-deals { --width:1240px;--bg:#fff;--surface:#f4e8ed;--ink:#32232d;--radius:0; }
.nav-deals { box-shadow:0 3px 0 var(--accent); }.nav-deals .site-brand strong { font-weight:850;font-size:27px; }
.design-deals { display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:stretch;padding:45px 0; }.shop-welcome { padding:50px 30px 50px 0; }.shop-welcome h1 { font-size:clamp(55px,6vw,94px);font-weight:750; }
.shop-feature { display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:25px;background:var(--surface);padding:30px; }.shop-feature>img { width:100%;height:320px;object-fit:cover; }.shop-feature h2 { font-size:34px;margin:15px 0; }.shop-feature .price { display:block;font-size:30px;margin-bottom:20px; }.shop-feature>div>span:last-child { font-size:35px; }
.design-deals>.hero-visual { height:470px; }.shop-floor .section-promos { padding:35px 0; }.shop-floor .cards { display:flex;flex-wrap:wrap;gap:20px; }.shop-floor .content-card { flex:1 1 300px;border:0;background:var(--accent);color:var(--accent-ink);border-radius:0; }.shop-floor .date { background:var(--bg);color:var(--ink); }
.shop-floor .product-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }.shop-floor .product-card { border:0;border-radius:0; }.shop-floor .product-card>img { aspect-ratio:1; }.shop-floor .product-card>div { padding:20px 0; }.template-deals .primary { border-radius:0; }
.footer-deals { background:var(--surface);border-top:0; }
/* Nocturne: cinematic framed photograph, separate oversized title, gallery exhibition. */
.template-editorial-dark { --width:1180px;--bg:#111715;--surface:#1c2420;--ink:#e9e5d8;--line:#3c443d;--radius:0; }
.font-modern.template-editorial-dark { --heading:Georgia,serif; }
.nav-editorial-dark { border:0; }.nav-editorial-dark .site-brand strong { font:18px var(--heading);letter-spacing:.12em; }
.design-editorial-dark { padding-top:35px; }.night-frame { position:relative;padding:22px;border:1px solid var(--accent); }.night-frame .hero-visual { height:500px; }.night-frame>.eyebrow { position:absolute;left:40px;top:40px;background:var(--bg);padding:8px 13px; }.night-frame .hero-place { position:absolute;bottom:38px;right:40px;background:var(--bg);padding:6px 12px; }
.night-title { text-align:center;max-width:970px;margin:45px auto 0; }.night-title h1 { font:400 clamp(62px,8vw,125px)/1.06 var(--heading);letter-spacing:-.045em; }.night-title .hero-description { margin:auto;font-size:16px; }.night-title .hero-actions { justify-content:center; }
.template-editorial-dark .primary { background:none;color:var(--accent);border:1px solid var(--accent);border-radius:0; }.template-editorial-dark .secondary { border-radius:0; }
.night-exhibition .section-gallery { padding:60px 0; }.night-exhibition .gallery { display:block; }.night-exhibition .gallery figure { position:relative;margin:0 0 90px;width:80%; }.night-exhibition .gallery figure:nth-child(even) { margin-left:auto;width:65%; }.night-exhibition .gallery img { height:auto;aspect-ratio:16/10; }.night-exhibition figcaption { padding-top:20px;font:italic 22px var(--heading); }
.night-exhibition .section-over { max-width:760px;margin:auto;text-align:center; }.template-editorial-dark .service-grid article { background:none;border:1px solid var(--line);border-radius:0; }
.footer-editorial-dark { border-top:1px solid var(--accent);background:none; }.footer-editorial-dark .footer-signature strong { font-weight:400;font-style:italic; }
/* Klassiek: heritage signature, ornamental title, photographic spread and chapters. */
.template-classic { --width:1080px;--bg:#f3f3ea;--surface:#e4e7db;--ink:#28382d;--radius:0; }
.font-modern.template-classic { --heading:Georgia,serif; }
.nav-classic { border-top:6px solid var(--accent);border-bottom:3px double var(--line);flex-direction:column;gap:22px; }.nav-classic .site-brand strong { font:28px var(--heading); }.nav-classic .site-nav-right { justify-content:center; }
.design-classic { padding-top:50px; }.heritage-heading { text-align:center;max-width:860px;margin:auto; }.heritage-ornament { display:block;font:50px Georgia,serif;color:var(--accent); }.heritage-heading h1 { font:400 clamp(50px,6.5vw,95px)/1.15 var(--heading);letter-spacing:-.03em; }
.heritage-scene { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:40px; }.heritage-scene .hero-visual { height:380px;border-radius:50% 50% 0 0;outline:1px solid var(--line);outline-offset:10px; }.heritage-letter { font-family:var(--heading); }.heritage-letter .hero-description { font-size:18px; }
.template-classic .primary,.template-classic .secondary { border-radius:0; }.heritage-chapters .section { border-top:3px double var(--line);padding:70px 35px; }.heritage-chapters .section-over { text-align:center;max-width:800px;margin:auto; }.heritage-chapters .service-grid { gap:40px; }.heritage-chapters .service-grid article { border:0;background:none;text-align:center;padding:20px; }.heritage-chapters .service-number { border:1px solid var(--accent);border-radius:50%;display:inline-grid;place-items:center;width:48px;height:48px; }
.heritage-address { display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:3px double var(--line); }.footer-classic { text-align:center;display:block;border-top:3px double var(--accent);background:var(--surface); }.footer-classic .footer-navigation { justify-content:center;margin:30px 0; }
/* Kort & krachtig: directory card and genuine information dashboard. */
.template-compact { --width:1120px;--bg:#edf1f3;--surface:#fff;--ink:#23343c;--radius:8px; }
.nav-compact { background:var(--surface);min-height:65px;padding-top:14px;padding-bottom:14px; }.nav-compact .site-brand strong { font-size:17px; }
.design-compact { display:grid;grid-template-columns:1.8fr .75fr;gap:30px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:35px auto;padding:40px; }.directory-card h1 { font-size:clamp(38px,4vw,65px);font-weight:700; }.directory-card .hero-description { font-size:15px; }.directory-card .hero-actions { margin:20px 0; }.directory-photo .hero-visual { height:260px;border-radius:8px; }.directory-photo>.hero-place { font-size:10px;text-align:right; }
.directory-overview { display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start; }.directory-overview .section { background:var(--surface);padding:30px;border:1px solid var(--line);border-radius:12px; }.directory-overview .section h2 { font-size:27px;margin:12px 0 22px; }.directory-overview .lead { font-size:15px; }.directory-overview .quick-card { display:none; }.directory-overview .map-wrap { height:220px; }
.template-compact .page-composition>.section { padding:45px 0; }.template-compact .gallery { gap:12px; }.template-compact .service-grid { gap:15px; }.footer-compact { padding-top:30px;padding-bottom:30px;background:var(--surface);margin-top:35px; }.footer-compact .footer-signature strong { font-size:23px; }
/* Connect: independent community bento, feed-style content and colorful pins. */
.template-social { --width:1220px;--bg:#f5f1fa;--surface:#e5d9f2;--ink:#382747;--radius:25px; }
.nav-social { border:0;background:none;min-height:95px; }.nav-social .site-nav-right { border:1px solid var(--line);padding:12px 18px;border-radius:999px;background:var(--bg); }
.design-social { display:grid;grid-template-columns:1.15fr 1fr;gap:20px;padding-top:30px; }.connect-card { background:var(--surface);border-radius:30px;padding:45px;grid-row:span 2; }.connect-card h1 { font-size:clamp(55px,6vw,85px);font-weight:750;letter-spacing:-.065em; }.connect-photo { height:330px; }.connect-photo .hero-visual { height:100%;border-radius:30px; }.connect-status { display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--accent);color:var(--accent-ink);border-radius:25px;padding:25px; }.connect-status .hero-place { margin:0; }.connect-update { display:block;background:var(--bg);padding:25px;border:1px solid var(--line);border-radius:25px; }.connect-update h2 { font-size:27px;margin-bottom:15px; }.connect-extra { height:230px; }.connect-extra .hero-extra-photo { height:100%;border-radius:25px; }
.community-board { display:grid;grid-template-columns:1.3fr 1fr;gap:25px;align-items:start; }.community-board>.section { background:var(--surface);border-radius:28px;padding:30px;margin-bottom:25px; }.community-board>.section-gallery { grid-column:1/-1; }.community-board .two-content { display:block; }.community-board .story { background:var(--bg);border-radius:20px;padding:25px; }.community-board .story>img { width:100%;aspect-ratio:16/10;border-radius:14px;object-fit:cover; }.community-board .cards { display:block; }.community-board .content-card { margin-bottom:20px; }.community-board .gallery { grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }.community-board .gallery img { border-radius:18px;aspect-ratio:1; }
.footer-social { background:var(--surface);border-radius:45px 45px 0 0;border:0; }.footer-social .footer-navigation a { padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--bg); }
/* Explicit merchant choices remain meaningful without replacing the art direction. */
.header-floating .design-nav { max-width:var(--width);margin:18px auto;width:calc(100% - 48px);padding-left:25px;padding-right:25px; }
.header-centered .design-nav { flex-direction:column; }.header-static .design-nav { position:relative; }.header-sticky .design-nav { position:sticky; }
.hero-size-compact .design-hero { padding-top:35px;padding-bottom:35px; }.hero-size-large .design-hero { padding-top:100px;padding-bottom:100px; }
.hero-size-compact .design-food,.hero-size-compact .design-showcase { min-height:550px; }.hero-size-large .design-food,.hero-size-large .design-showcase { min-height:850px; }
.density-compact .page-composition .section { padding-top:45px;padding-bottom:45px; }.density-spacious .page-composition .section { padding-top:110px;padding-bottom:110px; }
.cards-list .page-composition .product-grid,.cards-list .page-composition .cards { display:grid;grid-template-columns:1fr;gap:20px; }.cards-list .page-composition .product-card,.cards-list .page-composition .content-card { display:grid;grid-template-columns:.7fr 1fr; }
.cards-editorial .page-composition .product-card:first-child,.cards-editorial .page-composition .content-card:first-child { grid-column:1/-1; }
.gallery-mosaic .page-composition .gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }.gallery-mosaic .page-composition .gallery figure:first-child { grid-column:span 2; }
/**** Motion: reveal sequences, image depth, active navigation and view transitions. ****/
@view-transition { navigation:auto; }
@keyframes design-enter { from { opacity:0;translate:0 26px; } to { opacity:1;translate:0 0; } }
@keyframes photo-enter { from { clip-path:inset(12% 0 0);opacity:.5; } to { clip-path:inset(0);opacity:1; } }
body[data-animation]:not([data-animation=none]) .design-hero h1 { animation:design-enter .9s cubic-bezier(.2,.7,.2,1) both; }
body[data-animation=expressive] .design-hero .hero-visual { animation:photo-enter 1.25s cubic-bezier(.2,.7,.2,1) both; }
body[data-animation=expressive] .design-hero .hero-description { animation:design-enter 1s .12s both; }
body[data-animation=expressive] .design-hero .hero-actions { animation:design-enter 1s .24s both; }
.motion-ready .motion-item { opacity:0;translate:0 35px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms); }
.motion-ready .motion-item.is-visible { opacity:1;translate:0 0; }
.motion-ready body[data-animation=expressive] .motion-item { transition-duration:1.1s; }
.photo-open img,.product-card>img,.content-card>img { transition:scale .7s cubic-bezier(.2,.7,.2,1); }
@media(hover:hover) { body:not([data-animation=none]) .photo-open:hover img,body:not([data-animation=none]) .product-card:hover>img { scale:1.035; } .footer-navigation a:hover { text-decoration:underline;text-underline-offset:4px; } }
.design-scroll-progress { position:fixed;left:0;top:0;height:2px;width:100%;background:var(--accent);z-index:80;transform-origin:left;transform:scaleX(0);pointer-events:none; }
/* Shared responsive rules collapse actual compositions, not their identity. */
@media(max-width:1450px) {
 .design-hero,.design-page-heading,.page-composition { max-width:calc(100% - 64px); }
 .design-food,.design-showcase { max-width:none; }.design-compact { max-width:calc(100% - 64px); }
 .boutique-triptych { gap:25px; }.studio-information { gap:50px; }
}
@media(max-width:1000px) {
 .design-nav .menu-toggle { display:block; }.design-nav nav { display:none;position:absolute;top:100%;left:0;right:0;max-height:70vh;overflow:auto;background:var(--bg);padding:25px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;font-size:16px;gap:12px; }.design-nav nav.is-open { display:flex; }
 .design-nav .site-nav-right { gap:15px; }.nav-signature { gap:15px; }.nav-category { display:none; }.nav-showcase .nav-location { display:none; }
 .studio-stage { grid-template-columns:1.4fr 1fr; }.studio-aside { padding:28px; }.boutique-triptych { grid-template-columns:1fr 1fr; }.design-boutique .hero-extra-photo { display:none; }.design-neighbourhood { gap:35px; }.expert-side .hero-visual { height:400px; }
 .composition-neighbourhood,.journal-columns { gap:35px; }.heritage-scene { gap:40px; }.design-local { gap:35px; }.local-postcards { padding:20px; }.local-postcards .hero-extra-photo { left:-10px; }.shop-feature { display:block; }.shop-feature>img { height:260px; }.shop-feature>div { padding-top:20px; }.design-minimal { gap:40px; }
 .restaurant-menu { padding:20px 40px; }.community-board { gap:20px; }.shop-floor .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
 html { scroll-padding-top:100px; }
 .design-nav { flex-direction:row;padding:15px 20px;gap:12px;min-height:75px; }.design-nav .site-brand { max-width:52%; }.design-nav .site-brand strong { font-size:18px; }.design-nav .site-brand img { height:40px; }.design-nav .site-nav-right { gap:7px; }.design-nav .top-lang-switch { gap:0; }.design-nav .top-lang-switch a { padding:3px;font-size:10px; }.design-nav .menu-toggle { padding:7px 9px;font-size:12px; }.nav-signature { width:auto;flex:1; }.nav-signature .site-brand { max-width:100%; }.nav-place,.nav-category,.nav-index,.nav-stamp,.nav-food-mark,.nav-night-line,.nav-magazine .nav-edition { display:none; }.nav-boutique,.nav-classic { flex-direction:column;gap:15px;padding-top:22px; }.nav-boutique .nav-signature,.nav-classic .nav-signature { width:100%;justify-content:center; }.nav-magazine { display:flex; }.nav-social .site-nav-right { padding:8px;border-radius:12px; }.nav-pill { padding:8px 12px; }.nav-pill .site-brand { max-width:100%; }.nav-local-mark { font-size:27px; }.header-centered .design-nav { flex-direction:row; }.header-floating .design-nav { padding:12px;width:calc(100% - 24px); }
 .design-hero,.design-page-heading,.page-composition,.design-compact { max-width:calc(100% - 36px); }
 .design-hero { padding:35px 0; }.design-food,.design-showcase { max-width:none; }
 .design-hero .hero-description { font-size:16px; }.design-hero .hero-actions { gap:9px; }.design-hero .primary,.design-hero .secondary { font-size:12px;padding:12px 16px; }
 .page-composition .section { padding:50px 0; }.page-composition .section h2 { font-size:34px; }.page-composition .quick-card { padding:20px; }.page-composition .cards,.page-composition .product-grid { grid-template-columns:1fr; }
 .design-page-heading { padding:35px 0 25px; }.design-page-heading h1 { font-size:52px; }.design-page-heading .page-back { margin-bottom:25px; }
 .design-footer { grid-template-columns:1fr auto;padding:40px 20px;gap:25px; }.design-footer .footer-navigation { grid-row:2;grid-column:1/-1; }.design-footer .footer-signature strong { font-size:36px; }.design-footer .back-top { grid-column:2;grid-row:1; }
 .studio-title { display:block!important; }.design-modern .studio-title .eyebrow { padding:0; }.design-modern h1 { font-size:clamp(57px,15vw,100px);margin-top:18px; }.studio-stage { display:flex;flex-direction:column; }.design-modern .hero-visual { height:330px; }.studio-aside { padding:28px; }.studio-information { display:block; }.studio-information .section { padding:40px 0; }.template-modern .hours-grid { display:block; }.template-modern .hours-row { display:flex; }.template-modern .hours-row span { font-size:13px; }
 .design-boutique h1 { font-size:clamp(56px,15vw,90px); }.boutique-heading { margin-bottom:30px; }.boutique-triptych,.boutique-triptych:not(:has(.hero-extra-photo)) { display:flex;flex-direction:column; }.design-boutique .hero-visual { height:450px;width:100%; }.boutique-note { padding:15px 20px; }.boutique-lookbook .gallery { gap:20px;grid-template-columns:1fr 1fr; }.boutique-lookbook .gallery figure:nth-child(even) { margin-top:70px; }.boutique-lookbook .gallery figcaption { font-size:14px; }.boutique-story { margin:0 auto; }.template-boutique .product-grid { grid-template-columns:1fr 1fr;gap:20px; }.template-boutique .product-card h3 { font-size:18px; }.template-boutique .product-card>div { padding:15px 0; }
 .design-food { min-height:700px;padding:35px 18px; }.table-invitation { padding:40px 28px; }.design-food h1 { font-size:56px; }.restaurant-menu { padding:15px 25px; }.restaurant-menu .product-card,.restaurant-menu .content-card { grid-template-columns:75px 1fr;gap:18px; }.restaurant-menu .product-card>img,.restaurant-menu .content-card>img { height:75px; }.restaurant-menu h3 { font-size:20px; }.restaurant-menu .product-card .primary { padding:9px;font-size:10px; }.restaurant-visit { display:block; }.restaurant-atmosphere .gallery { grid-template-columns:1fr 1fr; }
 .design-neighbourhood { display:block; }.expert-head h1 { font-size:58px; }.expert-side { margin-top:35px; }.expert-side .hero-visual { height:330px; }.expert-services { display:block;margin-top:25px; }.expert-services a { border-right:0;border-bottom:1px solid var(--line);padding:16px 0; }.composition-neighbourhood { display:block; }.expert-practical { padding:0 22px; }.template-neighbourhood .service-grid article { grid-template-columns:35px 1fr;gap:0 15px; }
 .design-showcase { height:auto;min-height:740px;padding:160px 22px 45px; }.gallery-caption h1 { font-size:70px; }.gallery-edge { left:22px;right:22px; }.portfolio-wall .gallery { gap:35px 15px;grid-template-columns:1fr 1fr; }.portfolio-wall .gallery img { aspect-ratio:3/4; }.portfolio-wall .gallery figure:nth-child(3n) img { aspect-ratio:4/3; }
 .journal-masthead h1 { font-size:62px; }.journal-cover { display:block; }.journal-cover .hero-visual { height:320px; }.journal-letter { border-left:0;border-top:1px solid var(--line);padding:25px 0; }.journal-letter .hero-description { font-size:21px; }.journal-columns { display:block; }.journal-columns .section-news h3 { font-size:28px; }
 .impact-title h1 { font-size:clamp(65px,19vw,110px); }.impact-stage { display:block; }.impact-stage .hero-visual { height:320px; }.impact-panel { padding:30px; }.impact-offering .product-grid { grid-template-columns:1fr; }.impact-offering .service-grid { grid-template-columns:1fr; }.impact-manifesto .section-over { padding:35px 25px; }.template-bold .section>h2 { font-size:52px; }
 .design-minimal { display:block;padding:60px 0 70px; }.essence-note h1 { font-size:47px; }.design-minimal .hero-visual { width:55%;height:200px;margin:35px 0 0 auto; }.design-minimal>.hero-place { margin:15px 0 0; }.essence-index .section { padding-left:50px; }.essence-index .section:before { top:52px; }.template-minimal .product-card { grid-template-columns:65px 1fr;gap:15px; }.template-minimal .product-card>img { width:65px;height:65px; }.template-minimal .gallery { grid-template-columns:1fr 1fr;gap:15px; }
 .design-local { display:block;padding-top:50px; }.local-letter h1 { font-size:64px; }.local-postcards { margin-top:35px;padding:20px 20px 65px; }.local-postcards .hero-visual { height:350px; }.local-postcards .hero-extra-photo { height:180px;left:0; }.postcard-name { right:25px;bottom:20px;font-size:14px; }.local-album .gallery { grid-template-columns:1fr 1fr;gap:18px; }.local-album figure { padding:6px 6px 18px; }.local-visit { display:block; }
 .design-deals { display:block; }.shop-welcome { padding:15px 0 30px; }.shop-welcome h1 { font-size:62px; }.shop-feature { display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px; }.shop-feature>img { height:210px; }.shop-feature h2 { font-size:26px; }.shop-feature>div { padding:0; }.shop-feature .price { font-size:25px; }.shop-floor .product-grid { grid-template-columns:1fr 1fr;gap:18px; }.shop-floor .product-card h3 { font-size:18px; }.shop-floor .product-card p { font-size:13px; }.shop-floor .product-card .primary { font-size:11px;padding:10px; }
 .night-frame { padding:12px; }.night-frame .hero-visual { height:350px; }.night-frame>.eyebrow { left:25px;top:25px;font-size:10px; }.night-frame .hero-place { right:25px;bottom:25px; }.night-title { margin-top:30px; }.night-title h1 { font-size:62px; }.night-exhibition .gallery figure { width:90%;margin-bottom:45px; }.night-exhibition .gallery figure:nth-child(even) { width:80%; }.night-exhibition figcaption { font-size:18px; }
 .heritage-heading h1 { font-size:56px; }.heritage-scene { display:block; }.heritage-scene .hero-visual { height:330px;margin:30px 12px; }.heritage-letter { padding:20px 5px; }.heritage-chapters .section { padding:45px 15px; }.heritage-chapters .service-grid { grid-template-columns:1fr;gap:20px; }.heritage-address { display:block; }
 .design-compact { display:block;padding:25px;margin-top:25px; }.directory-card h1 { font-size:40px; }.directory-photo { margin-top:25px; }.directory-photo .hero-visual { height:220px; }.directory-overview { display:block; }.directory-overview .section { margin-bottom:18px;padding:25px; }
 .design-social { grid-template-columns:1fr 1fr;gap:12px; }.connect-card { grid-column:1/-1;grid-row:auto;padding:30px;border-radius:25px; }.connect-card h1 { font-size:62px; }.connect-photo { grid-column:1/-1;height:290px; }.connect-status { grid-column:1/-1;padding:20px; }.connect-update { grid-column:1/-1;padding:22px; }.connect-extra { grid-column:1/-1;height:220px; }.community-board { display:block; }.community-board>.section { padding:25px; }.community-board .gallery { grid-template-columns:1fr 1fr; }.footer-social { border-radius:30px 30px 0 0; }
 .cards-list .page-composition .product-card,.cards-list .page-composition .content-card { display:block; }.gallery-mosaic .page-composition .gallery { grid-template-columns:1fr 1fr; }
 .hero-size-large .design-hero { padding-top:65px;padding-bottom:65px; }.hero-size-large .design-food,.hero-size-large .design-showcase { min-height:800px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important;transition:none!important; }
 .motion-ready .motion-item { opacity:1;translate:none; }.design-scroll-progress { display:none; }
 ::view-transition-old(root),::view-transition-new(root) { animation:none; }
}
body[data-animation=none] *,body[data-animation=none] *:before,body[data-animation=none] *:after { animation:none!important;transition:none!important; }

/* Inner pages inherit the template's composition rather than a universal page shell. */
.template-boutique .design-page-heading { text-align:center;border-bottom:0;padding:70px 0; }
.template-boutique .design-page-heading h1 { font-weight:400;font-size:clamp(60px,8vw,120px); }
.template-neighbourhood .design-page-heading { border-left:5px solid var(--accent);padding:35px; background:var(--surface);margin-top:35px; }
.template-showcase .design-page-heading { border:0;padding-top:85px; }.template-showcase .design-page-heading h1 { font-size:clamp(70px,11vw,165px);line-height:1; }
.template-magazine .design-page-heading { text-align:center;border-top:4px solid var(--ink);border-bottom:3px double var(--ink);margin-top:35px; }
.template-bold .design-page-heading { background:var(--accent);color:var(--accent-ink);padding:45px;margin-top:30px;border:0; }.template-bold .design-page-heading h1 { font:900 clamp(65px,11vw,155px)/.95 Arial,sans-serif;text-transform:uppercase; }
.template-minimal .design-page-heading { padding:90px 0 50px; }.template-minimal .design-page-heading h1 { font-size:clamp(44px,5vw,70px); }
.template-local .design-page-heading { text-align:center;border-bottom:1px dashed var(--accent); }.template-local .design-page-heading h1 { font-style:italic; }
.template-deals .design-page-heading { padding:35px;background:var(--surface);border:0;margin-top:30px; }.template-deals .design-page-heading h1 { font-weight:800; }
.template-editorial-dark .design-page-heading { border:1px solid var(--accent);padding:55px;text-align:center;margin-top:35px; }.template-editorial-dark .design-page-heading h1 { font-weight:400;font-style:italic; }
.template-classic .design-page-heading { text-align:center;border-bottom:3px double var(--line); }.template-classic .design-page-heading:before { content:'❧';font:40px Georgia,serif;color:var(--accent); }
.template-compact .design-page-heading { padding:30px;margin-top:25px;border:1px solid var(--line);background:var(--surface);border-radius:12px; }.template-compact .design-page-heading h1 { font-size:45px; }
.template-social .design-page-heading { background:var(--surface);border-radius:30px;padding:40px;margin-top:30px;border:0; }
.restaurant-menu-page .products-section,.restaurant-menu-page .section-promos { max-width:900px;margin:30px auto;padding:50px;background:var(--surface); }
.restaurant-menu-page .product-grid { display:block; }.restaurant-menu-page .product-card { display:grid;grid-template-columns:120px 1fr;gap:25px;border:0;border-bottom:1px dashed var(--line);border-radius:0;padding:25px 0;background:none; }.restaurant-menu-page .product-card>img { height:120px;aspect-ratio:1;border-radius:50%; }.restaurant-menu-page .product-card>div { padding:0; }
.page-composition>div:has(>.section:only-child) { grid-template-columns:1fr; }
.composition-neighbourhood>div:only-child { grid-column:1/-1; }
.no-photo .studio-stage,.no-photo .boutique-triptych,.no-photo .journal-cover,.no-photo .impact-stage,.no-photo .heritage-scene { display:block; }
.no-photo .boutique-note { max-width:650px;margin:auto; }.no-photo .studio-aside { max-width:800px; }.no-photo.design-neighbourhood,.no-photo.design-minimal,.no-photo.design-deals,.no-photo.design-compact { display:block; }
.no-photo .night-frame:empty,.no-photo .directory-photo:empty { display:none; }.no-photo .local-postcards:not(:has(img)) { display:none; }.no-photo .local-letter { max-width:800px; }.no-photo.design-local { display:block; }
.motion-item:focus-within { opacity:1!important;translate:0 0!important; }
@media(max-width:700px) { .template-bold .design-page-heading,.template-editorial-dark .design-page-heading,.template-social .design-page-heading { padding:30px 22px; }.template-bold .design-page-heading h1 { font-size:62px; }.template-neighbourhood .design-page-heading { padding:25px; }.restaurant-menu-page .products-section,.restaurant-menu-page .section-promos { padding:30px 20px; }.restaurant-menu-page .product-card { grid-template-columns:75px 1fr;gap:18px; }.restaurant-menu-page .product-card>img { height:75px; }.page-composition>div:has(>.section:only-child) { grid-template-columns:1fr; } }
/* Template-specific entrance direction and pacing. */
@keyframes frame-unfold { from{clip-path:inset(0 50%);opacity:0} to{clip-path:inset(0);opacity:1} }
@keyframes postcard-settle { from{rotate:-7deg;translate:0 40px;opacity:0} to{rotate:0deg;translate:0 0;opacity:1} }
@keyframes bento-arrive { from{scale:.96;translate:0 25px;opacity:0} to{scale:1;translate:0 0;opacity:1} }
@keyframes rule-grow { from{scale:.8 1;opacity:0} to{scale:1;opacity:1} }
body[data-animation=expressive] .design-boutique .hero-visual { animation:frame-unfold 1.35s .1s both; }
body[data-animation=expressive] .design-food .table-invitation { animation:bento-arrive 1.1s .1s both; }
body[data-animation=expressive] .design-neighbourhood .expert-services a { animation:design-enter .8s both; }
body[data-animation=expressive] .design-neighbourhood .expert-services a:nth-child(2) { animation-delay:.1s; }
body[data-animation=expressive] .design-neighbourhood .expert-services a:nth-child(3) { animation-delay:.2s; }
body[data-animation=expressive] .design-magazine .journal-masthead { animation:rule-grow 1s both; }
body[data-animation=expressive] .design-local .hero-visual,body[data-animation=expressive] .design-local .hero-extra-photo { animation:postcard-settle 1.25s both; }
body[data-animation=expressive] .design-local .hero-extra-photo { animation-delay:.18s; }
body[data-animation=expressive] .design-editorial-dark .night-frame { animation:frame-unfold 1.5s both; }
body[data-animation=expressive] .design-social .connect-card,body[data-animation=expressive] .design-social .connect-photo,body[data-animation=expressive] .design-social .connect-status,body[data-animation=expressive] .design-social .connect-update { animation:bento-arrive .85s both; }
body[data-animation=expressive] .design-social .connect-photo { animation-delay:.1s; }
body[data-animation=expressive] .design-social .connect-status { animation-delay:.2s; }
body[data-animation=expressive] .design-social .connect-update { animation-delay:.3s; }
@media(hover:hover) { body[data-animation=expressive] .community-board .content-card:hover { translate:0 -5px; }.product-card,.content-card { transition:translate .3s,box-shadow .3s; } }
html:has(body[data-animation=none])::view-transition-old(root),html:has(body[data-animation=none])::view-transition-new(root) { animation:none; }
@media(prefers-reduced-motion:reduce) { body[data-animation=expressive] *,body[data-animation=expressive] *:before { animation:none!important;rotate:none;translate:none;scale:1; } }
/* Navigation panels carry the template's identity too. */
.nav-boutique .nav-many nav,.nav-classic .nav-many nav { text-align:center;align-items:center;font-family:var(--heading);font-size:23px;padding:40px; }
.nav-magazine .nav-many nav { display:none;border-top:3px double var(--ink);border-bottom:3px double var(--ink);font-family:var(--heading); }
.nav-magazine .nav-many nav.is-open { display:flex; }
.nav-bold .nav-many nav { background:var(--accent);color:var(--accent-ink);font-weight:850;text-transform:uppercase;font-size:26px; }
.nav-minimal .nav-many nav { max-width:500px;margin-left:auto;font-size:13px;border:1px solid var(--line); }
.nav-social .nav-many nav { left:auto;right:20px;width:min(500px,calc(100% - 40px));padding:28px;border:1px solid var(--line);border-radius:25px; }
.nav-editorial-dark .nav-many nav { border-bottom:1px solid var(--accent);font-family:var(--heading);font-size:22px; }
.nav-compact .nav-many nav { font-size:14px;gap:4px;padding:20px; }
.expert-services:not(:has(a:nth-child(2))) { grid-template-columns:1fr; }
.expert-services:has(a:nth-child(2)):not(:has(a:nth-child(3))) { grid-template-columns:1fr 1fr; }
@media(max-width:700px) { .nav-boutique .nav-many nav,.nav-classic .nav-many nav { padding:25px;font-size:20px; }.expert-services:has(a:nth-child(2)):not(:has(a:nth-child(3))) { display:block; } }
/* Merchant overrides follow every default art direction. Custom colors in :root remain authoritative. */
.theme-dark { --bg:#171d1a;--surface:#242d27;--ink:#f0f2ed;--line:#414941; }
.theme-light { --bg:#fafbf8;--surface:#edf1e9;--ink:#243025;--line:#d3dccf; }
.font-classic .design-hero h1,.font-classic .design-page-heading h1 { font-family:Georgia,'Times New Roman',serif; }
.font-editorial .design-hero h1,.font-editorial .design-page-heading h1 { font-family:'Times New Roman',Georgia,serif;font-weight:400; }
.buttons-square .primary,.buttons-square .secondary { border-radius:0; }
.buttons-pill .primary,.buttons-pill .secondary { border-radius:999px; }
.corners-sharp .product-card,.corners-sharp .content-card,.corners-sharp .hero-visual { border-radius:0; }
.corners-round .product-card,.corners-round .content-card { border-radius:32px; }
@media(max-width:700px) { .cards-editorial .page-composition .product-card:first-child,.cards-editorial .page-composition .content-card:first-child { display:block; } }
