/* Glacier Rock Vineyard · site styles
   Design "11": the Editorial layout and section numbers, the Estate Ledger
   lettering (small capitals, drop caps, dotted-leader facts) and the Mirror
   Pond headings (every heading sits on a waterline with its reflection below).

   Theme: dark navy is the default. The light parchment version is kept as an
   alternate: set "theme": "light" in site-src/config.json and rebuild, and
   <html data-theme="light"> switches every token below (the generator also
   swaps the logo files). The wine section (.band) stays dark in both. */

/* ---------- fonts (self-hosted, SIL Open Font License: licenses/OFL-fonts.txt in the repository) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/cormorant-garamond-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/eb-garamond-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/eb-garamond-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/eb-garamond-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/eb-garamond-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/eb-garamond-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- theme tokens ---------- */
:root,
[data-theme="light"] .band{
  --bg:#1E2838;            /* Glacier Navy: the page */
  --bg-deep:#151B24;       /* Night: the wine band, menus, the age gate */
  --bg-raise:#243047;      /* cards and fields */
  --ink:#EEE7DA;           /* Parchment: text and headings */
  --ink-2:#C9D2DC;         /* secondary text, italics */
  --ink-3:#B8C2CE;         /* captions, quiet labels */
  --accent:#9FBBD6;        /* Pale Ice: small capitals, links, drop caps */
  --link:#9FBBD6;
  --drop:#9FBBD6;
  --num:#4F739A;           /* the big section numbers */
  --wl:#9FBBD6;            /* waterlines */
  --refl-t:#9FBBD6;        /* a heading's reflection */
  --refl-n:#4F739A;        /* a number's reflection */
  --rule:rgba(238,231,218,.55);
  --rule-soft:rgba(238,231,218,.2);
  --rule-hard:rgba(238,231,218,.7);
  --dots:rgba(159,187,214,.6);
  --col-rule:rgba(159,187,214,.35);
  --btn-bg:#EEE7DA;
  --btn-ink:#1E2838;
  --btn-hover:#9FBBD6;
  --field-bg:rgba(238,231,218,.05);
  --field-line:rgba(238,231,218,.45);
  --ok:#B9DEC3;
  --bad:#F4C1B3;
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#F6F2EA;            /* Parchment page */
  --bg-deep:#1E2838;
  --bg-raise:#FBF8F2;
  --ink:#1E2838;
  --ink-2:#33405A;
  --ink-3:#4A5466;
  --accent:#2F4A69;
  --link:#2F4A69;
  --drop:#4F739A;
  --num:#9FBBD6;
  --wl:#4F739A;
  --refl-t:#4F739A;
  --refl-n:#9FBBD6;
  --rule:#1E2838;
  --rule-soft:rgba(30,40,56,.25);
  --rule-hard:#1E2838;
  --dots:#4F739A;
  --col-rule:rgba(79,115,154,.45);
  --btn-bg:#1E2838;
  --btn-ink:#F6F2EA;
  --btn-hover:#2F4A69;
  --field-bg:#FFFFFF;
  --field-line:rgba(30,40,56,.45);
  --ok:#2E6B45;
  --bad:#9A3A22;
  color-scheme:light;
}
:root{
  --display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --text:'EB Garamond',Georgia,'Times New Roman',serif;
  --wrap:1280px;
  --gutter:clamp(20px,4vw,56px);
  --gap:clamp(64px,9vw,128px);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 20px/1.65 var(--text);font-variant-numeric:lining-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
img,svg{display:block;max-width:100%;height:auto}

/* ---------- photos: a feathered edge ----------
   Every photo fades to transparent over its outermost few pixels on all four
   sides, so it blends into whatever is behind it (navy, the wine band,
   parchment) instead of ending in a hard line. Photos are the images <gr-img>
   makes, which always have a srcset; logos, icons, the age gate and the Wine
   Ratings stars have none. The mask sits on the img only, so captions stay
   crisp. --photo-feather is the width of the fade: larger is softer. */
:root{--photo-feather:clamp(2px,.25vw,4px)}
img[srcset]{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--photo-feather),#000 calc(100% - var(--photo-feather)),transparent),linear-gradient(180deg,transparent,#000 var(--photo-feather),#000 calc(100% - var(--photo-feather)),transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 var(--photo-feather),#000 calc(100% - var(--photo-feather)),transparent),linear-gradient(180deg,transparent,#000 var(--photo-feather),#000 calc(100% - var(--photo-feather)),transparent);
  mask-composite:intersect;
}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
button{font:inherit;color:inherit}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 18px;background:var(--btn-bg);color:var(--btn-ink);text-decoration:none;font-variant-caps:all-small-caps;letter-spacing:.18em}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.center{text-align:center}

/* ---------- lettering ---------- */
.sc{margin:0;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:20px;line-height:1.5;color:var(--accent)}
.sc--q{color:var(--ink-3)}
.caps{margin:0;font-family:var(--display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.12;color:var(--ink);text-wrap:balance}
.it{margin:0;font-family:var(--display);font-style:italic;font-weight:500;line-height:1.22;color:var(--ink);text-wrap:balance}
.lede{font-size:21px;color:var(--ink)}
.quiet{color:var(--ink-2)}
.drop::first-letter{float:left;font-family:var(--display);font-weight:600;font-size:84px;line-height:.78;padding:8px 12px 0 0;color:var(--drop)}
.ripple{display:block;width:150px;height:16px;margin-top:22px}
.ripple--c{margin-left:auto;margin-right:auto}
.ripple path{stroke:var(--wl)}
.ripple path:first-child{stroke:var(--ink)}

/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;border:1.5px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-ink);font:inherit;font-variant-caps:all-small-caps;letter-spacing:.22em;font-size:21px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-ink)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule-hard)}
.btn--ghost:hover{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.btn[disabled]{opacity:.6;cursor:progress}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.go{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* ---------- reflected headings: a number and/or a title on a waterline ---------- */
.rf{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(14px,2.2vw,32px);align-items:end}
.rf--solo{grid-template-columns:minmax(0,1fr)}
.rf .n,.rf .t{display:block;margin:0 0 -.18em;font-family:var(--display);line-height:1;white-space:nowrap}
.rf .n{font-weight:300;font-size:clamp(84px,12.5vw,184px);letter-spacing:-.01em;color:var(--num)}
.rf .t{font-weight:600;font-size:clamp(26px,4.4vw,62px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.rf--page .t{font-size:clamp(34px,8.6vw,80px)}
.rf--sm .n{font-size:clamp(64px,8vw,120px)}
.rf--sm .t{font-size:clamp(24px,3.2vw,44px)}
.rf .wl{grid-column:1/-1;height:2px;margin-top:6px;background:var(--wl)}
.rf .r{align-self:start;margin:5px 0 0;height:.5em;overflow:hidden;-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 .05em,transparent .05em .08em);mask-image:repeating-linear-gradient(180deg,#000 0 .05em,transparent .05em .08em)}
.rf .r>span{display:block;margin-top:-.18em;transform:scaleY(-1);background:linear-gradient(0deg,var(--rc) 0%,transparent 72%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rf .n.r{--rc:var(--refl-n)}
.rf .t.r{--rc:var(--refl-t)}
.rf-sub{align-self:start;min-width:0}
.rf-sub .it{margin-top:12px;font-size:clamp(26px,2.8vw,40px)}
@media (max-width:420px){.rf .t{letter-spacing:.1em}}

/* ---------- header ---------- */
.hd .wrap{position:relative}
.hd-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 32px;padding:12px 0;border-bottom:1px solid var(--rule)}
.hd-place{font-size:19px;color:var(--ink-3)}
.hd-nav{display:flex;flex-wrap:wrap;gap:2px 28px}
.hd-nav a{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;color:var(--ink);text-decoration:none}
.hd-nav a:hover,.hd-nav a[aria-current="page"]{color:var(--accent)}
.hd-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.4em}
.hd-nav .hd-cta{color:var(--accent)}
.hd-logo{display:block;line-height:0}
.hd--home .hd-logo{padding:clamp(36px,4.4vw,60px) 0 clamp(28px,3vw,40px)}
.hd--home .hd-logo img{width:min(820px,94%);margin:0 auto}
.hd--page .hd-logo{padding:clamp(22px,2.6vw,32px) 0 clamp(18px,2vw,26px)}
.hd--page .hd-logo img{height:clamp(40px,4.4vw,56px);width:auto;margin:0 auto}
.hd-strap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 24px;padding:10px 0;border-top:4px double var(--rule-hard);border-bottom:1px solid var(--rule)}
.hd-strap span{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:18px;color:var(--ink-3)}
.hd-rule{height:0;border-top:4px double var(--rule-hard)}
.menu-btn{display:none;align-items:center;gap:10px;min-height:44px;padding:0 4px;background:none;border:0;cursor:pointer;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;color:var(--ink)}
.menu-btn i{display:block;width:22px;height:9px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.menu{position:fixed;inset:0;z-index:90;overflow:auto;background:var(--bg-deep);padding:20px var(--gutter) 48px}
.menu[hidden]{display:none}
.menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.menu nav{display:flex;flex-direction:column;margin-top:28px}
.menu nav a{padding:12px 0;border-bottom:1px solid var(--rule-soft);font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.menu nav a[aria-current="page"]{color:var(--accent)}
.menu-foot{margin-top:32px}
.menu-foot p{color:var(--ink-2)}
@media (max-width:860px){
  .hd-nav{display:none}
  .menu-btn{display:inline-flex}
  .hd-strap{justify-content:center;text-align:center}
  .hd-strap span:not(:first-child){display:none}
}

/* ---------- page heads (inner pages) ---------- */
.ph{padding-top:clamp(40px,5vw,72px)}
.crumbs{font-size:18px;color:var(--ink-3);margin-bottom:clamp(28px,3vw,44px)}
.crumbs a{color:var(--ink-3);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--accent)}
.ph-lede{margin-top:clamp(28px,3vw,40px);max-width:760px;font-size:21px;color:var(--ink-2)}
.ph-hero{margin-top:clamp(40px,5vw,64px)}
.ph-hero img{width:100%;height:clamp(300px,44vw,640px);object-fit:cover}

/* ---------- sections ---------- */
.sec{padding-top:var(--gap)}
.sec--last{padding-bottom:var(--gap)}
.band{background:var(--bg-deep);color:var(--ink);margin-top:var(--gap);border-top:1px solid rgba(159,187,214,.18);border-bottom:1px solid rgba(159,187,214,.18)}
.band>.wrap{padding-top:clamp(80px,9vw,124px);padding-bottom:clamp(80px,9vw,124px)}
.body-gap{margin-top:clamp(36px,4vw,52px)}
.split{display:flex;flex-wrap:wrap;gap:40px 64px;align-items:flex-start}
.split>*{min-width:0}
.split--c{align-items:center}
.grow-1{flex:1 1 340px}
.grow-15{flex:1.5 1 480px}
.grow-16{flex:1.6 1 520px}

/* document text: justified columns with a rule (from the Estate Ledger) */
.cols2{columns:2 340px;column-gap:56px;column-rule:1px solid var(--col-rule);text-align:justify;hyphens:auto}
.cols2 p+p{margin-top:14px}
.flow>*+*{margin-top:16px}

/* dotted-leader facts */
.ledger{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0}
.ledger--c{max-width:640px;margin-left:auto;margin-right:auto}
.ledger-row{display:flex;align-items:baseline;gap:12px}
.ledger-row+.ledger-row{margin-top:6px}
.ledger-row .k{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:20px;color:var(--ink)}
.ledger-row .d{flex:1 1 20px;min-width:20px;border-bottom:1px dotted var(--dots);transform:translateY(-6px)}
.ledger-row .v{font-family:var(--display);font-weight:600;font-size:28px;white-space:nowrap;color:var(--ink)}

/* figures */
.fig img{width:100%;object-fit:cover}
.cap{margin-top:12px;font-style:italic;font-size:17px;line-height:1.5;color:var(--ink-3)}
.cap b{font-style:normal;font-weight:400;font-variant-caps:all-small-caps;letter-spacing:.16em;font-size:18px;color:var(--ink);margin-right:10px}
.figs{display:flex;flex-wrap:wrap;gap:24px}
.figs>.fig{min-width:0}
.h-xl{height:clamp(420px,50vw,700px)}
.h-lg{height:clamp(340px,38vw,540px)}
.h-md{height:clamp(300px,34vw,480px)}
.h-sm{height:clamp(200px,18vw,260px)}

/* ---------- home: the cover and its contents list ---------- */
.cover{display:flex;flex-wrap:wrap;gap:40px 64px;align-items:stretch;padding-top:clamp(40px,5vw,64px)}
.cover>.fig{flex:1.35 1 520px;min-width:0}
.cover-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column}
.cover-text h1{margin-top:12px;font-weight:500;font-size:clamp(40px,3.9vw,56px);letter-spacing:.08em}
.ix{list-style:none;margin:auto 0 0;padding:32px 0 0}
.ix li{border-top:1px solid var(--rule-soft)}
.ix li:first-child{border-top-color:var(--rule)}
.ix li:last-child{border-bottom:1px solid var(--rule)}
.ix a{display:flex;align-items:center;gap:14px;padding:14px 0;text-decoration:none;color:var(--ink)}
.ix a:hover .ix-t{color:var(--accent)}
.ix-l{min-width:0}
.ix-t{display:block;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:20px;line-height:1.5;color:var(--ink)}
.ix-s{display:block;font-style:italic;font-size:18px;line-height:1.35;color:var(--ink-2)}
.ix-d{flex:1 1 20px;min-width:20px;border-bottom:1px dotted var(--dots)}
.ix-n{font-family:var(--display);font-weight:300;font-size:44px;line-height:1;color:var(--accent)}

/* ---------- wine entries ---------- */
.entry+.entry{margin-top:28px}
.entry{padding-top:28px;border-top:1px solid var(--col-rule)}
.entry h3{margin-top:4px;font-weight:500;font-size:36px}
.entry p.quiet{margin-top:10px;font-style:italic}
.entry .go{display:inline-block;margin-top:12px}
.wine-cards{display:flex;flex-wrap:wrap;gap:40px 56px}
.wine-card{flex:1 1 460px;min-width:0;display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding-top:28px;border-top:1px solid var(--rule)}
.wine-card .fig{flex:0 0 clamp(160px,18vw,220px)}
.wine-card .fig img{aspect-ratio:720/1350;height:auto}
.wine-card-text{flex:1 1 240px;min-width:0}
.wine-card h2{margin-top:6px;font-weight:500;font-size:clamp(32px,3vw,42px)}
.wine-card .it{margin-top:8px;font-size:24px;color:var(--ink-2)}

/* wine page */
.wine-hero{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:center}
.wine-hero .fig{flex:0 1 420px;min-width:0}
.wine-hero .fig img{aspect-ratio:720/1350;width:100%;height:auto;max-height:760px;object-fit:cover}
.wine-hero-text{flex:1 1 420px;min-width:0}
.notes4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 28px;margin-top:32px;padding-top:24px;border-top:1px solid var(--rule)}
.notes4 dt{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.15;color:var(--ink)}
.notes4 dd{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:18px;color:var(--accent)}
.pairs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px 40px}
.pairs li{padding-top:18px;border-top:1px solid var(--rule)}
.pairs .pn{font-family:var(--display);font-weight:300;font-size:44px;line-height:1;color:var(--num)}
.pairs h3{margin-top:8px;font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:.06em;text-transform:uppercase;line-height:1.15}
.pairs p{margin-top:6px;font-style:italic;color:var(--ink-2)}

/* FAQ (accordion; open by default without JavaScript) */
.acc{border-top:1px solid var(--rule)}
.acc-item{border-bottom:1px solid var(--rule-soft)}
.acc-item h3{margin:0}
.acc-item button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,30px);letter-spacing:.04em;color:var(--ink)}
.acc-item button::after{content:"+";font-family:var(--display);font-weight:300;font-size:40px;line-height:1;color:var(--accent);transition:transform .25s}
.acc-item.open button::after{transform:rotate(45deg)}
.acc-panel{padding:0 0 24px;max-width:820px;color:var(--ink-2)}
.js .acc-item:not(.open) .acc-panel{display:none}

/* ---------- the Journal ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 40px}
.card{display:flex;flex-direction:column;min-width:0}
.card a.card-img{display:block;line-height:0}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .sc{margin-top:16px;font-size:18px}
.card h3{margin-top:4px;font-family:var(--display);font-weight:500;font-size:30px;line-height:1.15;text-wrap:balance}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--accent)}
.card p.quiet{margin-top:10px;font-style:italic;font-size:18px;line-height:1.5}
.card .go{margin-top:14px;align-self:flex-start}
.feature{display:flex;flex-wrap:wrap;gap:36px 64px;align-items:center}
.feature .fig{flex:1.4 1 520px;min-width:0}
.feature-text{flex:1 1 360px;min-width:0}
.feature-text h2{margin-top:8px;font-family:var(--display);font-weight:500;font-size:clamp(36px,3.6vw,52px);line-height:1.1;text-wrap:balance}
.feature-text h2 a{color:var(--ink);text-decoration:none}
.feature-text h2 a:hover{color:var(--accent)}
.feature-text p.quiet{margin-top:14px;font-style:italic;font-size:21px}
.jl{list-style:none;padding:0;border-top:1px solid var(--rule)}
.jl li{border-bottom:1px solid var(--rule-soft)}
.jl a{display:flex;align-items:center;gap:16px;padding:18px 0;text-decoration:none;color:var(--ink)}
.jl a:hover .jl-t{color:var(--accent)}
.jl-l{min-width:0}
.jl-c{display:block;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:17px;color:var(--accent)}
.jl-t{display:block;font-family:var(--display);font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.2}
.jl-s{display:block;margin-top:4px;font-style:italic;font-size:18px;line-height:1.45;color:var(--ink-2)}
.jl-d{flex:1 1 20px;min-width:20px;border-bottom:1px dotted var(--dots)}
.jl-m{font-variant-caps:all-small-caps;letter-spacing:.16em;font-size:17px;color:var(--ink-3);white-space:nowrap}

/* an article */
.art-head{max-width:880px;margin:0 auto;text-align:center}
.art-head h1{margin-top:10px;font-family:var(--display);font-weight:500;font-size:clamp(40px,5.4vw,72px);line-height:1.06;letter-spacing:.01em;text-wrap:balance}
.art-head .dek{margin-top:20px;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.3;color:var(--ink-2);text-wrap:balance}
.art-head .by{margin-top:22px;font-size:18px;color:var(--ink-3)}
.art-wl{width:min(220px,40%);height:2px;margin:28px auto 0;background:var(--wl)}
.art-hero{margin-top:clamp(36px,4vw,56px)}
.art-hero img{width:100%;height:clamp(280px,42vw,600px);object-fit:cover}
.prose{max-width:700px;margin:clamp(40px,5vw,64px) auto 0;font-size:21px;line-height:1.7}
.prose>*+*{margin-top:1.05em}
.prose>p:first-of-type::first-letter{float:left;font-family:var(--display);font-weight:600;font-size:92px;line-height:.78;padding:9px 12px 0 0;color:var(--drop)}
.prose h2{margin-top:1.8em;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(30px,3vw,38px);line-height:1.2;color:var(--ink);text-wrap:balance}
.prose h3{margin-top:1.6em;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:22px;font-weight:400;color:var(--accent)}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--accent)}
.prose blockquote{padding-left:24px;border-left:2px solid var(--wl);font-family:var(--display);font-style:italic;font-weight:500;font-size:26px;line-height:1.35;color:var(--ink-2)}
.prose strong{font-weight:600;color:var(--ink)}
.prose .sources{margin-top:2.6em;padding-top:20px;border-top:1px solid var(--rule)}
.prose .sources h2{margin-top:0;font-family:var(--text);font-style:normal;font-weight:400;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;color:var(--ink-3)}
.prose .sources ul{margin-top:10px;font-size:17px;line-height:1.5;color:var(--ink-3)}
.prose .sources a{color:var(--ink-2)}
.art-foot{max-width:700px;margin:clamp(48px,5vw,72px) auto 0;padding-top:24px;border-top:4px double var(--rule-hard);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}

/* ---------- visit: the inquiry form ---------- */
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 32px}
.form .full{grid-column:1/-1}
.field label,.field .lbl{display:block;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;color:var(--ink-2)}
.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;min-height:50px;border:1px solid var(--field-line);border-radius:0;background:var(--field-bg);color:var(--ink);font:inherit;font-size:20px}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.field select option{background:var(--bg-deep);color:var(--ink)}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.field .err{display:none;margin-top:6px;font-style:italic;font-size:17px;color:var(--bad)}
.field-f.bad .err{display:block}
.field-f.bad input,.field-f.bad textarea,.field-f.bad select{border-color:var(--bad)}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:22px;height:22px;min-height:0;margin:4px 0 0;flex:0 0 auto;accent-color:var(--accent)}
.check label{font-variant-caps:normal;letter-spacing:0;font-size:19px;color:var(--ink)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.status{display:none;margin-top:6px;padding:14px 18px;border:1px solid var(--rule);font-style:italic}
.status.ok{display:block;border-color:var(--ok);color:var(--ok)}
.status.bad{display:block;border-color:var(--bad);color:var(--bad)}
.notes3{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px 40px}
.notes3 li{padding-top:18px;border-top:1px solid var(--rule)}
.notes3 .pn{font-family:var(--display);font-weight:300;font-size:56px;line-height:1;color:var(--num)}
.notes3 h3{margin-top:10px;font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:.08em;text-transform:uppercase}
.notes3 p{margin-top:6px;color:var(--ink-2)}

/* ---------- footer ---------- */
.ft{padding:48px 0 40px;margin-top:var(--gap)}
.ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding-top:36px;border-top:1px solid var(--rule)}
.ft-mark{width:84px;height:auto}
.ft-nav{display:flex;flex-wrap:wrap;gap:2px 28px}
.ft-nav a{font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:19px;color:var(--ink);text-decoration:none}
.ft-nav a:hover{color:var(--accent)}
.ft-nav .ft-mail{color:var(--accent)}
.ft-line{margin-top:28px;padding-top:18px;border-top:4px double var(--rule-hard);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;font-style:italic;font-size:17px;color:var(--ink-3)}
.ft-line a{color:var(--ink-3)}

/* ---------- the age gate ---------- */
.ag{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-deep)}
.ag[hidden]{display:none}
.ag-box{max-width:620px;text-align:center}
.ag-box img{width:min(460px,86vw);margin:0 auto}
.ag-box h2{margin-top:36px;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(28px,3vw,36px);color:var(--ink)}
.ag-box p{margin-top:12px;color:var(--ink-2)}
.ag-box .btns{justify-content:center}
.ag-no{margin-top:22px;font-style:italic;color:var(--ink-3)}

/* ---------- reveal on scroll (only with JavaScript, never with reduced motion) ---------- */
.js [data-r]{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.js [data-r].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-r]{opacity:1;transform:none;transition:none}}

/* ---------- small screens ---------- */
@media (max-width:600px){
  body{font-size:19px}
  .lede,.ph-lede{font-size:20px}
  .drop::first-letter{font-size:72px}
  .cols2{text-align:left;hyphens:manual}
  .ledger-row .k{font-size:18px}
  .ledger-row .v{font-size:24px}
  .prose{font-size:20px}
  .prose>p:first-of-type::first-letter{font-size:78px}
  .btn{padding:0 24px}
  .jl-d,.jl-m,.ix-d{display:none}
}

@media print{
  .hd-nav,.menu-btn,.ag,.btns,.btn{display:none!important}
  body{background:#fff;color:#000}
}

/* ---------- long reflected headings stay on one line on phones ---------- */
.rf--long .t{font-size:clamp(20px,4.2vw,56px)}
.rf--sm.rf--long .t{font-size:clamp(20px,3vw,44px)}
.rf--page.rf--long .t{font-size:clamp(26px,6.2vw,72px)}

/* ---------- small utilities ---------- */
.mt-1{margin-top:16px}
.mt-2{margin-top:32px}
.mt-3{margin-top:48px}
.mt-4{margin-top:64px}
.grow-s{flex:1 1 240px;min-width:0}
.it-xl{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(26px,2.4vw,32px);line-height:1.3;color:var(--ink-2)}
.italic{font-style:italic}
.btns--c{justify-content:center}
@media (min-width:900px){.split--rev{flex-direction:row-reverse}}
.band-cta{text-align:center}
.band-cta h2{margin-top:10px;font-weight:500;font-size:clamp(34px,4vw,56px)}
.band-cta .lede{margin:16px auto 0;max-width:620px;color:var(--ink-2)}
main:has(> .band:last-child) + .ft{margin-top:0}
[data-theme="light"] .band{--bg-deep:#1E2838}
