/* Salt Flakes Company - foundation
   Direction: salt-flakes-company-aveiro-heritage
   Dials: variance 0.55 / density 0.35 / motion 0.25 */

@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(/wp-content/uploads/fonts/bodoni-moda-latin-standard-normal.woff2) format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/wp-content/uploads/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");}

:root{
  --paper:#F7F5F0; --surface:#FFFFFF; --ink:#1A1D27; --accent:#2C5F8A;
  --sand:#E5DDD0; --mist:#C9D4DD;
  --ink-70:rgba(26,29,39,.70); --ink-45:rgba(26,29,39,.45); --ink-12:rgba(26,29,39,.12);
  --accent-hi:#376FA0;

  --font-display:"Bodoni Moda",Didot,Georgia,serif;
  --font-mono:"IBM Plex Mono",Consolas,ui-monospace,monospace;

  --sp-sm:12px; --sp-md:24px; --sp-lg:56px; --sp-xl:110px;
  --gutter:clamp(20px,5vw,64px);
  --section:clamp(64px,9vw,var(--sp-xl));

  --r-sm:12px; --r-md:18px; --r-pill:999px;
  --rule:1px solid var(--sand);
  --shadow:0 18px 48px -24px rgba(26,29,39,.28);

  --shell:1200px; --shell-narrow:720px; --measure:64ch;

  --ease:cubic-bezier(.22,1,.36,1); --dur:640ms; --dur-fast:240ms;
  --header-h:76px;
}

:where(*,*::before,*::after){box-sizing:border-box;}
:where(body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol){margin:0;padding:0;}
:where(ul,ol)[class]{list-style:none;}
:where(img,video,svg){display:block;max-width:100%;height:auto;}
:where(button,input,select,textarea){font:inherit;color:inherit;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(1rem,.97rem + .16vw,1.0625rem);line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;text-wrap:balance;}
h1{font-size:clamp(2.5rem,1.6rem + 4.2vw,5rem);font-variation-settings:"opsz" 88;letter-spacing:-.021em;line-height:1.0;}
h2{font-size:clamp(1.9rem,1.35rem + 2.5vw,3.25rem);font-variation-settings:"opsz" 52;letter-spacing:-.014em;line-height:1.08;}
h3{font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);font-variation-settings:"opsz" 30;letter-spacing:-.006em;line-height:1.2;}
h4{font-size:1.15rem;font-variation-settings:"opsz" 24;line-height:1.3;}
p{text-wrap:pretty;}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em;}

:where(a,button,.sfc-btn,.sfc-nav__list a){transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
::selection{background:var(--accent);color:var(--paper);}

/* Utilities */
.sfc-shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);}
.sfc-shell--narrow{max-width:var(--shell-narrow);}
.sfc-measure{max-width:var(--measure);}
.sfc-eyebrow{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--sp-md);}
.sfc-eyebrow--light{color:var(--mist);}
.sfc-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;}
.sfc-rule{border:0;border-top:var(--rule);}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.sfc-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--paper);padding:14px 20px;border-radius:0 0 var(--r-sm) 0;}
.sfc-skip:focus{left:0;}

/* Buttons */
.sfc-btn,.sfc-prose .wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  background:var(--accent);color:#fff;
  font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:1.05em 1.9em;border:0;border-radius:var(--r-pill);
  text-decoration:none;cursor:pointer;box-shadow:none;line-height:1;
}
.sfc-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--accent-hi);color:#fff;}
.sfc-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-12);}
.sfc-btn--ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent);}

/* Header */
.sfc-header{position:sticky;top:0;z-index:100;background:transparent;transition:background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);border-bottom:1px solid transparent;}
.sfc-header__inner{width:100%;max-width:var(--shell);margin-inline:auto;padding:0 var(--gutter);min-height:var(--header-h);display:flex;align-items:center;gap:clamp(16px,3vw,48px);}
.sfc-header.is-stuck{background:rgba(247,245,240,.86);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom-color:var(--sand);}
.sfc-header__brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);flex:0 0 auto;}
.sfc-logo{display:block;}
.sfc-logo svg{display:block;height:44px;width:auto;}
.sfc-logo--text{font-family:var(--font-display);font-weight:500;font-size:1.15rem;letter-spacing:.02em;line-height:1.05;text-transform:uppercase;}
.sfc-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-md);flex:0 0 auto;}

.sfc-nav{flex:1 1 auto;}
.sfc-nav__list{display:flex;align-items:center;gap:clamp(14px,2vw,32px);margin:0;padding:0;list-style:none;}
.sfc-nav__list a{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:6px 0;position:relative;}
.sfc-nav__list a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease);}
.sfc-nav__list a:hover::after,.sfc-nav__list .current-menu-item>a::after{transform:scaleX(1);}

.sfc-basket{display:inline-flex;align-items:center;gap:.5em;text-decoration:none;color:var(--ink);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;}
.sfc-basket__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:.65rem;}
.sfc-burger{display:none;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:6px;}
.sfc-burger__bar{display:block;width:22px;height:1px;background:var(--ink);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);}
.sfc-burger[aria-expanded="true"] .sfc-burger__bar:first-child{transform:translateY(3.5px) rotate(45deg);}
.sfc-burger[aria-expanded="true"] .sfc-burger__bar:last-child{transform:translateY(-3.5px) rotate(-45deg);}

.sfc-drawer{position:fixed;inset:var(--header-h) 0 0;z-index:99;background:var(--paper);padding:var(--sp-lg) var(--gutter);overflow-y:auto;}
.sfc-drawer__list{display:flex;flex-direction:column;gap:var(--sp-md);margin:0;padding:0;list-style:none;}
.sfc-drawer__list a{font-family:var(--font-display);font-weight:500;font-size:1.9rem;font-variation-settings:"opsz" 40;letter-spacing:-.01em;color:var(--ink);text-decoration:none;}

@media (max-width:880px){
  .sfc-nav{display:none;}
  .sfc-burger{display:flex;}
  .sfc-basket__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
}

/* Main + prose */
.sfc-main{display:block;min-height:40vh;padding-block:var(--section);}
.sfc-page__title{margin-bottom:var(--sp-lg);}
.sfc-prose>*+*{margin-top:1.15em;}
.sfc-prose h2{margin-top:1.9em;}
.sfc-prose h3{margin-top:1.6em;}
.sfc-prose :where(p,ul,ol){max-width:var(--measure);}
.sfc-prose :where(ul,ol){padding-left:1.25em;}
.sfc-prose li+li{margin-top:.4em;}
.sfc-404{text-align:left;}

/* Footer */
.sfc-footer{background:var(--ink);color:var(--mist);padding-block:var(--section);margin-top:var(--section);}
.sfc-footer__inner{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);display:grid;gap:var(--sp-lg);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;}
.sfc-footer .sfc-logo svg{height:52px;}
.sfc-footer__line{margin-top:var(--sp-md);color:var(--mist);max-width:38ch;font-size:.95rem;}
.sfc-footer__list{display:flex;flex-direction:column;gap:.7em;margin:0;padding:0;list-style:none;}
.sfc-footer__list a{color:var(--mist);text-decoration:none;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.sfc-footer__list a:hover{color:#fff;}
.sfc-footer__legal{grid-column:1/-1;padding-top:var(--sp-lg);border-top:1px solid rgba(201,212,221,.18);color:rgba(201,212,221,.65);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;}
@media (max-width:720px){.sfc-footer__inner{grid-template-columns:1fr;}}

/* Scroll reveal - degrades to visible without JS */
.sfc-js .sfc-reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);}
.sfc-js .sfc-reveal.is-in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .sfc-js .sfc-reveal{opacity:1!important;transform:none!important;}
}
/* ==========================================================================
   FRONT PAGE
   Density curve is deliberately uneven: cinematic hero, tight data band,
   dense editorial harvest, airy dark range, near-empty photographic plate,
   structured analysis, quiet close.
   ========================================================================== */

.sfc-main--front{padding-block:0;}
.sfc-main--front>section{position:relative;}

/* 1. Hero - cinematic full bleed */
.sfc-hero{min-height:min(92svh,860px);display:grid;align-items:end;isolation:isolate;margin-top:calc(var(--header-h) * -1);padding-top:var(--header-h);}
.sfc-hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--ink);}
.sfc-hero__video{width:100%;height:100%;object-fit:cover;}
.sfc-hero__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,18,25,.86) 0%,rgba(16,18,25,.62) 42%,rgba(16,18,25,.18) 78%,rgba(16,18,25,.32) 100%);}
.sfc-hero__body{padding-block:clamp(48px,10vh,120px);max-width:var(--shell);}
.sfc-hero__title{color:#fff;max-width:14ch;margin:0;}
.sfc-hero__sub{color:var(--mist);margin-top:var(--sp-md);max-width:46ch;font-size:clamp(1.02rem,.98rem + .3vw,1.2rem);}
.sfc-hero__cta{margin-top:var(--sp-lg);display:flex;align-items:center;gap:var(--sp-lg);flex-wrap:wrap;}
.sfc-hero__link{color:#fff;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.34);padding-bottom:.35em;}
.sfc-hero__link:hover{border-bottom-color:#fff;}

/* 2. Provenance band - typographic, tight */
.sfc-band{background:var(--ink);color:var(--mist);}
.sfc-band__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.sfc-band__item{padding:var(--sp-lg) var(--sp-md);border-left:1px solid rgba(201,212,221,.16);margin:0;display:flex;flex-direction:column;gap:.5em;}
.sfc-band__item:first-child{border-left:0;padding-left:0;}
.sfc-band__item span{color:#fff;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;}
.sfc-band__item em{font-style:normal;font-family:var(--font-display);font-size:.95rem;color:var(--mist);letter-spacing:0;text-transform:none;}
@media (max-width:860px){.sfc-band__inner{grid-template-columns:1fr 1fr;}.sfc-band__item{padding:var(--sp-md);border-left:0;border-top:1px solid rgba(201,212,221,.16);}.sfc-band__item:nth-child(-n+2){border-top:0;}.sfc-band__item:nth-child(odd){padding-left:0;}}
@media (max-width:460px){.sfc-band__inner{grid-template-columns:1fr;}.sfc-band__item{padding-inline:0;}.sfc-band__item:nth-child(2){border-top:1px solid rgba(201,212,221,.16);}}

/* 3. Harvest - asymmetric editorial, sticky image */
.sfc-harvest{padding-block:var(--section);}
.sfc-harvest__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,6vw,96px);align-items:start;}
.sfc-harvest__figure{margin:0;position:sticky;top:calc(var(--header-h) + 32px);}
.sfc-harvest__img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);box-shadow:var(--shadow);}
.sfc-harvest__figure figcaption{margin-top:var(--sp-sm);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-45);}
.sfc-lede{font-size:clamp(1.05rem,1rem + .45vw,1.3rem);line-height:1.5;color:var(--ink-70);margin-top:var(--sp-md);max-width:52ch;}
.sfc-harvest h2{margin-top:0;}

.sfc-steps{margin-top:var(--sp-lg);border-top:var(--rule);}
.sfc-step{border-bottom:var(--rule);}
.sfc-step>summary{display:flex;align-items:baseline;gap:var(--sp-md);padding:var(--sp-md) 0;cursor:pointer;list-style:none;}
.sfc-step>summary::-webkit-details-marker{display:none;}
.sfc-step__n{color:var(--accent);font-size:.72rem;letter-spacing:.1em;flex:0 0 auto;}
.sfc-step__t{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.05rem + .5vw,1.5rem);font-variation-settings:"opsz" 28;flex:1 1 auto;}
.sfc-step>summary::after{content:"";width:10px;height:10px;border-right:1px solid var(--ink-45);border-bottom:1px solid var(--ink-45);transform:rotate(45deg);transition:transform var(--dur-fast) var(--ease);flex:0 0 auto;align-self:center;}
.sfc-step[open]>summary::after{transform:rotate(-135deg);}
.sfc-step>p{padding:0 0 var(--sp-md) calc(.72rem + var(--sp-md) + 1ch);color:var(--ink-70);max-width:56ch;}
@media (max-width:880px){
  .sfc-harvest__grid{grid-template-columns:1fr;}
  .sfc-harvest__figure{position:static;}
  .sfc-harvest__img{aspect-ratio:3/2;}
  .sfc-step>p{padding-left:0;}
}

/* 4. The range - dark, weighted grid */
.sfc-range{background:var(--ink);color:var(--paper);padding-block:var(--section);}
.sfc-range__title{color:#fff;margin-bottom:var(--sp-lg);max-width:16ch;}
.sfc-range__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,64px);align-items:stretch;}
.sfc-line{background:rgba(255,255,255,.04);border:1px solid rgba(201,212,221,.16);border-radius:var(--r-md);padding:clamp(24px,3.5vw,48px);display:flex;flex-direction:column;gap:var(--sp-md);}
.sfc-line--flor{border-color:rgba(44,95,138,.85);background:linear-gradient(180deg,rgba(44,95,138,.18) 0%,rgba(255,255,255,.03) 60%);}
.sfc-line__tag{color:var(--accent);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin:0;}
.sfc-line--coarse .sfc-line__tag{color:var(--mist);}
.sfc-line h3{color:#fff;margin:0;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.35rem);}
.sfc-line__copy{color:var(--mist);margin:0;max-width:42ch;}
.sfc-line__meta{display:flex;gap:var(--sp-lg);margin:0;padding-top:var(--sp-md);border-top:1px solid rgba(201,212,221,.16);flex-wrap:wrap;}
.sfc-line__meta dt{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,212,221,.62);margin-bottom:.4em;}
.sfc-line__meta dd{margin:0;color:#fff;font-size:.95rem;}
.sfc-line__meta .woocommerce-Price-amount{font-family:var(--font-mono);}
.sfc-line__note{color:var(--mist);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin:0;}
.sfc-line .sfc-btn{align-self:flex-start;margin-top:auto;}
.sfc-btn--onink{color:#fff;border-color:rgba(201,212,221,.4);}
.sfc-btn--onink:hover{color:#fff;border-color:#fff;}
@media (max-width:880px){.sfc-range__grid{grid-template-columns:1fr;}}

/* 5. Plate - full-bleed photographic, near-empty */
.sfc-plate{min-height:min(70svh,620px);display:grid;place-items:center;isolation:isolate;overflow:hidden;text-align:center;}
.sfc-plate__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.sfc-plate__scrim{position:absolute;inset:0;background:rgba(16,18,25,.52);z-index:-1;}
.sfc-plate__body{padding-block:var(--section);}
.sfc-plate__quote{margin:0;}
.sfc-plate__quote p{font-family:var(--font-display);font-weight:500;color:#fff;font-size:clamp(1.9rem,1.2rem + 3.4vw,4rem);font-variation-settings:"opsz" 72;line-height:1.06;letter-spacing:-.016em;max-width:18ch;margin-inline:auto;}
.sfc-plate__cite{margin-top:var(--sp-lg);color:rgba(255,255,255,.72);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;}

/* 6. Analysis - data led */
.sfc-analysis{padding-block:var(--section);background:var(--paper);}
.sfc-analysis__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,6vw,96px);align-items:start;}
.sfc-analysis h2{margin:0 0 var(--sp-md);}
.sfc-analysis__lead p{color:var(--ink-70);}
.sfc-figures{margin:0;display:flex;flex-direction:column;}
.sfc-figure{padding:var(--sp-md) 0;border-top:var(--rule);}
.sfc-figure:last-child{border-bottom:var(--rule);}
.sfc-figure dt{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-45);}
.sfc-figure dd{margin:.6em 0 0;display:flex;flex-direction:column;gap:.4em;}
.sfc-figure strong{font-weight:400;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.5rem);color:var(--accent);line-height:1;letter-spacing:-.01em;}
.sfc-figure span{color:var(--ink-70);font-size:.95rem;max-width:44ch;}
@media (max-width:880px){.sfc-analysis__grid{grid-template-columns:1fr;}}

/* 7. Close */
.sfc-close{padding-block:var(--section);background:var(--paper);border-top:var(--rule);}
.sfc-close__inner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-lg);}
.sfc-close h2{margin:0;max-width:20ch;}

@media (max-width:560px){
  :root{--section:clamp(48px,12vw,72px);}
  .sfc-hero{min-height:88svh;}
  .sfc-hero__cta{gap:var(--sp-md);}
  .sfc-hero__cta .sfc-btn{width:100%;}
}
/* Brand mark. One currentColor SVG, recoloured by context. */
.sfc-logo{display:block;line-height:0;}
.sfc-logo svg{display:block;height:46px;width:auto;fill:currentColor;}
.sfc-logo--ink{color:var(--ink);}
.sfc-logo--white{color:#fff;}
.sfc-footer .sfc-logo svg{height:58px;}
@media (max-width:560px){.sfc-logo svg{height:38px;}.sfc-footer .sfc-logo svg{height:46px;}}
/* ==========================================================================
   LEGIBILITY PASS
   1. The header sits over a dark hero on the front page. Ink text on dark
      video failed contrast badly, so the mark, nav and basket invert while
      the header is transparent, then return to Ink once it is stuck.
   2. Type floor raised to 16px for navigation, buttons, links and all
      reading text. Tracked uppercase micro-labels hold at 14px.
   ========================================================================== */

/* Guarantees header legibility no matter which video frame is showing. */
.sfc-hero__scrim::after{content:"";position:absolute;inset:0 0 auto 0;height:210px;background:linear-gradient(180deg,rgba(16,18,25,.62) 0%,rgba(16,18,25,0) 100%);}

.sfc-header--over:not(.is-stuck) .sfc-logo--ink{color:#fff;}
.sfc-header--over:not(.is-stuck) .sfc-nav__list a{color:#fff;}
.sfc-header--over:not(.is-stuck) .sfc-nav__list a::after{background:#fff;}
.sfc-header--over:not(.is-stuck) .sfc-basket{color:#fff;}
.sfc-header--over:not(.is-stuck) .sfc-basket__count{background:#fff;color:var(--ink);}
.sfc-header--over:not(.is-stuck) .sfc-burger__bar{background:#fff;}
.sfc-header--over:not(.is-stuck) :where(a,button):focus-visible{outline-color:#fff;}

/* Type floor: 16px */
.sfc-nav__list a{font-size:1rem;letter-spacing:.085em;}
.sfc-basket{font-size:1rem;letter-spacing:.085em;}
.sfc-basket__count{font-size:.875rem;min-width:26px;height:26px;}
.sfc-btn,.sfc-prose .wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{font-size:1rem;letter-spacing:.075em;padding:1em 1.75em;}
.sfc-hero__link{font-size:1rem;letter-spacing:.075em;}
.sfc-hero__sub{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);}
.sfc-footer__list a{font-size:1rem;letter-spacing:.075em;}
.sfc-footer__legal{font-size:1rem;letter-spacing:.06em;}
.sfc-footer__line{font-size:1.0625rem;}
.sfc-band__item span{font-size:1rem;letter-spacing:.085em;}
.sfc-band__item em{font-size:1.0625rem;}
.sfc-step__n{font-size:1rem;}
.sfc-step>p{font-size:1.0625rem;}
.sfc-line__copy{font-size:1.0625rem;}
.sfc-line__meta dd{font-size:1.0625rem;}
.sfc-line__note{font-size:1rem;letter-spacing:.075em;}
.sfc-figure span{font-size:1.0625rem;}
.sfc-analysis__lead p{font-size:1.0625rem;}
.sfc-drawer__list a{font-size:clamp(1.75rem,1.4rem + 1.6vw,2.25rem);}

/* Tracked uppercase micro-labels hold at 14px. At 16px, uppercase mono with
   0.14em tracking stops reading as a label and competes with the headings. */
.sfc-eyebrow{font-size:.875rem;letter-spacing:.125em;}
.sfc-line__tag{font-size:.875rem;letter-spacing:.125em;}
.sfc-line__meta dt{font-size:.875rem;letter-spacing:.1em;}
.sfc-figure dt{font-size:.875rem;letter-spacing:.1em;}
.sfc-plate__cite{font-size:.875rem;letter-spacing:.125em;}
.sfc-harvest__figure figcaption{font-size:.875rem;letter-spacing:.08em;}

/* Nav needs more room now that it is 16px. */
@media (max-width:1080px) and (min-width:881px){
  .sfc-nav__list{gap:20px;}
  .sfc-header__inner{gap:20px;}
}
/* ==========================================================================
   BRAND MARK
   Wordmark in the header, badge in the footer where it has room to read.
   ========================================================================== */

.sfc-wordmark{display:inline-flex;flex-direction:column;align-items:center;gap:5px;color:inherit;}
.sfc-wordmark__name{
  font-family:var(--font-display);font-weight:500;text-transform:uppercase;
  font-size:clamp(1.15rem,1rem + .5vw,1.45rem);line-height:.95;letter-spacing:.055em;
  font-variation-settings:"opsz" 30;white-space:nowrap;
}
.sfc-wordmark__sub{
  font-family:var(--font-mono);font-weight:500;text-transform:uppercase;
  font-size:.5625rem;line-height:1;letter-spacing:.32em;
  background:currentColor;color:var(--wordmark-bar,#F7F5F0);
  padding:.42em .5em .36em .82em;border-radius:1px;
}
.sfc-header--over:not(.is-stuck){--wordmark-bar:#1A1D27;}

/* Badge: footer only, at a size where all four tiers of type actually read. */
.sfc-logo--badge{color:#fff;display:block;}
.sfc-logo--badge svg{height:auto;width:clamp(132px,15vw,164px);fill:currentColor;}
.sfc-footer .sfc-logo svg{height:auto;}
.sfc-footer__brand{display:flex;flex-direction:column;align-items:flex-start;}
@media (max-width:560px){.sfc-logo--badge svg{width:120px;}}
/* ==========================================================================
   IMAGE CORRECTION
   Every Aveiro photograph supplied is 16:9 landscape and between 480 and 900px
   wide. The previous 4:5 portrait crop discarded most of the frame, and the
   full-bleed use of a 480px file upscaled it roughly 4x. Both are corrected:
   images are shown at their native ratio and capped so they are never scaled
   beyond roughly 1.1x of their real pixels.
   ========================================================================== */

.sfc-harvest__grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;}
.sfc-harvest__figure{position:sticky;top:calc(var(--header-h) + 40px);max-width:560px;}
.sfc-harvest__img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
  border-radius:var(--r-md);box-shadow:var(--shadow);
}
@media (max-width:880px){
  .sfc-harvest__grid{grid-template-columns:1fr;}
  .sfc-harvest__figure{position:static;max-width:100%;}
  .sfc-harvest__img{aspect-ratio:auto;}
}

/* Plate: typographic while the photography is too small to carry it. */
.sfc-plate{background:var(--ink);min-height:min(56svh,480px);}
.sfc-plate__scrim{background:none;}
.sfc-plate__body{position:relative;}
.sfc-plate__quote p{max-width:20ch;}
.sfc-plate::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:1px;height:clamp(40px,7vh,72px);background:linear-gradient(180deg,var(--accent),rgba(44,95,138,0));
}
/* ==========================================================================
   BUY FROM THE HOMEPAGE
   Each line lists its three sizes with price and an add control, so buying
   takes one tap from the front page instead of three.
   ========================================================================== */

.sfc-sizes{list-style:none;margin:0;padding:0;border-top:1px solid rgba(201,212,221,.18);}
.sfc-size{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-md);padding:14px 0;border-bottom:1px solid rgba(201,212,221,.18);}
.sfc-size__name{font-family:var(--font-display);font-size:1.125rem;color:#fff;text-decoration:none;}
.sfc-size__name:hover{color:var(--mist);}
.sfc-size__price{font-size:1rem;color:#fff;white-space:nowrap;}
.sfc-size__price .woocommerce-Price-amount{font-family:var(--font-mono);}
.sfc-size__out{font-size:.875rem;letter-spacing:.11em;text-transform:uppercase;color:rgba(201,212,221,.6);}
.sfc-add{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:1.35rem;line-height:1;text-decoration:none;border:0;padding:0;flex:0 0 auto;}
.sfc-add:hover{background:var(--accent-hi);color:#fff;}
.sfc-add.loading{opacity:.55;pointer-events:none;}
.sfc-add.added{background:#fff;color:var(--ink);}
.sfc-size .added_to_cart{grid-column:1/-1;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);text-decoration:underline;text-underline-offset:.25em;}
.sfc-size--out .sfc-size__name,.sfc-size--out .sfc-size__price{color:rgba(255,255,255,.55);}
.sfc-line__note a{color:var(--mist);}
.sfc-line__note a:hover{color:#fff;}
@media (max-width:420px){.sfc-size{gap:var(--sp-sm);}.sfc-size__name{font-size:1.0625rem;}}
