@font-face{
  font-family:'Inter';
  src:url('/fonts/InterVariable.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap
}
@font-face{
  font-family:'Inter';
  src:url('/fonts/InterVariable-Italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap
}

:root{
  --white:#FFFFFF; --ink:#111110;
  --font:"neue-haas-grotesk-display","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pad:clamp(1.25rem,4.2vw,5rem); --wrap:84rem; --hair:1px;
  --ease:cubic-bezier(.22,1,.36,1); --swap:.8s var(--ease);
  --fs-h1:clamp(1.9rem,3.8vw,3.2rem);
  --fs-h2:clamp(1.3rem,2.2vw,1.85rem);
  --fs-h3:clamp(1.02rem,1.5vw,1.22rem);
  --fs-body:clamp(.94rem,1.02vw,1.0625rem);
  --fs-body-s:clamp(.86rem,.95vw,.97rem);
  --fs-small:.82rem; --fs-micro:.72rem; --fs-label:.62rem; --fs-nano:.56rem;
}
body{
  --bg:#FFFFFF; --fg:#15100B; --fg-soft:rgba(21,16,11,.58);
  --rule:rgba(117,99,82,.28); --accent:#756352;
  --btn-bg:#15100B; --btn-fg:#FFFFFF; --btn-hover:#756352;
  --tint:#F4EBE3; --tint-2:#E6D4C5;
}
body.path-w{
  --fg:#111110; --fg-soft:rgba(23,15,8,.60);
  --rule:rgba(157,134,112,.38); --accent:#99724B;
  --btn-bg:#111110; --btn-fg:#F8EBE2; --btn-hover:#99724B;
  --tint:#F8EBE2; --tint-2:#F2E0D3;
}
body.path-m{
  --fg:#111110; --fg-soft:rgba(17,17,16,.58);
  --rule:rgba(48,46,45,.24); --accent:#4F4236;
  --btn-bg:#111110; --btn-fg:#FFFFFF; --btn-hover:#4F4236;
  --tint:#E5E3E1; --tint-2:#C0BBB6;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{color-scheme:only light;background:var(--white);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;
  background:var(--bg);color:var(--fg);font-family:var(--font);
  font-size:var(--fs-body);line-height:1.55;letter-spacing:-.011em;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
  transition:color var(--swap)}
main{flex:1}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
a{color:inherit;text-decoration:none}
::selection{background:var(--fg);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.label{font-size:var(--fs-label);font-weight:500;text-transform:uppercase;letter-spacing:.26em;color:var(--fg-soft);margin:0}
.h1{font-size:var(--fs-h1);font-weight:500;line-height:1.06;letter-spacing:-.035em;margin:.5rem 0 0}
.h2{font-size:var(--fs-h2);font-weight:500;line-height:1.15;letter-spacing:-.03em;margin:0}
.h3{font-size:var(--fs-h3);font-weight:500;letter-spacing:-.02em;margin:0}
.muted{color:var(--fg-soft)}
.micro{font-size:var(--fs-micro);color:var(--fg-soft)}

.nav{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:var(--hair) solid var(--rule);transition:border-color var(--swap)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.2rem}
.brand{display:flex;align-items:center;gap:.7rem;font-size:var(--fs-body-s);font-weight:500}
.brand__mark{width:2rem;height:2rem;border-radius:24%;overflow:hidden;flex:0 0 auto;
  background:linear-gradient(135deg,#E8DBD1 0%,#99897A 52%,#493622 100%)}
.brand__mark img{width:80%;height:80%;margin:10%}
.nav__back{font-size:var(--fs-small);color:var(--fg-soft);border-bottom:var(--hair) solid transparent;transition:color .3s ease,border-color .3s ease}
.nav__back:hover{color:var(--fg);border-bottom-color:var(--fg)}

.top{padding-block:clamp(1.8rem,5vh,3rem) clamp(1.2rem,3vh,2rem)}
.top__row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.top p{margin:.8rem 0 0;color:var(--fg-soft);font-size:var(--fs-body-s);max-width:52ch}

.ring{display:flex;align-items:center;gap:.9rem}
.ring svg{width:3.6rem;height:3.6rem;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:2}
.ring .t{stroke:var(--rule)}
.ring .v{stroke:var(--accent);stroke-dasharray:100 100;stroke-dashoffset:100;transition:stroke-dashoffset .7s var(--ease)}
.ring b{display:block;font-size:var(--fs-body-s);font-weight:500}
.ring span{display:block;font-size:var(--fs-micro);color:var(--fg-soft)}

.rail{list-style:none;margin:clamp(1.8rem,4vh,2.8rem) 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));--gap:clamp(.7rem,1.6vw,1.4rem);--dot:2.1rem;gap:var(--gap)}
.rail li{position:relative;padding-top:calc(var(--dot) + .9rem);min-width:0}
.rail li::before{content:"";position:absolute;top:calc(var(--dot) / 2 - var(--hair) / 2);
  left:var(--dot);right:calc(-1 * var(--gap));height:var(--hair);background:var(--rule);
  transition:background-color .45s var(--ease)}
.rail li:last-child::before{display:none}
.rail li.is-done::before{background:var(--accent)}
.rail button{position:relative;display:block;width:100%;text-align:left;background:none;border:0;padding:0;
  cursor:default;color:inherit}
.rail li.is-done button{cursor:pointer}
.rail li.is-done button:hover b{color:var(--accent)}
.rail .dot{position:absolute;top:calc(-1 * (var(--dot) + .9rem));left:0;width:var(--dot);height:var(--dot);
  display:grid;place-items:center;border:var(--hair) solid var(--rule);background:var(--bg);
  font-size:var(--fs-micro);font-variant-numeric:tabular-nums;
  transition:background-color .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),transform .45s var(--ease)}
.rail .dot svg{width:.75rem;height:.75rem;stroke:currentColor;stroke-width:2.2;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.rail li.is-on .dot{background:var(--fg);border-color:var(--fg);color:var(--bg);transform:scale(1.06)}
.rail li.is-done .dot{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.rail b{display:block;font-size:var(--fs-body-s);font-weight:500;letter-spacing:-.015em;color:var(--fg-soft);transition:color .4s ease}
.rail li.is-on b,.rail li.is-done b{color:var(--fg)}
.rail .sub{display:block;margin-top:.15rem;font-size:var(--fs-micro);color:var(--fg-soft);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){
  .rail{--dot:1.8rem;--gap:.5rem}
  .rail .sub{display:none}
  .rail b{font-size:var(--fs-micro);line-height:1.25}
}
@media (max-width:520px){
  .rail{--dot:1.7rem;--gap:.4rem}
}

.cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,3.5vw,3.5rem);
  padding-block:clamp(1.6rem,4vh,2.6rem) clamp(3rem,8vh,5rem);align-items:start}
@media (max-width:980px){.cols{grid-template-columns:minmax(0,1fr)}}

.step{display:none}
.step.is-on{display:block;animation:rise .55s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.step__head{max-width:56ch;margin-bottom:clamp(1.2rem,3vh,1.8rem)}
.step__head p{margin:.6rem 0 0;color:var(--fg-soft);font-size:var(--fs-body-s)}

.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hair);background:var(--rule);
  border:var(--hair) solid var(--rule);margin-bottom:1.6rem}
@media (max-width:600px){.choices{grid-template-columns:1fr}}
.choice{position:relative;background:var(--bg);border:0;padding:clamp(1.1rem,2.4vw,1.5rem);text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:.4rem;transition:background-color .4s var(--ease)}
.choice:hover,.choice[aria-pressed="true"]{background:var(--tint)}
.choice[aria-pressed="true"]::after{content:"";position:absolute;inset:0;border:2px solid var(--fg);pointer-events:none}
.choice em{font-style:normal;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.22em;color:var(--fg-soft)}
.choice b{font-size:var(--fs-h3);font-weight:500}
.choice .who{font-size:var(--fs-micro);color:var(--fg-soft)}

.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}
.fields--1{grid-template-columns:minmax(0,1fr)}
@media (max-width:620px){.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field--wide{grid-column:1 / -1}
.field > label{font-size:var(--fs-small);font-weight:500}
.field .hint{font-size:var(--fs-micro);color:var(--fg-soft)}
.in{width:100%;padding:.78rem .85rem;background:var(--bg);color:var(--fg);border:var(--hair) solid var(--rule);
  transition:border-color .3s ease,box-shadow .3s ease}
.in:hover{border-color:var(--accent)}
.in:focus{outline:none;border-color:var(--fg);box-shadow:inset 0 -2px 0 var(--fg)}
textarea.in{min-height:10rem;resize:vertical;line-height:1.6}
select.in{appearance:none;padding-right:2.2rem;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 1.1rem) 1.2rem,calc(100% - .78rem) 1.2rem;background-size:.34rem .34rem;background-repeat:no-repeat}
.field.is-bad .in{border-color:#9B3547;box-shadow:inset 0 -2px 0 #9B3547}
.err{font-size:var(--fs-micro);color:#9B3547}

.set{border:var(--hair) solid var(--rule);padding:clamp(1rem,2.2vw,1.4rem);margin-top:1.2rem}
.set h3{margin-bottom:.2rem}
.set > p{margin:0 0 1rem;font-size:var(--fs-micro);color:var(--fg-soft)}
.rows{display:grid;grid-template-columns:1.1fr repeat(2,minmax(0,1fr)) 5.4rem;gap:.5rem .7rem;align-items:center}
.rows > i{font-style:normal;font-size:var(--fs-nano);text-transform:uppercase;letter-spacing:.16em;color:var(--fg-soft)}
.rows label{font-size:var(--fs-body-s)}
.rows .in{padding:.55rem .6rem}
.delta{font-size:var(--fs-body-s);font-weight:500;text-align:right;font-variant-numeric:tabular-nums;color:var(--fg-soft)}
.delta.is-set{color:var(--accent)}
@media (max-width:620px){
  .rows{grid-template-columns:1fr 1fr}
  .rows > i{display:none}
  .rows label{grid-column:1 / -1;margin-top:.45rem;font-size:var(--fs-micro);color:var(--fg-soft)}
  .delta{grid-column:1 / -1;text-align:left}
}

.drops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:620px){.drops{grid-template-columns:1fr}}
.drop{position:relative;border:var(--hair) dashed var(--rule);background:none;cursor:pointer;width:100%;
  padding:0;overflow:hidden;transition:border-color .3s ease,background-color .3s ease}
.drop:hover,.drop.is-over{border-color:var(--fg);background:var(--tint)}
.drop__in{display:grid;place-content:center;gap:.3rem;aspect-ratio:9/16;max-height:17rem;padding:1rem;text-align:center}
.drop__in b{font-weight:500;font-size:var(--fs-body-s)}
.drop__in span{font-size:var(--fs-micro);color:var(--fg-soft)}
.drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.drop__tag{position:absolute;left:0;top:0;padding:.3rem .55rem;background:var(--ink);color:#fff;
  font-size:var(--fs-nano);text-transform:uppercase;letter-spacing:.16em;z-index:2}
.drop__x{position:absolute;right:.4rem;top:.4rem;width:1.7rem;height:1.7rem;border:0;cursor:pointer;
  background:var(--ink);color:#fff;font-size:.9rem;line-height:1;z-index:3}
.drop__edit{position:absolute;right:.4rem;bottom:.4rem;z-index:3;border:0;cursor:pointer;
  padding:.4rem .6rem;background:var(--ink);color:#fff;font-size:var(--fs-nano);
  text-transform:uppercase;letter-spacing:.14em}
.drop__edit:hover{background:var(--btn-hover)}

.ed{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:clamp(.8rem,3vw,2rem);
  background:rgba(17,17,16,.72);animation:fade .3s var(--ease) both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.ed__box{background:var(--bg);width:min(60rem,100%);max-height:100%;overflow:auto;
  border:var(--hair) solid var(--rule);display:flex;flex-direction:column}
.ed__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem clamp(1rem,2.4vw,1.4rem);border-bottom:var(--hair) solid var(--rule)}
.ed__head b{font-weight:500;font-size:var(--fs-body-s)}
.ed__x{border:0;background:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:.2rem .4rem;color:var(--fg-soft)}
.ed__x:hover{color:var(--fg)}
.ed__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:clamp(1rem,2.4vw,1.6rem);
  padding:clamp(1rem,2.4vw,1.4rem)}
@media (max-width:760px){
  .ed__body{grid-template-columns:minmax(0,1fr)}
  .ed__stage{width:fit-content;max-width:100%}
  .ed__stage canvas{height:40vh;width:auto;max-width:100%}
  .ed__frame{position:sticky;top:3.2rem;z-index:1;background:var(--bg);padding-bottom:.5rem}
}
.ed__stage{position:relative;justify-self:center;width:100%;max-width:19rem;background:var(--tint);
  touch-action:none;cursor:grab;overflow:hidden}
.ed__stage.is-blur{cursor:crosshair}
.ed__stage:active{cursor:grabbing}
.ed__stage canvas{display:block;width:100%;height:auto}
.ed__hint{margin:.5rem 0 0;font-size:var(--fs-micro);color:var(--fg-soft);text-align:center}
.ed__tools{display:flex;flex-direction:column;gap:1rem;min-width:0}
.ed__tool{display:flex;flex-direction:column;gap:.35rem}
.ed__tool label{font-size:var(--fs-small);font-weight:500}
.ed__tool span{font-size:var(--fs-micro);color:var(--fg-soft)}
.ed__range{width:100%;accent-color:var(--fg)}
.ed__modes{display:grid;grid-template-columns:1fr 1fr;gap:var(--hair);background:var(--rule);border:var(--hair) solid var(--rule)}
.ed__modes button{background:var(--bg);border:0;cursor:pointer;padding:.6rem .5rem;font-size:var(--fs-micro);
  letter-spacing:.04em;transition:background-color .3s ease}
.ed__modes button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.ed__mini{border:var(--hair) solid var(--rule);background:none;cursor:pointer;padding:.5rem .7rem;
  font-size:var(--fs-micro);color:var(--fg-soft);transition:border-color .3s ease,color .3s ease}
.ed__mini:hover{border-color:var(--fg);color:var(--fg)}
.ed__foot{position:sticky;bottom:0;z-index:2;display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap;
  padding:.9rem clamp(1rem,2.4vw,1.4rem);border-top:var(--hair) solid var(--rule);background:var(--bg)}
.ed__head{position:sticky;top:0;z-index:2;background:var(--bg)}

.extra{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem;align-items:center}
.extra__thumb{position:relative;width:4.6rem;aspect-ratio:9/16;border:var(--hair) solid var(--rule);overflow:hidden}
.extra__thumb img{width:100%;height:100%;object-fit:cover}
.extra__add{border:var(--hair) dashed var(--rule);background:none;cursor:pointer;padding:.55rem .8rem;
  font-size:var(--fs-micro);color:var(--fg-soft)}
.extra__add:hover{border-color:var(--fg);color:var(--fg)}

.count{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-micro);color:var(--fg-soft)}
.prompts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.prompt{border:var(--hair) solid var(--rule);background:none;cursor:pointer;padding:.35rem .65rem;
  font-size:var(--fs-micro);color:var(--fg-soft);transition:border-color .3s ease,color .3s ease}
.prompt:hover{border-color:var(--fg);color:var(--fg)}

.consent{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem 0;border-top:var(--hair) solid var(--rule)}
.consent:first-of-type{border-top:0}
.consent input{margin-top:.25rem;width:1.05rem;height:1.05rem;accent-color:var(--fg);flex:0 0 auto}
.consent span{font-size:var(--fs-body-s);line-height:1.5}
.consent a{border-bottom:var(--hair) solid var(--rule)}

.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin-top:clamp(1.5rem,3.5vh,2.2rem);padding-top:1.2rem;border-top:var(--hair) solid var(--rule)}
.btn{position:relative;display:inline-flex;align-items:center;gap:.7rem;padding:.95rem 1.5rem;
  background:var(--btn-bg);color:var(--btn-fg);border:0;cursor:pointer;overflow:hidden;isolation:isolate;
  font-size:var(--fs-small);letter-spacing:.08em;text-transform:uppercase}
.btn::before{content:"";position:absolute;inset:0;background:var(--btn-hover);transform:scaleY(0);transform-origin:bottom;
  transition:transform .5s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:scaleY(1)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn--ghost{background:none;color:var(--fg);border:var(--hair) solid var(--rule)}
.btn--ghost::before{background:var(--tint)}
.saved{font-size:var(--fs-micro);color:var(--fg-soft)}

.side{position:sticky;top:5.4rem}
@media (max-width:980px){.side{position:static;margin-top:2rem}}
.card{border:var(--hair) solid var(--rule);background:var(--bg);overflow:hidden;transition:border-color var(--swap)}
.card__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem .9rem;border-bottom:var(--hair) solid var(--rule)}
.card__top span{font-size:var(--fs-nano);text-transform:uppercase;letter-spacing:.2em;color:var(--fg-soft)}
.card__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--hair);background:var(--rule)}
.card__half{position:relative;aspect-ratio:9/16;background:linear-gradient(150deg,var(--tint),var(--tint-2));display:grid;place-items:center}
.card__half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card__half i{font-style:normal;font-size:var(--fs-nano);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft)}
.card__tag{position:absolute;bottom:0;padding:.3rem .55rem;background:var(--ink);color:#fff;
  font-size:var(--fs-nano);text-transform:uppercase;letter-spacing:.16em;z-index:2}
.card__tag--l{left:0}.card__tag--r{right:0}
.card__body{padding:clamp(.9rem,2vw,1.2rem)}
.card__stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}
.chip{border:var(--hair) solid var(--rule);padding:.3rem .55rem;font-size:var(--fs-micro);
  font-variant-numeric:tabular-nums;animation:pop .4s var(--ease) both}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.card__quote{margin:0;font-size:var(--fs-body-s);line-height:1.55;color:var(--fg)}
.card__quote.is-empty{color:var(--fg-soft)}
.card__by{margin-top:.9rem;padding-top:.7rem;border-top:var(--hair) solid var(--rule);font-size:var(--fs-micro);color:var(--fg-soft)}
.card__by b{display:block;color:var(--fg);font-weight:500;font-size:var(--fs-body-s)}
.side__note{margin:.7rem 0 0;font-size:var(--fs-micro);color:var(--fg-soft)}

.done{max-width:44rem;margin-inline:auto;text-align:center;padding-block:clamp(3rem,10vh,6rem);grid-column:1 / -1}
.done__box{margin-top:2rem;border:var(--hair) solid var(--rule);padding:1.2rem;text-align:left}
.done__box code{display:block;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:var(--fs-micro);color:var(--fg-soft);max-height:15rem;overflow:auto;margin-top:.7rem}

.foot{border-top:var(--hair) solid var(--rule);padding-block:1.8rem}
.foot__in{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;font-size:var(--fs-micro);color:var(--fg-soft)}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;animation:none !important}}
/* Cookie consent banner (partials/cookie.html) */
.ck {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  z-index: 1000;
  width: min(calc(100% - 2rem), 44rem);
  padding: 1.25rem 1.4rem;
  background: var(--bg, #fff);
  color: var(--fg, #15100B);
  border: 1px solid var(--rule, rgba(117, 99, 82, .28));
  box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
  font-family: var(--font, system-ui, sans-serif);
  font-size: .8rem;
  line-height: 1.45;
  animation: ck-in .5s cubic-bezier(.22, 1, .36, 1);
}
.ck[hidden] { display: none; }
.ck p { margin: 0 0 .6rem; }
.ck a { color: inherit; text-decoration: underline; }
.ck__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.ck__btn {
  flex: 1 1 auto;
  padding: .75rem 1rem;
  border: 1px solid var(--btn-bg, #15100B);
  background: var(--btn-bg, #15100B);
  color: var(--btn-fg, #fff);
  font: inherit;
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .3s, color .3s;
}
.ck__btn:hover { background: var(--btn-hover, #756352); border-color: var(--btn-hover, #756352); }
.ck__btn--ghost { background: transparent; color: var(--fg, #15100B); }
.ck__btn--ghost:hover { color: var(--btn-fg, #fff); }
.ck__row {
  display: flex;
  gap: .6rem;
  align-items: flex-start;
  padding: .45rem 0;
  border-bottom: 1px solid var(--rule, rgba(117, 99, 82, .28));
  cursor: pointer;
}
.ck__row input { margin-top: .2em; accent-color: var(--accent, #756352); }
.ck__setup[hidden], .ck__main[hidden] { display: none; }
@keyframes ck-in {
  from { opacity: 0; transform: translate(-50%, 1rem); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

/* Spinner shown on .cta while the checkout session is created (partials/js_checkout.html) */
.lds-ellipsis { display: inline-flex; gap: .35rem; align-items: center; height: 1em; margin: 0 auto; }
.lds-ellipsis i {
  width: .5em; height: .5em; border-radius: 50%; background: currentColor;
  animation: lds-bounce 1s infinite ease-in-out;
}
.lds-ellipsis i:nth-child(2) { animation-delay: .15s; }
.lds-ellipsis i:nth-child(3) { animation-delay: .3s; }
.lds-ellipsis i:nth-child(4) { animation-delay: .45s; }
@keyframes lds-bounce { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.cta.is-busy { pointer-events: none; justify-content: center; }
/* Simple sub pages (welcome, cookieinfo, delete-account, 404) – layouts/_default/single.html with subpage: true */
.subpage { min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--fg); font-family: var(--font); }
.subpage__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem var(--pad); border-bottom: var(--hair) solid var(--rule); }
.subpage__brand { display: inline-flex; align-items: center; gap: .6rem; font-weight: 500; letter-spacing: .02em; color: inherit; text-decoration: none; }
.subpage__mark { flex: 0 0 auto; width: 2rem; height: 2rem; border-radius: 24%; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, #E8DBD1 0%, #99897A 52%, #493622 100%); }
.subpage__mark img { width: 80%; height: 80%; object-fit: contain; }
.subpage__back { font-size: var(--fs-small); color: var(--fg-soft); text-decoration: none; }
.subpage__back:hover { color: var(--fg); }
.subpage__main { flex: 1; width: 100%; max-width: 48rem; margin-inline: auto; padding: clamp(2.5rem, 6vw, 5rem) var(--pad); }
.subpage__main h1 { font-size: var(--fs-h2); font-weight: 500; line-height: 1.1; letter-spacing: -.04em; margin: 0 0 1rem; }
.subpage__main h2 { font-size: var(--fs-h3, 1.4rem); font-weight: 500; letter-spacing: -.02em; margin: 2.2rem 0 .6rem; }
.subpage__main h3 { font-size: var(--fs-body); font-weight: 600; margin: 1.4rem 0 .3rem; }
.subpage__main p, .subpage__main li { font-size: var(--fs-body); line-height: 1.6; color: var(--fg); }
.subpage__main p { margin: 0 0 .9rem; }
.subpage__main a:not(.cta) { color: inherit; text-decoration: underline; }
.subpage__lead { font-size: var(--fs-lead); color: var(--fg-soft); margin-bottom: 1.6rem; }
.subpage__box { border: var(--hair) solid var(--rule); background: var(--tint); padding: 1.2rem 1.4rem; margin: 1.2rem 0; }
.subpage__box p:last-child { margin-bottom: 0; }
.subpage__stores { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.2rem 0; }
.subpage__stores .cta { width: auto; min-width: 12rem; text-decoration: none; }
.subpage__emoji { font-size: 3rem; margin: 1rem 0; }
.subpage__footer { padding: 1.5rem var(--pad); border-top: var(--hair) solid var(--rule); font-size: var(--fs-micro); color: var(--fg-soft); display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; justify-content: space-between; }
.subpage__footer a { color: inherit; text-decoration: none; }
.subpage__footer a:hover { text-decoration: underline; }
.subpage__zoho .zsFormClass { width: 100% !important; max-width: 100%; }
.subpage__zoho input[type='text'] { width: 100% !important; box-sizing: border-box; font: inherit; padding: .6rem .7rem !important; }
.subpage__zoho input[type='submit'], .subpage__zoho input[type='button'] { padding: .7rem 1.2rem; border: 1px solid var(--btn-bg); background: var(--btn-bg); color: var(--btn-fg); font: inherit; text-transform: uppercase; letter-spacing: .08em; font-size: var(--fs-micro); cursor: pointer; }
.subpage__zoho input[type='button'] { background: transparent; color: var(--fg); }

/* Order page (content/zamowienie) – summary of the chosen plan + e-mail, on top of .field from style.css */
.ord { margin-top: 1.8rem; }
.ord__summary { margin-bottom: 2rem; }
.ord__legend { margin: 0 0 .8rem; font-size: var(--fs-label); letter-spacing: .2em; text-transform: uppercase; color: var(--fg-soft); }
.ord__plan { display: block; padding: 1.1rem 1.2rem; border: var(--hair) solid var(--fg); background: var(--tint); }
.ord__plan-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; }
.ord__plan-name { font-size: var(--fs-lead); font-weight: 500; }
.ord__plan-price { font-size: var(--fs-lead); white-space: nowrap; }
.ord__plan-price i { margin-left: .4rem; font-style: normal; font-size: var(--fs-small); color: var(--fg-soft); }
.ord__plan-note { display: block; margin-top: .3rem; font-size: var(--fs-micro); color: var(--fg-soft); }
.ord__plan-was { margin-right: .5rem; font-size: var(--fs-body); color: var(--fg-soft); text-decoration-thickness: 1px; }
.ord__plan-price > span { font-weight: 600; }
/* Active promo: the discounted price and what it means for renewals (filled in by the page script) */
.ord__plan--deal .ord__plan-price > span { color: #8A2F3F; }
.ord__deal { display: block; margin-top: 1rem; padding: 1.1rem 1.2rem; border: var(--hair) solid rgba(138, 47, 63, .32); background: linear-gradient(135deg, rgba(138, 47, 63, .10), rgba(138, 47, 63, .03)); }
.ord__deal-top { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.ord__deal-pct { padding: .15rem .55rem; background: #8A2F3F; color: #fff; font-size: var(--fs-body); font-weight: 700; letter-spacing: .02em; }
.ord__deal-code { font-size: var(--fs-small); font-weight: 500; }
.ord__deal-code b { margin: 0 .15em; font-weight: 700; letter-spacing: .08em; }
.ord__deal-text { display: block; margin-top: .8rem; font-size: var(--fs-small); line-height: 1.55; }
.ord__deal-lowest { display: block; margin-top: .7rem; padding-top: .6rem; border-top: var(--hair) solid rgba(138, 47, 63, .22); font-size: var(--fs-micro); color: var(--fg); }
.ord__deal-toggle { padding: 0; border: 0; background: none; font: inherit; color: var(--fg); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.ord__deal-toggle:hover { color: #8A2F3F; }
.ord__deal-remove { display: grid; place-items: center; width: 2rem; height: 2rem; margin-left: auto; padding: 0; border: var(--hair) solid rgba(138, 47, 63, .32); background: none; font: inherit; font-size: 1.25rem; line-height: 1; color: var(--fg); cursor: pointer; }
.ord__deal-remove:hover { border-color: #8A2F3F; background: #8A2F3F; color: #fff; }
.ord__deal-off { display: block; margin-top: .8rem; font-size: var(--fs-micro); color: var(--fg-soft); }
.ord__deal-toggle b { font-weight: 700; letter-spacing: .08em; }
.ord__field { margin-bottom: 1.2rem; }
.ord__hint { display: block; margin-top: .6rem; font-size: var(--fs-micro); line-height: 1.55; color: var(--fg-soft); }
.ord__hint strong { font-weight: 700; color: var(--fg); }
.subpage__main .ord__legal { margin: 0 0 1.1rem; font-size: var(--fs-micro); line-height: 1.55; color: var(--fg-soft); }
.field.is-bad input { border-bottom-color: #9B3547; }
.subpage__main .ord__err { margin: 0 0 1.1rem; font-size: var(--fs-small); color: #9B3547; }
.ord__send { width: 100%; text-decoration: none; }
.subpage__main .ord__back { margin: 1.8rem 0 0; font-size: var(--fs-small); }

/* "·" between footer links (landing page + sub pages) */
.footer-sep { margin: 0 .4em; }
