:root{--paper:#f5f0e7;--ink:#42251f;--accent:#873b3c;--soft:#eae1d4;--line:#cfc1b3;--display:'Cormorant Garamond',Georgia,serif;--ticker:#702d36;--ticker-ink:#f5f0e7}.brand-name{font-style:italic;font-size:35px}.brand small{font-style:normal;font-size:8px}.basco-hero{display:grid;grid-template-columns:1fr 1.03fr;position:relative;padding-top:52px;gap:3.8%}.basco-intro{position:relative;padding:37px 0 50px}.basco-intro h1{font-size:clamp(70px,8vw,125px);line-height:.88;margin:35px 0 35px;letter-spacing:-.06em}.basco-intro h1 em{color:var(--accent)}.basco-intro>p:not(.eyebrow){max-width:300px;font-size:14px}.basco-hero-photo{height:630px;clip-path:polygon(0 0,100% 0,100% 94%,90% 100%,0 100%)}.basco-hero-photo img{object-position:50% 50%}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:25px 0 30px;font-size:9px;letter-spacing:.14em;border-top:1px solid var(--line);margin-top:10px}.heritage-seal{position:absolute;right:0;bottom:80px;width:105px;height:105px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:8px;letter-spacing:.15em;line-height:1.7;transform:rotate(-12deg)}.heritage-seal strong{font-family:var(--display);font-size:33px;letter-spacing:0;font-weight:400}.basco-story{background:#ebe2d5}.basco-story .photo{clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%)}.basco-story .story-copy h2{font-size:clamp(45px,4.8vw,72px)}.basco-story .story-copy h2 em{color:var(--accent)}.basco .callout{background:#712d36}.basco .ticker b{color:#c69e7f}.basco .page-intro h1 em{color:var(--accent)}.basco .dish-title{font-size:34px}.basco .dish-image{border-radius:3px}.basco .photo-label{background:rgba(59,27,21,.8)}
@media(min-width:1450px){.basco-hero-photo{height:710px}.basco-intro{padding-top:75px}}
@media(max-width:1100px){.basco-hero-photo{height:580px}.heritage-seal{bottom:35px;width:90px;height:90px}.basco-intro h1{font-size:95px}.basco-intro .actions{gap:20px}.basco-intro .button{padding-inline:18px}}
@media(max-width:900px){.basco-hero{padding-top:35px;grid-template-columns:1fr 1fr;gap:5%}.basco-intro h1{font-size:80px}.basco-hero-photo{height:565px}.basco-intro{padding-top:20px}.basco-intro>.eyebrow{font-size:9px}.heritage-seal{display:none}.basco-intro .actions{display:block}.basco-intro .text-link{margin-top:18px}.hero-foot{font-size:8px;gap:30px}.basco .brand-name{font-size:31px}}
@media(max-width:620px){.basco .brand-name{font-size:27px}.basco .brand small{font-size:6px}.basco-hero{display:flex;flex-direction:column;gap:0;padding-top:12px}.basco-intro{padding:22px 0 35px}.basco-intro h1{font-size:91px;line-height:.83;margin:25px 0 30px}.basco-intro>p:not(.eyebrow){max-width:270px;font-size:13px}.basco-intro .actions{display:flex;gap:20px;margin-top:25px}.basco-intro .text-link{margin:0;font-size:11px}.basco-hero-photo{height:355px;width:100%;clip-path:polygon(0 0,100% 0,100% 92%,91% 100%,0 100%)}.hero-foot{padding:18px 0 24px;margin-top:18px;line-height:1.6;font-size:7px}.hero-foot span:last-child{text-align:right;max-width:150px}.basco .dish-title{font-size:34px}.basco-story .story-copy h2{font-size:46px}.basco .section-heading h2{font-size:45px}}

/* Basque Country v2: painted timber, warm plaster and woven table linen. */
:root {
  --paper: #f7f2e7;
  --ink: #293d34;
  --accent: #963b32;
  --soft: #e9e3d5;
  --line: #c9c0ad;
  --basque-red: #86372e;
  --basque-green: #244737;
  --ticker: #244737;
  --ticker-ink: #f7f2e7;
}
html { scroll-padding-top: 145px; }
.basco {
  background-color: var(--paper);
  background-image: url('/assets/ornaments/basco-oak-v5.svg'),
    url('/assets/ornaments/basco-oak-v5.svg'),
    radial-gradient(ellipse at 12% 8%, #e6dbc43d, transparent 48%);
  background-size: 380px auto, 420px auto, 100% 100%;
  background-position: left -185px top 150px, right -185px top 1450px, center;
  background-repeat: no-repeat;
}
.basco .site-header { background: var(--paper); border-bottom: 1px solid var(--basque-red); }
.basque-welcome { background: var(--basque-green); color: var(--paper); }
.basque-welcome .wrap {
  min-height: 30px; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; font-size: 9px; letter-spacing: .13em; text-transform: uppercase;
}
.basque-welcome strong { font-weight: 500; }
.basque-welcome .welcome-translation { opacity: .83; margin-left: 12px; }
.basco .header-inner { height: 88px; }
.basco .brand-name { color: var(--basque-red); font-size: 37px; }
.basco .brand small { color: var(--basque-green); font-size: 8px; font-weight: 600; letter-spacing: .12em; }
.basco .header-cta { background: var(--basque-red); color: var(--paper); border-color: var(--basque-red); }
.basco .nav-links a:hover { color: var(--basque-red); }
.basco .nav-links a { text-transform: uppercase; }
.basco .button { background: var(--basque-red); border-color: var(--basque-red); }
.basco .button:hover { background: var(--basque-green); border-color: var(--basque-green); }
.basco .button.light { color: var(--basque-green); background: var(--paper); border-color: var(--paper); }
.basco .button.light:hover { background: #e5dbc7; border-color: #e5dbc7; }
.basco-hero { padding-top: 36px; column-gap: 4.8%; row-gap: 16px; grid-template-columns: 1fr 1.02fr; }
.basco-intro { padding: 39px 0 25px; }
.basco-intro > .eyebrow { color: var(--basque-red); font-size: 10px; max-width: 390px; }
.basco-intro h1 { font-size: clamp(76px, 7.9vw, 121px); margin: 30px 0; }
.basco-intro > p:not(.eyebrow) { max-width: 350px; font-size: 14px; }
.basco-hero-photo {
  height: 600px; clip-path: none; border-radius: 46% 46% 3px 3px;
  padding: 13px; background: var(--basque-red); border: 1px solid #682921;
  box-shadow: 0 12px 30px #402c1c12;
}
.basco-hero-photo::after {
  content: ''; position: absolute; inset: 6px; border: 1px solid #f7f2e770;
  border-radius: inherit; pointer-events: none;
}
.basco-hero-photo img { border-radius: inherit; object-position: 50% 54%; }
.basco-hero-photo .photo-label { bottom: 25px; left: 27px; }
.basque-roots {
  display: flex; gap: 18px; align-items: center; margin-top: 40px;
  padding-top: 23px; border-top: 1px solid var(--line); max-width: 350px;
}
.basque-house { width: 72px; height: 66px; flex-shrink: 0; }
.basque-roots span { font-size: 10px; line-height: 1.8; text-transform: uppercase; letter-spacing: .09em; }
.basque-roots strong { color: var(--basque-red); display: block; font-weight: 600; }
.hero-foot { margin-top: 0; padding: 18px 0 20px; color: var(--basque-green); }
.basco .ticker { border: 0; position: relative; margin-top: 9px; }
.basco .ticker::before, .basco .callout::before {
  content: ''; position: absolute; inset: -9px 0 auto; height: 9px;
  background: repeating-linear-gradient(90deg, var(--paper) 0 13px, var(--basque-red) 13px 16px,
    var(--paper) 16px 20px, var(--basque-red) 20px 24px, var(--paper) 24px 28px,
    var(--basque-red) 28px 31px, var(--paper) 31px 44px);
}
.basco .ticker b { color: #d1b998; }
.basco-story { background: #e9e3d6; border-block: 1px solid var(--line); }
.basco-story .story-photo { clip-path: none; border: 10px solid var(--basque-green); }
.basco-story .story-copy .eyebrow { color: var(--basque-red); }
.basco .callout { background: var(--basque-red); position: relative; margin-top: 9px; }
.basco .callout em { color: #ecd5b0; }
.basco .site-footer { background: var(--basque-green); color: var(--paper); border: 0; }
.basco .site-footer .brand-name, .basco .site-footer .brand small { color: var(--paper); }
.basco .footer-bottom { border-color: #f7f2e744; }
.basco .page-intro { border-bottom: 1px solid var(--line); background: #eae3d447; margin-bottom: 35px; }
.basco .page-intro > .wrap > .eyebrow { color: var(--basque-red); }
.basco .menu-browser { scroll-margin-top: 145px; }
.basco .meal-filter[aria-pressed=true] { background: var(--basque-green); border-color: var(--basque-green); }
.basco .dish-image { border-radius: 2px; border-bottom: 4px solid var(--basque-red); }
.basco dialog { border-top: 6px solid var(--basque-red); }
@media (min-width: 1450px) {
  .basco-hero-photo { height: 680px; }
  .basco-intro { padding-top: 65px; }
  .basque-roots { margin-top: 45px; }
}
@media (max-width: 1100px) {
  .basco .brand-name { font-size: 32px; }
  .basco-hero-photo { height: 610px; }
  .basco-intro h1 { font-size: 95px; }
  .basque-roots { margin-top: 30px; }
}
@media (max-width: 900px) {
  .basco .header-inner { height: 80px; }
  .basco .nav-links { top: 100%; }
  .basco-hero { padding-top: 27px; column-gap: 5%; row-gap: 18px; }
  .basco-intro { padding-top: 22px; }
  .basco-intro h1 { font-size: 80px; }
  .basco-hero-photo { height: 585px; padding: 10px; }
  .basque-roots { gap: 12px; margin-top: 27px; padding-top: 16px; }
  .basque-roots span { font-size: 8px; }
  .basque-house { width: 58px; height: 53px; }
  .basco .brand small { font-size: 7px; }
}
@media (max-width: 620px) {
  html { scroll-padding-top: 124px; }
  .basque-welcome .wrap { justify-content: center; min-height: 27px; font-size: 8px; letter-spacing: .09em; }
  .basque-welcome .welcome-location { display: none; }
  .basque-welcome .welcome-translation { margin-left: 9px; }
  .basco .header-inner { height: 76px; gap: 10px; }
  .basco .brand-name { font-size: 29px; }
  .basco .brand small { font-size: 6.5px; letter-spacing: .09em; }
  .basco .header-cta { gap: 0; padding: 10px; min-height: 44px; font-size: 10px; }
  .basco .header-cta span { display: none; }
  .basco .nav-toggle { min-height: 44px; min-width: 44px; }
  .basco-hero { padding-top: 12px; gap: 0; }
  .basco-intro { padding: 20px 0 29px; }
  .basco-intro > .eyebrow { font-size: 8px; margin-bottom: 20px; }
  .basco-intro h1 { font-size: clamp(72px, 21vw, 96px); line-height: .87; margin: 20px 0 25px; }
  .basco-intro > p:not(.eyebrow) { font-size: 13px; max-width: 300px; }
  .basco-intro .actions { gap: 17px; margin-top: 25px; }
  .basco-intro .button { padding-inline: 17px; gap: 21px; }
  .basque-roots { max-width: 100%; margin-top: 27px; padding-top: 17px; gap: 15px; }
  .basque-roots span { font-size: 8px; }
  .basque-house { width: 57px; height: 52px; }
  .basco-hero-photo { height: 385px; width: 100%; padding: 10px; border-radius: 46% 46% 2px 2px; }
  .basco-hero-photo::after { inset: 4px; }
  .basco-hero-photo .photo-label { bottom: 21px; left: 22px; }
  .hero-foot { font-size: 7px; gap: 17px; margin-top: 20px; }
  .basco-story .story-photo { border-width: 7px; }
  .basco .page-intro { margin-bottom: 24px; }
  .basco .menu-browser { scroll-margin-top: 124px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .basco .button, .basco .dish-image img { transition: none; }
}

/* v5: architectural stone arch, timber casing and open green shutters. */
.basque-window {
  position: relative;
  height: 600px;
  min-width: 0;
  width: 100%;
  align-self: center;
}
.basque-window .basco-hero-photo {
  position: absolute;
  left: 9.333333%;
  top: 6.571429%;
  width: 81.333333%;
  height: 87.714286%;
  padding: 0;
  border: 0;
  border-radius: 50% 50% 0 0 / 39.739414% 39.739414% 0 0;
  clip-path: none;
  background: transparent;
  box-shadow: none;
  z-index: 1;
}
.basque-window .basco-hero-photo::after { display: none; }
.basque-window .basco-hero-photo img {
  border-radius: 0;
  width: 100%;
  height: 100%;
  object-position: 50% 54%;
}
.window-architecture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 8px 8px #5e4c331a);
}
@media (min-width: 1450px) { .basque-window { height: 680px; } }
@media (max-width: 1100px) { .basque-window { height: 610px; } }
@media (max-width: 900px) { .basque-window { height: 585px; } }
@media (max-width: 620px) {
  .basque-window { height: 410px; }
  .basco {
    background-size: 260px auto, 280px auto, 100% 100%;
    background-position: left -150px top 135px, right -165px top 1250px, center;
  }
}

/* v6: photorealistic transparent architectural composite. */
.basque-window .window-realistic{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 12px #5e4c331c)}

/* v7: expansive food photography, inspired by the Bone & Broth presentation. */
.basco-immersive {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  height: calc(100svh - 119px);
  min-height: 720px;
  max-height: 1100px;
  overflow: hidden;
  background: #171d15;
  color: var(--paper);
}
.immersive-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 55%;
  z-index: -2;
}
.immersive-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #10170edb 0%, #11170e94 31%, #171b0f1c 58%, transparent 80%),
    linear-gradient(0deg, #0e140db3, transparent 25%);
  pointer-events: none;
}
.immersive-content { padding-block: 65px 125px; }
.immersive-copy { width: min(610px, 52%); }
.immersive-copy > .eyebrow { font-size: 10px; letter-spacing: .16em; margin-bottom: 28px; color: #f0dcc0; }
.immersive-copy h1 { font-size: clamp(88px, 8.6vw, 154px); line-height: .91; letter-spacing: -.045em; margin: 0 0 35px; }
.immersive-copy h1 em { color: #e4c29a; }
.immersive-description { font-size: 15px; line-height: 1.85; color: #f7f2e7e8; margin: 0; }
.immersive-copy .actions { margin-top: 34px; gap: 30px; }
.basco .basco-immersive .button { background: var(--paper); color: var(--basque-green); border-color: var(--paper); }
.basco .basco-immersive .button:hover { background: #e4cba5; border-color: #e4cba5; }
.immersive-copy .text-link { color: var(--paper); min-height: 48px; align-items: center; }
.immersive-foot {
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding-top: 19px;
  border-top: 1px solid #f7f2e73d;
  color: #f7f2e7c7;
  font-size: 8px;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: .14em;
}
@media (max-width: 1100px) {
  .immersive-copy { width: 55%; }
  .immersive-copy h1 { font-size: 98px; }
  .immersive-copy .actions { gap: 22px; }
}
@media (max-width: 900px) {
  .basco-immersive { height: calc(100svh - 111px); }
  .immersive-photo { object-position: 86% 50%; }
  .immersive-shade { background: linear-gradient(90deg, #10170ef0 0%, #11170eb8 35%, #171b0f1c 79%), linear-gradient(0deg, #0e140db3, transparent 28%); }
  .immersive-copy { width: 75%; max-width: 560px; }
  .immersive-copy h1 { font-size: 100px; }
  .immersive-content { padding-block: 45px 170px; }
  .immersive-copy > .eyebrow { font-size: 9px; }
  .immersive-foot { font-size: 7px; }
}
@media (max-width: 620px) {
  .basco-immersive { height: calc(100svh - 104px); min-height: 720px; align-items: flex-start; }
  .immersive-photo { inset: auto 0 0; height: 58%; object-position: 84% 65%; }
  .immersive-shade { background: linear-gradient(180deg, #171d15 0%, #171d15 44%, #171d15b8 50%, #171d1517 62%, transparent 76%, #0e140d99 100%); }
  .immersive-content { padding-block: 34px 0; }
  .immersive-copy { width: 100%; max-width: 100%; }
  .immersive-copy > .eyebrow { font-size: 8px; letter-spacing: .12em; margin-bottom: 22px; }
  .immersive-copy h1 { font-size: clamp(72px, 21vw, 96px); line-height: .9; margin-bottom: 24px; }
  .immersive-description { font-size: 12px; line-height: 1.75; }
  .immersive-copy .actions { margin-top: 25px; gap: 22px; }
  .immersive-copy .button { min-height: 48px; padding: 12px 18px; gap: 23px; }
  .immersive-copy .text-link { font-size: 11px; gap: 18px; }
  .immersive-foot { bottom: 17px; padding-top: 12px; font-size: 7px; }
  .immersive-foot span:last-child { display: none; }
}
