/* ═══════════════════════════════════════════════════════════════
   A Pinch of Salt — HOME page sections (scoped .ct-page.page-home)
   ═══════════════════════════════════════════════════════════════ */

/* intro / hero ribbon */
.ct-page.page-home .intro{
  padding:120px var(--pad) 60px;text-align:center;
  background:
    radial-gradient(ellipse 80% 50% at 80% 100%, rgba(125,148,108,0.18), transparent 60%),
    radial-gradient(ellipse 60% 40% at 10% 0%, rgba(232,200,140,0.16), transparent 60%),
    var(--cream);
  position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;
}
.ct-page.page-home .intro .wordmark{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(56px,9vw,140px);line-height:0.95;letter-spacing:-0.02em;color:var(--ink);margin:auto auto 0}
.ct-page.page-home .intro .wordmark b{font-style:normal;font-weight:400;color:var(--sage-deep)}
.ct-page.page-home .intro .wordmark em{font-style:italic}
.ct-page.page-home .intro .sub,.ct-page.page-home .intro .sub p{margin:32px auto 0;max-width:48ch;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--ink-soft)}
.ct-page.page-home .intro .sub em{font-style:italic}
.ct-page.page-home .intro .meta{margin:50px auto 0;display:inline-flex;flex-wrap:wrap;gap:18px 32px;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--sage-deep)}
.ct-page.page-home .intro .meta span:not(:last-child)::after{content:"·";margin-left:32px;color:var(--ink);opacity:0.3}
.ct-page.page-home .intro .scroll-cue{margin:auto auto 0;display:flex;width:fit-content;align-items:center;justify-content:center;gap:14px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,30px);letter-spacing:-0.005em;color:var(--sage-deep);text-decoration:none;transition:color .25s,transform .25s;cursor:pointer}
.ct-page.page-home .intro .scroll-cue:hover{color:var(--ink);transform:translateY(2px)}
.ct-page.page-home .intro .scroll-cue .arrow{display:inline-block;font-style:normal;font-family:var(--sans);font-size:0.85em;line-height:1;animation:cue-bob 2.2s ease-in-out infinite}
@keyframes cue-bob{0%,100%{transform:translateY(0);opacity:0.85}50%{transform:translateY(6px);opacity:1}}

/* the choice — two doors */
.ct-page.page-home .choice{display:grid;grid-template-columns:1fr 1fr;position:relative}
.ct-page.page-home .choice::before{content:"";position:absolute;left:50%;top:60px;bottom:60px;width:1px;background:linear-gradient(to bottom,transparent,rgba(27,30,24,0.18),transparent);z-index:3;pointer-events:none}
@media (max-width:900px){.ct-page.page-home .choice{grid-template-columns:1fr}.ct-page.page-home .choice::before{display:none}}
.ct-page.page-home .choice > .elementor-element{display:flex}
.ct-page.page-home .choice .elementor-widget-container{display:flex;width:100%}
.ct-page.page-home .door{position:relative;overflow:hidden;width:100%;min-height:min(760px,92vh);padding:clamp(56px,7vw,110px) clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.ct-page.page-home .door::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,0.05));pointer-events:none;z-index:1}
.ct-page.page-home .door > *{position:relative;z-index:2}
.ct-page.page-home .door-chef{background:radial-gradient(ellipse 60% 50% at 80% 100%, rgba(125,148,108,0.30), transparent 70%),radial-gradient(ellipse 50% 40% at 10% 0%, rgba(232,200,140,0.22), transparent 60%),var(--cream);color:var(--ink)}
.ct-page.page-home .door-chef:hover{background:radial-gradient(ellipse 80% 60% at 80% 100%, rgba(125,148,108,0.38), transparent 70%),radial-gradient(ellipse 50% 40% at 10% 0%, rgba(232,200,140,0.26), transparent 60%),var(--cream)}
.ct-page.page-home .door-club{background:radial-gradient(ellipse 70% 50% at 20% 0%, rgba(232,200,140,0.14), transparent 60%),rgb(0,33,18);color:var(--paper)}
.ct-page.page-home .door-club:hover{background:radial-gradient(ellipse 80% 60% at 20% 0%, rgba(232,200,140,0.20), transparent 60%),rgb(0,33,18)}
.ct-page.page-home .door-art{position:absolute;pointer-events:none;z-index:0}
.ct-page.page-home .art-canvas{right:-120px;top:50%;transform:translateY(-50%);width:520px;height:520px;border:1px dashed rgba(76,99,66,0.30);border-radius:50%;transition:transform .8s ease}
.ct-page.page-home .art-canvas::before{content:"";position:absolute;inset:50px;border:1px dashed rgba(76,99,66,0.22);border-radius:50%}
.ct-page.page-home .art-canvas::after{content:"";position:absolute;inset:110px;border:1px dashed rgba(76,99,66,0.16);border-radius:50%}
.ct-page.page-home .door-chef:hover .art-canvas{transform:translateY(-50%) rotate(15deg) scale(1.05)}
.ct-page.page-home .art-club{left:-100px;top:50%;transform:translateY(-50%);width:520px;height:520px;background:radial-gradient(circle at 50% 50%, rgba(232,200,140,0.32) 0 3%, rgba(232,200,140,0.14) 4% 10%, rgba(232,200,140,0.04) 11% 20%, transparent 21%);filter:blur(1px);transition:transform .8s ease,filter .8s ease}
.ct-page.page-home .door-club:hover .art-club{transform:translateY(-50%) scale(1.1);filter:blur(0.5px)}
.ct-page.page-home .door-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.ct-page.page-home .door-num{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;opacity:0.7}
.ct-page.page-home .door-label{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;padding:6px 12px;border:1px solid currentColor;border-radius:999px;opacity:0.55}
.ct-page.page-home .door-chef .door-label{color:var(--sage-deep);border-color:rgba(76,99,66,0.45);opacity:1}
.ct-page.page-home .door-club .door-label{color:var(--gold-soft);border-color:rgba(232,200,140,0.45);opacity:1}
.ct-page.page-home .door-mid{max-width:24ch}
.ct-page.page-home .door h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.5vw,84px);line-height:0.98;letter-spacing:-0.015em;margin-top:38px}
.ct-page.page-home .door h2 em{font-style:italic}
.ct-page.page-home .door-chef h2 em{color:var(--sage-deep)}
.ct-page.page-home .door-club h2{color:var(--paper)}
.ct-page.page-home .door-club h2 em{color:var(--gold-soft)}
.ct-page.page-home .door-desc{margin-top:30px;max-width:36ch;line-height:1.6;font-size:16px}
.ct-page.page-home .door-chef .door-desc{color:var(--ink-soft)}
.ct-page.page-home .door-club .door-desc{color:rgba(251,248,242,0.8)}
.ct-page.page-home .door-bullets{margin-top:28px;display:grid;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase}
.ct-page.page-home .door-chef .door-bullets{color:var(--sage-deep)}
.ct-page.page-home .door-club .door-bullets{color:var(--gold-soft)}
.ct-page.page-home .door-bullets div{display:flex;gap:14px;align-items:flex-start}
.ct-page.page-home .door-bullets div::before{content:"—";opacity:0.55}
.ct-page.page-home .door-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:60px}
.ct-page.page-home .door-cta{display:inline-flex;align-items:center;gap:14px;padding:16px 22px;border:1px solid currentColor;font-family:var(--sans);font-size:13px;letter-spacing:0.12em;text-transform:uppercase;transition:background .3s,color .3s,gap .3s,border-color .3s}
.ct-page.page-home .door-cta .arrow{width:22px;height:1px;background:currentColor;position:relative;transition:width .3s}
.ct-page.page-home .door-cta .arrow::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.ct-page.page-home .door-chef .door-cta{color:var(--ink);border-color:var(--ink)}
.ct-page.page-home .door-chef .door-cta:hover{background:var(--ink);color:var(--cream);gap:20px}
.ct-page.page-home .door-club .door-cta{color:var(--gold-soft);border-color:var(--gold-soft)}
.ct-page.page-home .door-club .door-cta:hover{background:var(--gold);color:var(--moss-darkest);border-color:var(--gold);gap:20px}
.ct-page.page-home .door-cta:hover .arrow{width:32px}
.ct-page.page-home .pivot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:64px;height:64px;border-radius:50%;background:var(--paper);border:1px solid rgba(27,30,24,0.15);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--sage-deep);box-shadow:0 8px 30px rgba(27,30,24,0.10)}
/* In Elementor each widget sits in its own grid cell that becomes the
   positioning context — lift the pivot's WRAPPER out of grid flow so the
   circle centres on .choice (not on the chef-door cell). */
.ct-page.page-home .choice .pivot-wrap,
.ct-page.page-home .choice .elementor-widget-html:has(.pivot){position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:auto}
.ct-page.page-home .choice .pivot-wrap .pivot,
.ct-page.page-home .choice .elementor-widget-html:has(.pivot) .pivot{position:static;left:auto;top:auto;transform:none}
@media (max-width:900px){.ct-page.page-home .pivot,.ct-page.page-home .choice .pivot-wrap,.ct-page.page-home .choice .elementor-widget-html:has(.pivot){display:none}}

/* host note */
.ct-page.page-home .note{background:var(--paper);border-top:1px solid rgba(27,30,24,0.08);border-bottom:1px solid rgba(27,30,24,0.08);padding:clamp(60px,8vw,110px) 0}
.ct-page.page-home .note-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
@media (max-width:900px){.ct-page.page-home .note-grid{grid-template-columns:1fr;gap:30px}}
.ct-page.page-home .note h2{font-family:var(--serif);font-size:clamp(32px,3.6vw,52px);font-weight:300;line-height:1.05;margin-top:18px}
.ct-page.page-home .note h2 em{font-style:italic;color:var(--sage-deep)}
.ct-page.page-home .note p{color:var(--ink-soft);line-height:1.7;margin-bottom:20px;max-width:58ch}
.ct-page.page-home .note .signature{margin-top:30px;display:flex;align-items:baseline;gap:16px;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--sage-deep)}
.ct-page.page-home .note .signature .small{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-soft);font-style:normal}
.ct-page.page-home .chef-portrait{margin-top:36px;aspect-ratio:4/5;max-width:380px;background:repeating-linear-gradient(45deg, rgba(76,99,66,0.10) 0 2px, transparent 2px 16px),linear-gradient(160deg, var(--cream-2), var(--cream-3));border:1px solid rgba(27,30,24,0.12);display:flex;align-items:flex-end;padding:18px;position:relative;overflow:hidden}
.ct-page.page-home .chef-portrait::before{content:"";position:absolute;inset:10px;border:1px solid rgba(253,246,228,0.55);pointer-events:none}
.ct-page.page-home .chef-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-page.page-home .chef-portrait .tag{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);background:rgba(253,246,228,0.9);padding:5px 10px}

/* atmosphere strip */
.ct-page.page-home .atmosphere{background:var(--cream);padding:clamp(60px,7vw,100px) 0}
.ct-page.page-home .atmosphere .container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
@media (max-width:760px){.ct-page.page-home .atmosphere .container{grid-template-columns:1fr}}
.ct-page.page-home .atmosphere .frame{aspect-ratio:4/5;display:flex;align-items:flex-end;padding:18px;position:relative;overflow:hidden}
.ct-page.page-home .atmosphere .frame::before{content:"";position:absolute;inset:12px;border:1px solid rgba(251,248,242,0.4);pointer-events:none}
.ct-page.page-home .atmosphere .frame .tag{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;padding:5px 10px}
.ct-page.page-home .frame-1{background:repeating-linear-gradient(45deg, rgba(76,99,66,0.10) 0 2px, transparent 2px 16px),linear-gradient(135deg, var(--cream-2), var(--cream-3));border:1px solid rgba(27,30,24,0.08)}
.ct-page.page-home .frame-1 .tag{color:var(--ink);background:rgba(253,246,228,0.85)}
.ct-page.page-home .frame-2{background:repeating-linear-gradient(45deg, rgba(232,200,140,0.10) 0 2px, transparent 2px 16px),linear-gradient(135deg, var(--moss), var(--moss-darkest));border:1px solid rgba(232,200,140,0.18)}
.ct-page.page-home .frame-2 .tag{color:var(--gold-soft);background:rgba(0,0,0,0.55)}
.ct-page.page-home .frame-3{background:repeating-linear-gradient(45deg, rgba(76,99,66,0.08) 0 2px, transparent 2px 16px),linear-gradient(135deg, var(--cream-2), var(--sage));border:1px solid rgba(27,30,24,0.1)}
.ct-page.page-home .frame-3 .tag{color:var(--ink);background:rgba(253,246,228,0.85)}
