/* Public portfolio concepts share infrastructure and retain their own visual character. */
.public-portfolio{background:var(--paper,var(--bg,#f8f9f5));color:var(--ink,#203a30);border-bottom:1px solid var(--line,#d9e4da);font-size:13px;line-height:1.6}.public-portfolio>.container{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding-block:10px}.public-portfolio a{min-height:24px;display:inline-flex;align-items:center}.public-portfolio [aria-hidden]{opacity:.55}.public-footer p>a{display:block;margin-top:4px;font-size:14px}.public-static{padding-block:40px}.public-static img{width:100%;max-width:640px;height:auto}.public-static ul{padding-left:22px}
.public-concept .public-visual{min-height:0;display:block}.public-cover{width:100%;height:490px;object-fit:cover;border-radius:28px;display:block;box-shadow:0 20px 50px #173d4217}.public-concept .hero-grid{min-height:620px}.public-concept .hero-copy h1{font-size:clamp(42px,5vw,67px);line-height:1.12}.public-concept .hero-intro{font-size:19px;line-height:1.65}.public-concept .hero-image{object-position:center}.public-concept .image-credit,.public-concept .visual-caption,.public-concept .google-attribution{display:none}.public-concept .map-card iframe,.public-concept .map iframe{width:100%;height:365px;display:block;border:0}.public-concept .map-caption p{font-size:16px;line-height:1.5}.public-voices-intro{font-size:16px;color:var(--muted,#5e6b65);margin-bottom:26px}.public-voice{padding:0 1px;min-width:0}.public-voice-author{display:flex;align-items:center;gap:13px;font-size:18px}.public-avatar{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:var(--soft,#e9eee4);color:var(--teal,var(--primary,#394b3e));font-size:15px;font-weight:700}.public-voice blockquote{font-size:22px;line-height:1.5;margin:25px 0 10px;letter-spacing:-.02em;color:inherit}.public-concept .carousel-arrows button{min-width:44px;min-height:44px}.public-concept .carousel-autoplay{min-height:44px}.public-concept .brand-mark svg{width:31px;height:31px}.public-footer{background:var(--paper,var(--bg,#f8f9f5));color:var(--ink,#203a30);border-top:1px solid var(--line,#d9e4da)}.public-footer>.container{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px}.public-footer-brand{display:flex;align-items:center;gap:12px;font-size:21px;line-height:1.2}.public-footer-brand svg{width:30px;height:35px;flex:none}.public-footer p{font-size:15px;margin:0;color:var(--muted,#566d63)}.public-footer .text-link{font-size:16px;white-space:nowrap}.public-concept .notice,.public-concept .demo-strip{font-size:14px;line-height:1.6}
.public-restaurants{--ink:#32241e;--teal:#a83923;--soft:#f5e5d4;--mint:#e7b46a;--paper:#fbf6ed;--muted:#7a5f50;--line:#e9d8c9;background:#fbf6ed;color:#32241e}.public-restaurants .hero{background:var(--paper);border:0;padding:15px 0 35px}.public-restaurants .hero-grid{position:relative;display:block;isolation:isolate;overflow:hidden;border-radius:25px;min-height:605px;padding:62px 48px}.public-restaurants .hero-grid::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#23150fe8,#23150f66 66%,#23150f15)}.public-restaurants .public-visual{position:absolute;inset:0;z-index:-2}.public-restaurants .public-cover{height:100%;border-radius:0;object-fit:cover}.public-restaurants .hero-copy{max-width:535px;color:white}.public-restaurants .hero-copy .eyebrow{color:#f8ce9f}.public-restaurants .hero-copy h1{font-size:clamp(48px,5.3vw,72px)}.public-restaurants .hero-intro{color:#f5e6d9}.public-restaurants .hero .button{background:white;border-color:white;color:#873521}.public-restaurants .hero .button.outline{color:white;background:#ffffff08;border-color:#ffffff66}.public-restaurants .services-compact{grid-template-columns:repeat(3,1fr)}.public-restaurants .service-card{display:flex;flex-direction:column;align-items:stretch;padding:0 0 25px;overflow:hidden;background:#fff9f1}.public-restaurants .public-dish{display:block;object-fit:cover;width:100%;height:215px;margin:0 0 23px}.public-restaurants .service-copy,.public-restaurants .service-card>.text-link{margin-inline:24px}.public-restaurants .service-card>.text-link{align-self:flex-start;margin-top:auto}.public-restaurants .service-card p{font-size:17px;line-height:1.6}.public-restaurants .contact-section{background:#74331f}.public-restaurants .notice{background:#a83923}.public-restaurants .public-avatar{background:#f8e8d8}.public-restaurants .brand svg{color:#a83923}.public-restaurants .contact-widget{--cw-accent:#a83923}
@media(max-width:1000px){.public-concept .hero-grid{min-height:560px}.public-cover{height:440px}.public-concept .hero-copy h1{font-size:54px}.public-restaurants .hero-grid{min-height:560px;padding:48px 35px}.public-restaurants .hero-copy{max-width:480px}.public-restaurants .hero-copy h1{font-size:60px}.public-footer>.container{gap:18px}.public-footer-brand{font-size:18px}}
@media(max-width:740px){.public-concept .hero-grid{min-height:0}.public-concept .hero-copy h1{font-size:43px}.public-concept .hero-intro{font-size:18px;line-height:1.65}.public-cover{height:330px;border-radius:20px}.public-concept .public-visual{margin-top:15px}.public-voice blockquote{font-size:20px;line-height:1.55}.public-concept .map-card iframe,.public-concept .map iframe{height:300px}.public-footer>.container{flex-wrap:wrap;align-items:center;gap:18px;padding-block:30px}.public-footer p{order:3;width:100%;font-size:14px}.public-footer .text-link{margin-left:auto;font-size:15px}.public-restaurants .hero{padding:10px 0 25px}.public-restaurants .hero-grid{min-height:565px;padding:40px 25px;border-radius:19px}.public-restaurants .public-visual{margin:0}.public-restaurants .public-cover{height:100%;border-radius:0}.public-restaurants .hero-copy h1{font-size:49px}.public-restaurants .hero-intro{font-size:18px}.public-restaurants .hero .actions{gap:11px}.public-restaurants .hero .button{font-size:16px;padding-inline:16px}.public-restaurants .services-compact{grid-template-columns:1fr}.public-restaurants .public-dish{height:255px}.public-restaurants .service-copy{margin-bottom:20px}.public-restaurants .service-card h3{font-size:26px}.public-concept .brand small{font-size:13px;letter-spacing:.05em}.public-concept .header-actions{gap:13px}.public-concept .langs a{min-width:32px;min-height:44px}.public-concept .brand{font-size:23px}}

/* Fit the complete title; both languages share the same size and reserved rhythm. */
.public-concept .hero-copy h1{white-space:normal;overflow-wrap:normal}
@media(max-width:740px){.public-concept .hero-copy h1{font-size:clamp(34px,10.2vw,43px)}.public-restaurants .hero-copy h1{font-size:clamp(31px,9.5vw,42px)}}

/* Restaurant compositions share a cinematic cover and food-first menu cards. */
.sector-restaurant.public-restaurants .hero{padding:0 0 30px}.sector-restaurant.public-restaurants .hero>.container{width:100%;max-width:none}.sector-restaurant.public-restaurants .hero-grid{border-radius:0;min-height:735px;padding:70px max(40px,calc((100vw - 1160px)/2));display:flex;align-items:center}.sector-restaurant.public-restaurants .hero-grid::after{background:linear-gradient(90deg,#160d08e8,#160d0899 50%,#160d0815),linear-gradient(0deg,#160d0870,transparent 60%)}.sector-restaurant.public-restaurants .public-visual{inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;padding:0;border:0;box-shadow:none}.sector-restaurant.public-restaurants .public-cover{height:100%;width:100%;border-radius:0;object-position:center 55%}.sector-restaurant.public-restaurants .hero-copy{min-height:0;max-width:660px;padding:0}.sector-restaurant.public-restaurants .hero-copy h1{font-size:clamp(62px,6.4vw,91px);line-height:1.04;min-height:2.08em;white-space:nowrap;letter-spacing:-.06em}.sector-restaurant.public-restaurants .hero-copy .hero-intro{font-size:20px;max-width:465px;min-height:6.4em;line-height:1.6}.sector-restaurant.public-restaurants .services-compact{gap:24px}.sector-restaurant.public-restaurants .service-card{border:0;border-radius:160px 160px 18px 18px;background:#fffaf2;padding-bottom:27px}.sector-restaurant.public-restaurants .public-dish{height:240px;object-fit:contain;background:#f3e5d3;padding:20px;border-bottom:1px solid var(--line)}.sector-restaurant.public-restaurants .service-copy{margin-inline:25px}.sector-restaurant.public-restaurants .service-card p{font-size:18px}.sector-restaurant.public-restaurants .contact-section{border-radius:0;background:#70351f}
@media(max-width:1000px){.sector-restaurant.public-restaurants .hero-copy h1{font-size:68px}.sector-restaurant.public-restaurants .services-compact{gap:18px}.sector-restaurant.public-restaurants .public-dish{height:210px}}
@media(max-width:650px){.sector-restaurant.public-restaurants .hero-grid{min-height:790px;padding:42px 24px;align-items:flex-start}.sector-restaurant.public-restaurants .hero-copy h1{font-size:clamp(31px,9.5vw,60px);line-height:1.08;min-height:2.16em}.sector-restaurant.public-restaurants .hero-copy .hero-intro{font-size:18px;max-width:100%;min-height:6.4em;line-height:1.6}.sector-restaurant.public-restaurants .hero-grid::after{background:linear-gradient(90deg,#190d08dc,#190d0899),linear-gradient(0deg,#190d08aa,transparent 70%)}.sector-restaurant.public-restaurants .public-cover{object-position:58% center}.sector-restaurant.public-restaurants .public-dish{height:270px;padding:22px}.sector-restaurant.public-restaurants .services-compact{gap:24px}.sector-restaurant.public-restaurants .service-card h3{font-size:29px}}

/* The public restaurant uses the same supper-club plate and ember vocabulary. */
.sector-restaurant.public-restaurants .hero-grid::before{content:"";position:absolute;right:4%;bottom:10%;width:225px;height:250px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 220' fill='none' stroke='%23f4c990' stroke-width='1.3'%3E%3Cpath d='M90 12c18 40-19 54-2 91 12-5 27-23 27-41 42 41 53 103 6 132-46 27-104-3-102-56 1-23 16-41 39-63-5 27 5 47 18 54-20-41 24-60 14-117Z'/%3E%3Cpath d='M35 205h110'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.18;z-index:0}.sector-restaurant.public-restaurants .hero-copy{position:relative;z-index:1}.sector-restaurant.public-restaurants #information{background:radial-gradient(#ad795724 .65px,transparent .8px) 0 0/8px 8px,var(--paper)}.sector-restaurant.public-restaurants #information .section-head h2::after{content:"";display:block;width:76px;height:3px;margin-top:23px;background:#a94129;transform:rotate(-3deg);border-radius:100%}.sector-restaurant.public-restaurants .services-compact{gap:36px}.sector-restaurant.public-restaurants .service-card{border-radius:0;background:transparent;overflow:visible;padding-bottom:0}.sector-restaurant.public-restaurants .public-dish{height:270px;background:#fffdf7;border:1px solid #ddc7a8;border-radius:50%;padding:18px;box-shadow:inset 0 0 0 9px #f4eadb,inset 0 0 0 10px #e4d2b8,0 12px 18px #633a2010;transition:transform .28s ease,box-shadow .28s ease}.sector-restaurant.public-restaurants .service-copy{margin-inline:3px}.sector-restaurant.public-restaurants .service-card h3{font-family:Georgia,Cambria,serif;font-size:32px}.sector-restaurant.public-restaurants .service-card>.text-link{margin-inline:3px;margin-top:20px}.sector-restaurant.public-restaurants .contact-section{background:linear-gradient(135deg,#793923,#59291b)}.sector-restaurant.public-restaurants .contact-widget.contact-widget[data-contact-widget]{border:1px solid #cbb28e;border-radius:20px 20px 7px 7px;box-shadow:0 18px 35px #32130820}
@media(hover:hover){.sector-restaurant.public-restaurants .service-card:hover .public-dish{transform:translateY(-5px) rotate(-2deg);box-shadow:inset 0 0 0 9px #f4eadb,inset 0 0 0 10px #e4d2b8,0 19px 25px #633a2020}}
@media(max-width:1000px){.sector-restaurant.public-restaurants .services-compact{gap:25px}.sector-restaurant.public-restaurants .public-dish{height:230px}.sector-restaurant.public-restaurants .hero-grid::before{right:3%;width:150px;height:180px;bottom:18%}.sector-restaurant.public-restaurants .service-card h3{font-size:29px}}
@media(max-width:650px){.sector-restaurant.public-restaurants .hero-grid::before{width:110px;height:140px;right:7%;bottom:22%;opacity:.14}.sector-restaurant.public-restaurants .services-compact{gap:38px}.sector-restaurant.public-restaurants .public-dish{max-width:300px;height:auto;aspect-ratio:1;margin-inline:auto;padding:21px}.sector-restaurant.public-restaurants .service-copy{margin-inline:6px}.sector-restaurant.public-restaurants .service-card h3{font-size:33px}.sector-restaurant.public-restaurants .service-card>.text-link{margin-inline:6px}.sector-restaurant.public-restaurants .contact-widget.contact-widget[data-contact-widget]{border-radius:15px 15px 6px 6px}}
@media(prefers-reduced-motion:reduce){.sector-restaurant.public-restaurants .public-dish{transition:none}.sector-restaurant.public-restaurants .service-card:hover .public-dish{transform:none}}
.sector-restaurant.public-restaurants .public-dish{width:min(100%,270px);align-self:center}@media(max-width:1000px){.sector-restaurant.public-restaurants .public-dish{width:min(100%,230px)}}@media(max-width:650px){.sector-restaurant.public-restaurants .public-dish{width:min(100%,300px)}}

/* Restaurant public and private pages share a food-led cover and a menu in editorial rows. */
body.sector-restaurant.public-restaurants #main .hero--supper .hero-grid{min-height:655px;height:655px;padding:40px max(40px,calc((100vw - 1160px)/2));align-items:center;border-radius:0}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy h1{font:400 clamp(59px,6.4vw,87px)/1.05 Georgia,Cambria,serif;letter-spacing:-.045em;min-height:2.1em}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .hero-intro{font-size:19px;line-height:1.6;min-height:4.8em;max-width:455px}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .eyebrow{font-size:13px;min-height:1.6em;margin-bottom:20px}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .actions{display:flex;gap:27px;margin-top:23px;min-height:60px;align-items:center}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .actions>.button{width:230px;min-height:59px;border-radius:999px;font:400 19px/1.4 Georgia,Cambria,serif;background:#fff3df;border-color:#fff3df;color:#74331e;box-shadow:none}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .actions>.button.outline{width:auto;min-height:44px;border:0;border-bottom:1px solid #f1cba4;background:transparent;color:#fff7e9;padding-inline:0;border-radius:0}
body.sector-restaurant.public-restaurants .supper-menu-links{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:-42px auto 0;border:1px solid #caa886;background:#fff6e6;box-shadow:0 10px 23px #33160610}
body.sector-restaurant.public-restaurants .supper-menu-links>a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:87px;padding:19px 28px;font:400 23px/1.2 Georgia,Cambria,serif;color:#71331e}
body.sector-restaurant.public-restaurants .supper-menu-links>a+a{border-left:1px solid #dec4a8}
body.sector-restaurant.public-restaurants .supper-menu-links>a>span:first-child{min-height:2.4em;display:flex;align-items:center}
body.sector-restaurant.public-restaurants .hero--supper>.container:last-child{width:min(1160px,calc(100% - 80px));margin:auto}
body.sector-restaurant.public-restaurants #information .services-compact{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid #d4b495}
body.sector-restaurant.public-restaurants #information .service-card{display:grid;grid-template-columns:220px minmax(0,1fr) 200px;gap:42px;align-items:center;padding:31px 0;border:0;border-bottom:1px solid #d4b495;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
body.sector-restaurant.public-restaurants #information .public-dish{width:208px;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0;align-self:center;padding:0;border:1px solid #ddc7a8;border-radius:16px;background:#fffdf5;box-shadow:0 8px 22px #633a2012;transform:none}
body.sector-restaurant.public-restaurants #information .service-copy{margin:0}
body.sector-restaurant.public-restaurants #information .service-card h3{font:400 38px/1.2 Georgia,Cambria,serif;margin-bottom:11px}
body.sector-restaurant.public-restaurants #information .service-card p{font-size:18px;line-height:1.6;color:#73523f;max-width:550px}
body.sector-restaurant.public-restaurants #information .service-card>.text-link{grid-column:3;justify-self:end;align-self:center;margin:0;color:#873521;font:400 18px/1.5 Georgia,Cambria,serif;min-height:44px;max-width:100%;text-align:right}
@media(max-width:1000px){body.sector-restaurant.public-restaurants #main .hero--supper .hero-grid{padding-inline:32px}body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy h1{font-size:66px}body.sector-restaurant.public-restaurants #information .service-card{grid-template-columns:170px minmax(0,1fr);gap:26px}body.sector-restaurant.public-restaurants #information .public-dish{width:160px;height:auto}body.sector-restaurant.public-restaurants #information .service-card>.text-link{grid-column:2;justify-self:start;text-align:left}}
@media(max-width:650px){
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-grid{height:700px;min-height:700px;padding:36px 24px 60px;align-items:start}
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy h1{font-size:clamp(35px,10.4vw,56px);line-height:1.08;min-height:2.16em;margin-bottom:19px}
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .eyebrow{font-size:12px;min-height:3.2em;margin-bottom:17px}
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .hero-intro{font-size:18px;line-height:1.65;min-height:8.25em;max-width:100%}
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .actions{flex-direction:column;gap:15px;align-items:start;margin-top:18px;min-height:121px}
 body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy .actions>.button{width:230px;min-height:56px;font-size:18px;max-width:100%}
 body.sector-restaurant.public-restaurants .hero--supper>.container:last-child{width:calc(100% - 32px)}
 body.sector-restaurant.public-restaurants .supper-menu-links{grid-template-columns:minmax(0,1fr);margin-top:-27px}
 body.sector-restaurant.public-restaurants .supper-menu-links>a{min-height:65px;padding:14px 19px;font-size:22px}
 body.sector-restaurant.public-restaurants .supper-menu-links>a+a{border-left:0;border-top:1px solid #dec4a8}
 body.sector-restaurant.public-restaurants .supper-menu-links>a>span:first-child{min-height:1.2em}
 body.sector-restaurant.public-restaurants #information .service-card{grid-template-columns:minmax(0,1fr);gap:23px;padding:31px 0}
 body.sector-restaurant.public-restaurants #information .public-dish{width:100%;max-width:360px;height:auto;justify-self:center;padding:0}
 body.sector-restaurant.public-restaurants #information .service-card h3{font-size:34px}
 body.sector-restaurant.public-restaurants #information .service-card>.text-link{grid-column:1;justify-self:start}
}

/* A fixed editorial title measure is shared by both restaurant languages. */
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy{width:660px;max-width:100%}
body.sector-restaurant.public-restaurants #main .hero--supper .hero-copy h1{width:100%;max-width:660px}
