/* Type: TeX Gyre Schola (Century Schoolbook design), GUST Font License. See assets/GUST-FONT-LICENSE.txt */
@font-face{font-family:Schola;src:url(assets/schola-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Schola;src:url(assets/schola-bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Schola;src:url(assets/schola-italic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}

:root{
  --ink:#18120c;
  --k:clamp(0.5px, calc(100vw / 768), 1px);   /* 1px at the 768px page width; scales down on phones */
  --bleed:0 0 .6px rgba(35,28,21,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#2a231b}
body{padding:24px 0;color:var(--ink);font-family:Schola,"Century Schoolbook","New Century Schoolbook",Georgia,serif}
.defs{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- the page: one continuous sheet ----------
   Middle: a vertically seamless tile cut from the page photo (cross-faded wrap).
   Top and bottom: the photo's real top and bottom edges, feathered into the tile with masks. */
.card{width:768px;max-width:100%;margin:0 auto;position:relative;isolation:isolate;
  background:#e9dfc6 url(assets/paper-tile.jpg) center top/100% auto repeat-y;
  padding:calc(58*var(--k)) calc(40*var(--k)) calc(64*var(--k)) calc(58*var(--k));
  text-align:center;text-shadow:var(--bleed);overflow:hidden}
.card::before,.card::after{content:"";position:absolute;left:0;right:0;z-index:-1;pointer-events:none;
  background-size:100% auto;background-repeat:no-repeat;aspect-ratio:766/560}
.card::before{top:0;background-image:url(assets/paper-top.jpg);background-position:top;
  -webkit-mask-image:linear-gradient(#000 45%,transparent 100%);mask-image:linear-gradient(#000 45%,transparent 100%)}
.card::after{bottom:0;aspect-ratio:766/520;background-image:url(assets/paper-bottom.jpg);background-position:bottom;
  -webkit-mask-image:linear-gradient(transparent 0,#000 55%);mask-image:linear-gradient(transparent 0,#000 55%)}

/* printed-ink look */
.ink{filter:url(#ink)}
.card > *{mix-blend-mode:multiply}
b,strong,h1,h2,h3,.title,.dish,.addr,summary,.num,label{-webkit-text-stroke:calc(.7*var(--k)) var(--ink)}
.lead,.features li,.note,.steps p,.faq p,.motto{-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}

/* ---------- masthead: stacked title like the 1926 menu ---------- */
.masthead{position:relative}
.emblem{display:block;margin:calc(22*var(--k)) auto 0;width:clamp(90px,calc(120*var(--k)),120px);height:auto;opacity:.88}
.title{font-weight:700;text-transform:uppercase;line-height:1}
.title span{display:block}
.t-huge{font-size:calc(66*var(--k));margin-top:calc(10*var(--k));letter-spacing:calc(1*var(--k))}
.t-mid{font-size:calc(40*var(--k));margin-top:calc(14*var(--k))}
h1{font-weight:700;font-size:calc(38*var(--k));line-height:1.12;margin:calc(20*var(--k)) auto 0;max-width:calc(600*var(--k))}
.lead{font-style:italic;font-weight:500;font-size:calc(38*var(--k));line-height:calc(44*var(--k));margin:calc(14*var(--k)) auto 0;max-width:calc(640*var(--k))}
@media (max-width:600px){.lead{font-size:23px;line-height:28px}}

/* reserved 9:16 media slot (empty on purpose) */
.media-slot{width:min(300px,60%);aspect-ratio:9/16;margin:calc(30*var(--k)) auto 0;
  border:calc(5*var(--k)) double var(--ink);opacity:.8;mix-blend-mode:multiply}
@media (max-width:600px){.media-slot{width:60%;border-width:3px}}

.quote-link{margin-top:calc(26*var(--k));font-weight:700;font-size:calc(26*var(--k));text-transform:uppercase;letter-spacing:calc(1.5*var(--k))}
.quote-link a{color:var(--ink);text-decoration:none;border-bottom:calc(2.5*var(--k)) solid var(--ink);padding-bottom:1px}
.quote-link a:hover{color:#6b1e17;border-color:#6b1e17}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0b4f8a;outline-offset:2px}

/* ---------- tiers: French name, rosettes, dish name, italic contents ---------- */
.tier{margin-top:calc(46*var(--k))}
.tier h2,.block h2{font-weight:700;font-size:calc(46*var(--k));line-height:1.1}
.stars{display:flex;justify-content:center;gap:calc(10*var(--k));margin-top:calc(8*var(--k))}
.stars i{display:block;width:calc(40*var(--k));height:calc(38*var(--k));background:url(assets/rosette.svg) center/contain no-repeat}
.dish{font-weight:700;font-size:calc(42*var(--k));line-height:1.12;margin-top:calc(8*var(--k))}
.worth{font-style:italic;font-weight:400;font-size:calc(25*var(--k));line-height:1.2;margin-top:calc(2*var(--k));opacity:.9;-webkit-text-stroke:0}
.features{list-style:none;margin-top:calc(4*var(--k))}
.features li{font-style:italic;font-size:calc(33*var(--k));line-height:calc(35*var(--k))}

.note{font-style:italic;font-size:calc(29*var(--k));line-height:calc(34*var(--k));margin:calc(40*var(--k)) auto 0;max-width:calc(560*var(--k))}

/* ---------- other sections ---------- */
.rule{width:calc(150*var(--k));height:0;border:0;border-top:calc(3*var(--k)) solid var(--ink);margin:0 auto calc(30*var(--k))}
.block{margin-top:calc(46*var(--k))}
.steps{list-style:none;margin-top:calc(6*var(--k))}
.steps li{margin-top:calc(14*var(--k))}
.steps .dish{font-size:calc(38*var(--k));margin-top:0}
.steps p{font-style:italic;font-size:calc(31*var(--k));line-height:calc(35*var(--k))}
.faq{margin:calc(24*var(--k)) auto 0;max-width:calc(600*var(--k))}
.faq summary{font-weight:700;font-size:calc(34*var(--k));line-height:1.2;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:" +";}
.faq[open] summary::after{content:" –";}
.faq p{font-style:italic;font-size:calc(29*var(--k));line-height:calc(34*var(--k));margin-top:calc(6*var(--k))}
.motto{font-style:italic;font-size:calc(31*var(--k));line-height:calc(36*var(--k));margin-top:calc(6*var(--k))}

/* form: tap-first contact form (chips are real radio inputs styled as printed pills) */
.reassure{font-style:italic;font-size:max(15px,calc(22*var(--k)));margin-top:calc(10*var(--k))}
.contact-form{max-width:calc(640*var(--k));margin:calc(26*var(--k)) auto 0;text-shadow:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.chip-group{border:0;margin:0 0 calc(24*var(--k));padding:0;min-width:0}
.chip-group legend,.contact-form label:not(.chip){display:block;font-weight:700;font-size:max(15px,calc(23*var(--k)));margin:0 auto calc(10*var(--k));padding:0;-webkit-text-stroke:0;text-align:center}
.contact-form label em{font-weight:400}
.chip-group legend{width:100%}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(10*var(--k)) calc(10*var(--k))}
.chip{position:relative;display:inline-flex;cursor:pointer;-webkit-text-stroke:0}
.chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:6px max(13px,calc(18*var(--k)));
  font:italic max(15px,calc(22*var(--k)))/1.15 Schola,Georgia,serif;color:var(--ink);
  border:1.5px solid var(--ink);border-radius:999px;background:rgba(255,250,235,.35);transition:background .12s,color .12s}
.chip:hover span{border-color:#6b1e17;color:#6b1e17}
.chip input:checked + span{background:var(--ink);color:#f1e7cc;border-color:var(--ink)}
.chip input:checked + span::before{content:"\2713\00a0";font-style:normal}
.chip input:focus-visible + span{outline:3px solid #0b4f8a;outline-offset:2px}
.other-field{max-width:320px;margin:calc(12*var(--k)) auto 0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:calc(18*var(--k)) calc(28*var(--k));margin-top:calc(6*var(--k))}
.field-small{max-width:360px;margin:calc(18*var(--k)) auto 0}
.field-small label{font-size:max(14px,calc(20*var(--k))) !important}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=url]{width:100%;font:max(16px,calc(25*var(--k))) Schola,Georgia,serif;color:var(--ink);background:rgba(255,250,235,.35);border:0;border-bottom:1.5px solid var(--ink);padding:6px 4px;border-radius:0;text-align:center}
.contact-form input::placeholder{color:#5c5246;font-style:italic;opacity:1}
.contact-form [aria-invalid="true"]{border-color:#9b1c14;background:rgba(155,28,20,.07)}
.field-error{color:#9b1c14;font-style:italic;font-size:max(14px,calc(21*var(--k)));margin-top:3px;text-align:center}
.field-error:empty{display:none}
.form-actions{text-align:center;margin-top:calc(28*var(--k))}
.btn{font:700 max(15px,calc(24*var(--k))) Schola,Georgia,serif;text-transform:uppercase;letter-spacing:2px;color:#f1e7cc;background:var(--ink);border:0;padding:12px 34px;cursor:pointer}
.btn-big{display:block;width:100%;max-width:440px;margin:0 auto;font-size:max(17px,calc(28*var(--k)));padding:18px 24px;letter-spacing:3px}
.btn:hover:not(:disabled){background:#2e2318}
.btn:disabled{opacity:.5;cursor:not-allowed}
.form-fine{font-size:max(13px,calc(18*var(--k)));font-style:italic;text-align:center;margin-top:calc(12*var(--k))}
.form-fine a,.linkish{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.linkish{background:none;border:0;padding:0;font:inherit;font-style:italic;cursor:pointer}
.form-fine a:hover,.linkish:hover{color:#6b1e17}
.delete-note{border:2px solid #BD2333;background:rgba(255,250,235,.35);padding:12px 16px;margin-bottom:calc(20*var(--k));font-size:max(15px,calc(21*var(--k)));text-align:center}
.delete-note p + p{margin-top:6px}
.form-status{margin-top:calc(16*var(--k));border:2px solid #9b1c14;background:rgba(155,28,20,.08);color:#7a140e;font-weight:700;font-size:max(16px,calc(22*var(--k)));padding:10px 12px;text-align:center}
.form-status.is-ok{border-color:#2d5a27;color:#2d5a27;background:rgba(45,90,39,.08)}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:600px){.field-row{grid-template-columns:1fr}.chip span{min-height:44px}}

/* colophon: short rule, bold caps lines, printer's credit over a thin rule */
.colophon{margin-top:calc(56*var(--k))}
.colophon .rule{margin-bottom:calc(36*var(--k))}
.addr{font-weight:700;text-transform:uppercase;font-size:calc(33*var(--k));line-height:1.2;letter-spacing:calc(.5*var(--k))}
.addr.small{text-transform:none;font-size:calc(27*var(--k));margin-top:calc(6*var(--k))}
.imprint{display:table;margin:calc(28*var(--k)) auto 0;border-top:1px solid var(--ink);padding-top:calc(4*var(--k));font-size:calc(19*var(--k))}

/* pull quote */
.pull{margin:calc(30*var(--k)) auto 0;max-width:calc(600*var(--k))}
.pull .rule{margin-bottom:calc(20*var(--k))}
.pull p{font-style:italic;font-size:calc(36*var(--k));line-height:calc(42*var(--k));-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}
.pull cite{display:block;font-style:normal;font-variant:small-caps;font-size:calc(27*var(--k));line-height:calc(34*var(--k));letter-spacing:calc(1*var(--k));max-width:calc(600*var(--k));margin:calc(14*var(--k)) auto 0;text-wrap:balance;-webkit-text-stroke:calc(.5*var(--k)) var(--ink)}
.pull .nw{white-space:nowrap}
/* guide plate: classic Rolls-Royce ad under the attribution */
.ad-plate{margin:calc(20*var(--k)) auto 0;max-width:min(420px,92%);padding:0;filter:none;mix-blend-mode:normal}
.ad-plate img{display:block;width:100%;height:auto;border:1px solid rgba(45,36,28,.28);box-shadow:0 1px 0 rgba(45,36,28,.06);background:#f6eedb}
@media (max-width:600px){.pull cite{font-size:16px;line-height:21px;letter-spacing:.4px;max-width:340px}.ad-plate{max-width:min(320px,88%);margin-top:calc(16*var(--k))}}
.faq summary .num{font-weight:700}
.faq p + p{margin-top:calc(14*var(--k))}
.faq p.gap{margin-top:1em}

/* tier 2 badge: Guide red, darkened to #A61F2D for small-text contrast (5.15:1 on the paper), kept out of the ink filter so the red stays clean */
.tier.ink{filter:none}
.tier.ink > :not(.badge):not(.example):not(.examples-ab):not(.examples-916):not(.dlv):not(.soon):not(.tier-key):not(.tier-guarantee){filter:url(#ink)}
.badge{display:table;margin:calc(8*var(--k)) auto 0;color:#A61F2D;border:1.5px solid #A61F2D;font-weight:700;text-transform:uppercase;
  font-size:max(11px,calc(15*var(--k)));letter-spacing:.14em;line-height:1;padding:calc(5*var(--k)) calc(10*var(--k)) calc(4*var(--k));text-shadow:none;-webkit-text-stroke:0}
.tier .worth{margin-top:calc(4*var(--k))}
.tier .stars{margin-top:calc(10*var(--k))}
.tier .features{margin-top:calc(10*var(--k))}

/* 9:16 sales video fills the double-ruled slot */
.media-slot{opacity:1;mix-blend-mode:normal;overflow:visible;background:#111}
.media-slot video{display:block;width:100%;height:100%;object-fit:cover}

/* tier examples: a live sample site under each plan */
.example{margin:calc(22*var(--k)) auto 0;width:min(calc(620*var(--k)),92%)}
.example figcaption{font-style:italic;font-size:calc(25*var(--k));opacity:.9;margin-bottom:calc(8*var(--k));filter:url(#ink)}
.example video,.example img{display:block;width:100%;height:auto;border:calc(5*var(--k)) double var(--ink);background:#111}

/* keep the ink texture off the sales video */
.masthead.ink{filter:none}
.masthead.ink > :not(.media-slot):not(.motto-quote):not(.ad-plate){filter:url(#ink)}

/* media sits on its own layer: sections with media don't multiply as a whole;
   their text still multiplies into the paper, the media stays untouched */
.card > .tier,.card > .masthead{mix-blend-mode:normal}
.tier > :not(.example):not(.examples-ab):not(.examples-916):not(.dlv),.masthead > :not(.media-slot):not(.motto-quote):not(.ad-plate){mix-blend-mode:multiply}
.example,.media-slot,.ad-plate{mix-blend-mode:normal;isolation:isolate}

/* tier price under the English title */
.price{font-weight:700;font-size:calc(34*var(--k));line-height:1.1;margin-top:calc(4*var(--k))}
/* thin Guide-red rule between tiers (same red and weight as the Most Recommended badge) */
.tier-divider{border:0;border-top:2px solid #BD2333;width:calc(140*var(--k));margin:calc(46*var(--k)) auto 0;mix-blend-mode:normal}
.tier-divider + .tier{margin-top:calc(40*var(--k))}

/* price sits under the stars, regular weight */
.tier .price{font-weight:700;margin-top:calc(8*var(--k))}

/* pull-quote rule in Guide red */
.pull .rule{border-color:#BD2333;background:#BD2333;color:#BD2333;filter:none;mix-blend-mode:normal}

.rule.rule-red{border-color:#BD2333;filter:none;mix-blend-mode:normal}
.lead-sub{font-size:calc(22*var(--k));line-height:calc(29*var(--k));margin-top:calc(16*var(--k));max-width:calc(600*var(--k))}

/* ---------- tier features: each line opens like an FAQ (+ / –) ---------- */
.feat summary{cursor:pointer;list-style:none;-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}
.feat summary::-webkit-details-marker{display:none}
.feat summary::after{content:" +";}
.feat[open] summary::after{content:" –";}
.feat p{font-style:italic;font-size:max(15px,calc(24*var(--k)));line-height:1.38;max-width:calc(560*var(--k));
  margin:calc(4*var(--k)) auto calc(14*var(--k));-webkit-text-stroke:calc(.3*var(--k)) var(--ink)}
.plus{font-style:italic;font-size:max(14px,calc(25*var(--k)));line-height:1.2;margin-top:calc(10*var(--k));opacity:.9}
.tier .plus + .features{margin-top:calc(4*var(--k))}
.seo-note{font-size:max(14px,calc(24*var(--k)));line-height:1.3;margin-top:calc(42*var(--k))}

/* footer policy links */
.footer-links{margin-top:calc(14*var(--k));font-size:max(13px,calc(19*var(--k)))}
.footer-links a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.footer-links a:hover{color:#6b1e17}

/* ---------- policy pages (refund, terms, privacy, cookies) ---------- */
.crumbs{text-align:left;font-style:italic;font-size:max(14px,calc(20*var(--k)))}
.crumbs a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.crumbs a:hover{color:#6b1e17}
.policy-head{margin-top:calc(18*var(--k))}
.policy-head h1{margin-top:calc(14*var(--k))}
.policy-head .updated{font-style:italic;font-size:max(14px,calc(20*var(--k)));margin-top:calc(8*var(--k))}
.policy-head .rule{margin:calc(24*var(--k)) auto 0}
.policy{text-align:left;font-size:max(16px,calc(22*var(--k)));line-height:1.5;margin:calc(30*var(--k)) auto 0;max-width:calc(620*var(--k))}
.policy h2{font-size:max(20px,calc(30*var(--k)));line-height:1.2;margin-top:calc(34*var(--k));filter:url(#ink)}
.policy h3{font-size:max(17px,calc(24*var(--k)));line-height:1.25;margin-top:calc(22*var(--k))}
.policy p,.policy ul,.policy ol{margin-top:calc(12*var(--k))}
.policy ul,.policy ol{padding-left:1.3em}
.policy li + li{margin-top:.35em}
.policy a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.policy a:hover{color:#6b1e17}
.policy .lede{font-style:italic}
.callout{border:2px solid #BD2333;background:rgba(255,250,235,.35);padding:calc(16*var(--k)) calc(20*var(--k));margin-top:calc(20*var(--k))}
.callout > :first-child{margin-top:0}
.callout .callout-title{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#A61F2D;font-size:max(13px,calc(18*var(--k)))}
.checklist{list-style:none;padding-left:0 !important}
.checklist li{padding-left:1.5em;position:relative}
.checklist li::before{content:"\2610";position:absolute;left:0;top:0}
.policy .small{font-size:max(14px,calc(19*var(--k)))}
@media (max-width:600px){
  .callout{padding:12px 10px}
}

/* ---------- full-bleed paper: the sheet fills the whole screen, text stays in a centered column ---------- */
html{background:#e9dfc6 url(assets/paper-bg.jpg) center top/764px auto repeat}
body{padding:0}
.card{background:transparent;isolation:auto}
.card::before,.card::after{display:none}
/* aged paper edges down the far left and right of the screen */
body{min-height:100vh;background:url(assets/edge-left.webp) left top/110px auto repeat-y,url(assets/edge-right.webp) right top/110px auto repeat-y}
@media (max-width:600px){body{background-size:56px auto,56px auto}}
/* Request a quote: solid Michelin-red button above the video */
.quote-link{margin:calc(30*var(--k)) 0 calc(28*var(--k))}
.quote-link a{display:inline-block;background:#BD2333;color:#f6eedb;border:0;padding:16px 40px;font-size:max(17px,calc(26*var(--k)));letter-spacing:3px;text-shadow:none;box-shadow:0 2px 0 #7d1520;mix-blend-mode:normal}
.quote-link a:hover,.quote-link a:focus-visible{background:#A61F2D;color:#fff;border:0}
.quote-link a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.card > .quote-link{mix-blend-mode:normal;filter:none;text-align:center}
.quote-link a{filter:none;-webkit-text-stroke:0;text-shadow:none}
/* form accents in Michelin red (selected chips, hover, submit button) */
.chip:hover span{border-color:#BD2333;color:#BD2333}
.chip input:checked + span{background:#BD2333;color:#f6eedb;border-color:#BD2333}
.contact-form .btn{background:#BD2333;color:#f6eedb;box-shadow:0 2px 0 #7d1520;-webkit-text-stroke:0;text-shadow:none}
.contact-form .btn:hover:not(:disabled){background:#A61F2D;color:#fff}
#contact{mix-blend-mode:normal}
#contact > :not(form),.contact-form label:not(.chip),.contact-form legend{mix-blend-mode:multiply}

/* goal statement under the lead: framed by Michelin-red lines, crisp solid ink */
.motto-quote{max-width:calc(660*var(--k));margin:calc(18*var(--k)) auto calc(10*var(--k));padding:calc(18*var(--k)) 0;
  border-top:2px solid #BD2333;border-bottom:2px solid #BD2333;color:var(--ink);font-size:calc(28*var(--k));line-height:calc(34*var(--k));
  filter:none;mix-blend-mode:normal;opacity:1;-webkit-text-stroke:calc(.4*var(--k)) var(--ink)}
#contact .book-link{margin:calc(30*var(--k)) 0 calc(14*var(--k))}
@media (max-width:600px){.motto-quote{font-size:17px;line-height:23px}}

/* ---------- tier feature symbols: small printed icon before each feature (summary keeps its + / – after the text) ---------- */
.ico{display:inline-block;color:var(--ink);overflow:visible}
.feat summary .ico{width:max(16px,.8em);height:max(16px,.8em);margin-right:.32em;vertical-align:-.08em}

/* ornamental rule: thin printed flourish between sections that had only blank space */
.orn{margin:calc(46*var(--k)) auto 0;width:clamp(110px,calc(150*var(--k)),150px);color:var(--ink);opacity:.9;line-height:0}
.orn svg{display:block;width:100%;height:auto;aspect-ratio:8/1}
.orn + .tier{margin-top:calc(40*var(--k))}
.orn + .seo-note{margin-top:calc(34*var(--k))}

/* contact: old county map in sepia ink, above the heading */
.oc-map{max-width:520px;width:100%;margin:0 auto calc(34*var(--k));color:#3a281a}
.map-svg{display:block;width:100%;height:auto;overflow:visible}
.map-lbl text{font-family:Schola,"Century Schoolbook",Georgia,serif;font-size:13px;letter-spacing:1.1px;text-shadow:none}
.map-lbl .map-sea{font-style:italic;letter-spacing:4px;font-size:13px}
.oc-map figcaption{font-style:italic;font-size:max(15px,calc(25*var(--k)));line-height:1.3;margin-top:calc(12*var(--k));color:var(--ink);-webkit-text-stroke:calc(.35*var(--k)) var(--ink)}
@media (max-width:600px){.map-lbl text{font-size:14px}.map-lbl .map-sea{font-size:13px;letter-spacing:3px}}

/* contact: tap chips in front of "Book my call" (single-select, tap again to clear; red when chosen) */
#contact .book-form{max-width:calc(660*var(--k));margin:calc(30*var(--k)) auto 0}
#contact .book-form .chip-group{margin:0 0 calc(26*var(--k))}
#contact .book-form .chip-group legend{font-weight:400;font-variant:small-caps;font-size:max(15px,calc(23*var(--k)));letter-spacing:calc(2*var(--k));margin-bottom:calc(12*var(--k))}
#contact .book-form .chips{gap:calc(12*var(--k)) calc(12*var(--k))}
#contact .book-form .chip span{min-height:44px;box-sizing:border-box;font-size:max(15px,calc(22*var(--k)))}
#contact .book-form .chip input:checked + span::before{content:none}
#contact .book-link{margin-top:calc(8*var(--k))}
.talk-now{text-align:center;font-style:italic;font-size:max(15px,calc(22*var(--k)));margin-top:calc(2*var(--k))}
.talk-now a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-style:normal}
.talk-now a:hover{color:#BD2333}
.addr .addr-tel{color:inherit;text-decoration:none;white-space:nowrap}
.addr .addr-tel:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){#contact .book-form .chips{gap:8px}#contact .book-form .chip span{padding:6px 14px}}
.colophon .addr-contact{text-wrap:balance}

/* pricing section mark: a title page in three centred rows — a large oldstyle 3, three rosettes, then
   WEBSITE PRICING in open small caps — then the red rule. Rosettes in the same charcoal as the tier stars. */
.pricing-head{text-align:center;margin:calc(8*var(--k)) auto 0}
.pricing-mark{display:flex;flex-direction:column;align-items:center;margin:0;line-height:1;-webkit-text-stroke:calc(.55*var(--k)) var(--ink)}
.pricing-three{display:block;font-weight:400;font-size:max(68px,calc(118*var(--k)));line-height:.8;font-variant-numeric:oldstyle-nums;font-feature-settings:"onum" 1;
  -webkit-text-stroke:calc(.9*var(--k)) var(--ink);padding-bottom:.12em}
.pricing-head .stars{display:flex;justify-content:center;margin:max(15px,calc(27*var(--k))) 0 0;gap:max(10px,calc(16*var(--k)))}
.pricing-head .stars i{width:max(26px,calc(40*var(--k)));height:max(25px,calc(38*var(--k)))}
.pricing-words{display:block;margin-top:max(14px,calc(22*var(--k)));font-weight:700;font-size:max(23px,calc(40*var(--k)));line-height:1.1;
  font-variant-caps:small-caps;letter-spacing:.12em;padding-left:.12em;-webkit-text-stroke:inherit}
.pricing-head .tier-divider{margin-top:max(18px,calc(28*var(--k)));margin-bottom:0}
.orn + .pricing-head{margin-top:calc(36*var(--k))}
.pricing-head + .tier{margin-top:calc(40*var(--k))}
@media (max-width:600px){.pricing-head + .tier{margin-top:max(30px,calc(34*var(--k)))}.orn + .pricing-head{margin-top:max(28px,calc(32*var(--k)))}}

html{scroll-behavior:smooth}
#contact-h{scroll-margin-top:max(24px,calc(28*var(--k)))}
/* Stacked CTAs: Buy Now · or★★ · Book my call (both chip-gated Michelin progress fill) */
#contact .book-link{margin:calc(8*var(--k)) 0 calc(6*var(--k))}
#contact .cta-or{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(10*var(--k));
  margin:calc(4*var(--k)) auto calc(2*var(--k));
  font-style:italic;
  font-size:max(14px,calc(20*var(--k)));
  letter-spacing:0.04em;
  opacity:.72;
  color:var(--ink);
  line-height:1;
  transition:color .3s ease,opacity .3s ease;
}
#contact .cta-or .stars{display:inline-flex;margin:0;gap:0}
#contact .cta-or .stars i{width:calc(18*var(--k));height:calc(17*var(--k));min-width:14px;min-height:13px}
/* Unlocked: tint "or" Michelin red so the stack reads as open */
#contact.is-cta-unlocked .cta-or{color:#BD2333;opacity:1}
/* Buy Now + Book my call: Michelin-red progress fill as chip groups complete (data-progress 0–3) */
#buy-now,#book-call{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-color:#e6d7b8;
  background-image:linear-gradient(#BD2333,#BD2333);
  background-repeat:no-repeat;
  background-size:0% 100%;
  color:#6b1e17;
  border:2px solid #BD2333;
  box-shadow:none;
  transition:background-size .35s ease,color .25s ease,opacity .25s ease,box-shadow .25s ease,filter .25s ease,transform .25s ease;
}
#buy-now[data-progress="0"],#book-call[data-progress="0"]{background-size:0% 100%;background-color:#e6d7b8;opacity:.55;color:#6b1e17;filter:grayscale(.1)}
#buy-now[data-progress="1"],#book-call[data-progress="1"]{background-size:33.333% 100%;background-color:#7a3038;opacity:.9;color:#f6eedb;text-shadow:0 1px 0 rgba(0,0,0,.25)}
#buy-now[data-progress="2"],#book-call[data-progress="2"]{background-size:66.666% 100%;background-color:#7a3038;opacity:.95;color:#f6eedb;text-shadow:0 1px 0 rgba(0,0,0,.25)}
#buy-now[data-progress="3"],#book-call[data-progress="3"]{background-size:100% 100%;background-color:#BD2333;opacity:1;color:#f6eedb;border-color:#BD2333;box-shadow:0 2px 0 #7d1520;filter:none;text-shadow:none}
/* Unlocked resting shadow (static; reached by the same box-shadow transition as the fill) */
#contact.is-cta-unlocked #buy-now[data-progress="3"],
#contact.is-cta-unlocked #book-call[data-progress="3"]{
  box-shadow:0 3px 0 #7d1520,0 5px 12px rgba(36,28,20,.22);
}
/* (removed: cta-unlock-settle — scale/brightness/shadow bounce on Buy Now + Book my call at unlock) */
#buy-now.is-disabled,#buy-now[aria-disabled="true"],#book-call.is-disabled,#book-call[aria-disabled="true"]{cursor:not-allowed}
#buy-now.is-disabled:hover,#buy-now[aria-disabled="true"]:hover,#book-call.is-disabled:hover,#book-call[aria-disabled="true"]:hover{color:inherit}
#buy-now[data-progress="0"].is-disabled:hover,#buy-now[data-progress="0"][aria-disabled="true"]:hover,#book-call[data-progress="0"].is-disabled:hover,#book-call[data-progress="0"][aria-disabled="true"]:hover{color:#6b1e17;background-color:#e6d7b8}
#buy-now[data-progress="3"]:hover,#book-call[data-progress="3"]:hover{background-color:#A61F2D;background-image:linear-gradient(#A61F2D,#A61F2D);color:#fff}
#buy-now[data-progress="3"]:focus-visible,#book-call[data-progress="3"]:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Rosette stamp in cta-or — bigger press-into-paper (~1.5×), once per unlock */
#contact .cta-or.is-stamping{
  color:#BD2333;
  opacity:1;
}
#contact .cta-or.is-stamping .stars i{
  animation:cta-rosette-stamp .55s ease-out forwards;
  transform-origin:center center;
}
@keyframes cta-rosette-stamp{
  0%{transform:scale(1.5);opacity:.9}
  55%{transform:scale(0.9);opacity:1}
  100%{transform:scale(1);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #contact .cta-or.is-stamping .stars i{animation:none;transform:none}
  /* Instant unlocked look at CTA stack — buttons lifted, or tinted, stamp/line shown */
  #contact.is-cta-unlocked #contact-h::after{animation:none;transform:none;opacity:0}
  .book-hint.is-unlock-fade{transition:none}
  .unlock-line{transition:none}
  .unlock-line.is-shown{animation:none;opacity:1;visibility:visible;transform:none}
  .cleared-stamp{transition:none}
  .cleared-stamp.is-shown,.cleared-stamp.is-pressing{
    animation:none;
    opacity:1;
    visibility:visible;
    transform:rotate(-6deg) scale(1);
  }
  .cta-confetti,.confetti-piece{display:none !important}
}

/* Other trade field: always reserved height — visibility/opacity only (no display:none / no jiggle) */
#contact .other-field,#contact #trade-other-wrap{
  max-width:min(360px,92%);
  margin:calc(14*var(--k)) auto 0;
  text-align:center;
  min-height:calc(14*var(--k) + 2.75em);
  box-sizing:border-box;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
#contact #trade-other-wrap.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
#contact .other-field input{width:100%;font:max(16px,calc(24*var(--k))) Schola,Georgia,serif;color:var(--ink);background:rgba(255,250,235,.45);border:0;border-bottom:1.5px solid var(--ink);padding:8px 4px;text-align:center;border-radius:0}
#contact .other-field input::placeholder{color:#5c5246;font-style:italic;opacity:1}
#contact .other-field input[aria-invalid="true"]{border-color:#9b1c14;background:rgba(155,28,20,.07)}

/* unlock hint under Contact us heading — stays in flow (visibility/opacity; never display:none) */
.book-hint{
  text-align:center;
  font-style:italic;
  font-weight:700;
  font-size:max(16px,calc(24*var(--k)));
  letter-spacing:0.03em;
  line-height:1.4;
  margin:calc(16*var(--k)) auto calc(12*var(--k));
  padding:calc(10*var(--k)) calc(8*var(--k));
  /* Reserve full plate height so fade-out never collapses layout / jiggles the page */
  min-height:calc(3.6em + 20*var(--k));
  box-sizing:border-box;
  opacity:1;
  visibility:visible;
  color:var(--ink);
  max-width:34em;
  transition:opacity .45s ease,visibility .45s ease;
}
/* Short centered Michelin-red rules frame the instruction (not a CTA separator) */
.book-hint::before,
.book-hint::after{
  content:"";
  display:block;
  width:min(10em,46%);
  margin-left:auto;
  margin-right:auto;
  border:0;
  border-top:1.5px solid #BD2333;
  opacity:.9;
}
.book-hint::before{margin-bottom:calc(9*var(--k))}
.book-hint::after{margin-top:calc(9*var(--k))}
/* Michelin rosette (same mark as the pricing head and the "or" between the CTAs) framing the hint */
.book-hint-mark{
  display:inline-block;
  width:1.08em;
  height:1.01em;
  margin:0 0.18em;
  vertical-align:-0.16em;
  background:url(assets/rosette.svg) center/contain no-repeat;
}
.book-hint.is-unlock-fade,
.book-hint.is-met{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
/* "Now serving …": a quiet small-caps line between the unlock hint and the Trade chips (static, always in flow) */
.serving-line{text-align:center;font-variant:small-caps;font-weight:400;font-style:normal;font-size:max(16px,calc(22*var(--k)));
  letter-spacing:.06em;line-height:1.35;color:var(--ink);margin:0 auto calc(22*var(--k));max-width:34em;padding:0 8px;text-wrap:balance}
@media (max-width:600px){.serving-line{letter-spacing:.02em;padding:0}}
/* Thin rule draws under contact heading as hint fades (hint box still reserved) */
#contact #contact-h::after{content:"";display:block;width:min(11em,48%);height:0;margin:calc(10*var(--k)) auto 0;border:0;border-top:1px solid #BD2333;opacity:0;transform:scaleX(0);transform-origin:center}
#contact.is-cta-unlocked #contact-h::after{
  content:"";
  display:block;
  width:min(11em,48%);
  height:0;
  margin:calc(10*var(--k)) auto 0;
  border:0;
  border-top:1px solid #BD2333;
  opacity:.72;
  transform:scaleX(0);
  transform-origin:center;
  animation:unlock-hint-rule .5s ease forwards;
}
#contact.is-cta-unlocking #contact-h::after{animation:unlock-hint-rule .5s ease forwards}
@keyframes unlock-hint-rule{
  0%{transform:scaleX(0);opacity:0}
  100%{transform:scaleX(1);opacity:.72}
}

/* CTA stack: relative host for Cleared. stamp / legacy unlock line + paper confetti (no layout jiggle) */
.cta-stack{
  position:relative;
  isolation:isolate;
  /* Clip horizontal bloom overflow so scale pulse cannot nudge scrollbars */
  overflow-x:clip;
  overflow-y:visible;
  margin:calc(4*var(--k)) 0 0;
  padding:calc(4*var(--k)) 0 0;
}

/* Default unlock: Michelin inspector rubber-stamp (rosette + "Cleared.") above Buy Now */
.cleared-stamp{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(8*var(--k));
  text-align:center;
  margin:0 auto calc(10*var(--k));
  padding:calc(4*var(--k)) calc(10*var(--k));
  min-height:calc(2.4em + 8*var(--k));
  max-width:16em;
  box-sizing:border-box;
  color:#BD2333;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:rotate(-6deg) scale(1.2);
  transform-origin:center center;
  transition:opacity .25s ease,visibility .25s ease;
}
.cleared-stamp-rosette{
  display:inline-block;
  width:calc(28*var(--k));
  height:calc(26*var(--k));
  min-width:18px;
  min-height:17px;
  background:url(assets/rosette.svg) center/contain no-repeat;
  /* Tint rosette Michelin red via filter so stamp reads as ink */
  filter:brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(3200%) hue-rotate(340deg) brightness(92%) contrast(96%);
  flex-shrink:0;
}
.cleared-stamp-word{
  font-family:Schola,Georgia,"Times New Roman",serif;
  font-style:italic;
  font-weight:700;
  font-size:max(18px,calc(26*var(--k)));
  letter-spacing:0.06em;
  line-height:1;
  text-transform:none;
  /* Soft ink-stamp edge */
  text-shadow:0 0 0.5px rgba(189,35,51,.45),0 1px 0 rgba(125,21,32,.2);
}
.cleared-stamp.is-shown{
  opacity:1;
  visibility:visible;
  transform:rotate(-6deg) scale(1);
}
.cleared-stamp.is-shown.is-pressing{
  animation:cleared-stamp-press .55s ease-out forwards;
}
@keyframes cleared-stamp-press{
  0%{opacity:0;transform:rotate(-8deg) scale(1.2)}
  45%{opacity:1;transform:rotate(-5deg) scale(0.95)}
  100%{opacity:1;transform:rotate(-6deg) scale(1)}
}

/* Legacy unlock line ("Both doors are open.") — kept for ?celebrate=legacy / UNLOCK_STYLE=legacy */
.unlock-line{
  text-align:center;
  font-style:italic;
  font-weight:700;
  font-size:max(15px,calc(22*var(--k)));
  letter-spacing:0.04em;
  line-height:1.35;
  color:#BD2333;
  margin:0 auto calc(10*var(--k));
  padding:calc(2*var(--k)) calc(8*var(--k));
  min-height:1.5em;
  max-width:28em;
  box-sizing:border-box;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .4s ease,visibility .4s ease,transform .4s ease;
}
.unlock-line.is-shown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  animation:unlock-line-stamp .55s ease-out;
}
@keyframes unlock-line-stamp{
  0%{opacity:0;transform:translateY(6px) scale(0.98)}
  55%{opacity:1;transform:translateY(0) scale(1.02)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* Legacy only (?celebrate=legacy): 1900s Michelin paper confetti — parchment scraps, red ticks, dots */
.cta-confetti{
  position:absolute;
  inset:0 -4% auto -4%;
  height:110%;
  pointer-events:none;
  z-index:4;
  overflow:hidden;
}
.confetti-piece{
  position:absolute;
  top:-8%;
  display:block;
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}
.cta-confetti.is-bursting .confetti-piece{
  animation:paper-confetti-fall var(--dur,1.4s) ease-in forwards;
  animation-delay:var(--delay,0s);
}
.confetti-parchment{
  width:calc(10*var(--k));
  height:calc(7*var(--k));
  min-width:7px;min-height:5px;
  background:#f1e7cc;
  border:1px solid rgba(36,28,20,.35);
  box-shadow:0 1px 0 rgba(36,28,20,.12);
}
.confetti-tick{
  width:calc(8*var(--k));
  height:2px;
  min-width:6px;
  background:#BD2333;
  border-radius:1px;
}
.confetti-dot{
  width:calc(6*var(--k));
  height:calc(6*var(--k));
  min-width:4px;min-height:4px;
  border-radius:50%;
  background:#BD2333;
  box-shadow:0 0 0 1px rgba(189,35,51,.25);
}
@keyframes paper-confetti-fall{
  0%{
    opacity:0;
    transform:translate3d(0,-6px,0) rotate(0deg);
  }
  12%{opacity:.95}
  100%{
    opacity:0;
    transform:translate3d(var(--drift,12px),118px,0) rotate(var(--spin,90deg));
  }
}


/* FAQ after contact: Michelin-red short rule between prefer-to-talk block and FAQs */
/* FAQs above contact heading; Michelin-red rule between FAQ list and Contact us */
#contact .faq-block{margin:calc(28*var(--k)) auto calc(8*var(--k));max-width:calc(700*var(--k))}
.faq-divider{margin-top:calc(32*var(--k));margin-bottom:calc(28*var(--k))}
.colophon .rule.rule-red{border-color:#BD2333;filter:none;mix-blend-mode:normal}

/* ==========================================================================
   Inspection unlock (default · UNLOCK_STYLE = "inspection")
   1. "Inspector's Notes" card writes each pick in ink as it is chosen.
   2. Third line written → 250ms pause → the inspector's rosette seal presses onto the card
      (scale 1.25 → 0.96 → 1, ink halo, paper dent, 2–3px thud of the card).
   3. Red ink flows into Buy Now, then Book my call (+120ms); the two rosettes beside "or" ink in black;
      "Inspection complete. Choose your next step." appears.
   Plussing: rosette tick beside each group heading when picked; card lifts on its shadow while writing.
   Deselect reverses it. Fallbacks: ?celebrate=stamp (74decdd "Cleared.") · ?celebrate=legacy (52bc58d).
   Everything here is transform/opacity/clip-path on reserved boxes: no layout shift.
   ========================================================================== */
#contact .inspect{display:none}
#contact[data-unlock="inspection"] .inspect{display:block}
#contact[data-unlock="inspection"] .cleared-stamp,
#contact[data-unlock="inspection"] .unlock-line,
#contact[data-unlock="inspection"] .cta-confetti{display:none}

.inspect{max-width:min(520px,100%);margin:calc(6*var(--k)) auto calc(6*var(--k));text-align:left}
.inspect-card{
  position:relative;
  padding:calc(16*var(--k)) max(16px,calc(26*var(--k))) max(12px,calc(16*var(--k)));
  background:radial-gradient(120% 140% at 50% 38%,#f6eed8 0%,#efe3c5 60%,#e3d1a8 100%);
  border:1px solid rgba(96,68,36,.34);
  box-shadow:inset 0 0 0 3px rgba(246,238,216,.55),inset 0 0 0 4px rgba(189,35,51,.22),0 1px 2px rgba(60,40,20,.14),0 10px 18px -12px rgba(60,40,20,.38);
  text-shadow:none;
  -webkit-text-stroke:0;
  transition:transform .3s ease,box-shadow .3s ease;
}
/* plussing: while a line is being written the card rises a hair on a softer, deeper shadow */
.inspect-card.is-writing{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 3px rgba(246,238,216,.55),inset 0 0 0 4px rgba(189,35,51,.22),0 3px 5px rgba(60,40,20,.12),0 18px 28px -14px rgba(60,40,20,.45);
}
.inspect-head{
  margin:0 0 calc(2*var(--k));
  padding-bottom:calc(8*var(--k));
  border-bottom:1.5px solid #BD2333;
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:.07em;
  font-size:max(17px,calc(23*var(--k)));
  line-height:1.2;
  color:var(--ink);
}
.inspect-lines{margin:0}
.inspect-line{display:flex;align-items:flex-end;gap:calc(12*var(--k));height:max(40px,calc(48*var(--k)))}
.inspect-line dt{
  flex:0 0 5.3em;
  padding-bottom:6px;
  font-variant:small-caps;
  letter-spacing:.05em;
  font-size:max(15px,calc(20*var(--k)));
  line-height:1.2;
  color:#3d3125;
}
.inspect-line dd{
  flex:1 1 auto;
  min-width:0;
  height:100%;
  margin:0;
  padding-bottom:3px;
  display:flex;
  align-items:flex-end;
  border-bottom:1.5px dotted rgba(36,28,20,.3);
}
/* The visitor's own words, in iron-gall ink: clip-path "pen" reveal, then the ink dries darker */
.inspect-ink{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  padding:0 .18em 0 .04em;
  font-style:italic;
  font-size:max(17px,calc(24*var(--k)));
  line-height:1.3;
  color:#1f2a44;
  opacity:0;
  clip-path:inset(-30% 100% -30% 0);
  transition:opacity .22s ease,clip-path 0s linear .22s;
}
.inspect-ink.is-written{
  opacity:1;
  clip-path:inset(-30% 0 -30% 0);
  transition:clip-path .56s cubic-bezier(.42,.08,.52,1),opacity .08s ease;
  animation:inspect-ink-dry 1.2s ease-out both;
}
@keyframes inspect-ink-dry{0%{color:#41589a}100%{color:#1f2a44}}

/* Inspector's seal: rosette + "INSPECTED · NY LIGHT AND MAGIC" ring + today's date */
.inspect-stamp,.inspect-dent{
  --s:max(112px,calc(150*var(--k)));
  position:absolute;
  width:var(--s);
  height:var(--s);
  top:calc(100% - var(--s) + 26px);
  right:-44px;
  border-radius:50%;
  pointer-events:none;
}
.inspect-stamp{
  z-index:2;
  color:#1a1714; /* black rubber-stamp-pad ink (was Michelin red #b31f2f, tag unlock-inspection-red-stamp-e89a050) */
  opacity:0;
  visibility:hidden;
  transform:rotate(-14deg) scale(1.25);
  transform-origin:50% 50%;
  mix-blend-mode:multiply;
}
.inspect-stamp svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 .7px rgba(26,23,20,.5))}
.inspect-ring{font-family:Schola,Georgia,serif;font-weight:700;letter-spacing:1.1px}
.inspect-ring-top{font-size:13px;letter-spacing:3px}
.inspect-ring-bottom{font-size:10.6px;letter-spacing:.9px}
.inspect-date{font-family:Schola,Georgia,serif;font-weight:700;font-size:11.5px;letter-spacing:.4px}
/* ink-bleed halo that blooms once on impact */
.inspect-stamp::before{
  content:"";
  position:absolute;
  inset:-14%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(26,23,20,0) 46%,rgba(26,23,20,.16) 60%,rgba(26,23,20,0) 72%);
  opacity:0;
}
.inspect-dent{
  z-index:1;
  opacity:0;
  box-shadow:0 0 0 0 rgba(40,25,10,0),inset 0 1.5px 2.5px rgba(70,45,20,0),inset 0 -1px 1px rgba(255,250,235,0);
}
.inspect.is-stamped .inspect-stamp{opacity:.84;visibility:visible;transform:rotate(-14deg) scale(1)}
.inspect.is-stamped .inspect-dent,
.inspect.is-lifting .inspect-dent{
  opacity:1;
  box-shadow:0 0 0 0 rgba(40,25,10,0),inset 0 1.5px 2.5px rgba(70,45,20,.26),inset 0 -1px 1px rgba(255,250,235,.55);
}
.inspect.is-stamping .inspect-stamp{animation:inspect-stamp-press .56s linear both}
.inspect.is-stamping .inspect-stamp::before{animation:inspect-halo .75s .235s ease-out both}
.inspect.is-stamping .inspect-dent{animation:inspect-dent-in .56s linear both}
.inspect.is-stamping .inspect-card{animation:inspect-card-thud .26s .235s ease-out both}
@keyframes inspect-stamp-press{
  0%{opacity:0;transform:rotate(-21deg) scale(1.25);animation-timing-function:cubic-bezier(.55,0,.9,.45)}
  14%{opacity:.5}
  42%{opacity:.96;transform:rotate(-14deg) scale(.96);animation-timing-function:cubic-bezier(.2,.65,.3,1)}
  64%{transform:rotate(-14deg) scale(1.012)}
  100%{opacity:.84;transform:rotate(-14deg) scale(1)}
}
@keyframes inspect-dent-in{
  /* the seal's shadow gathers as it comes down (anticipation), then becomes a pressed dent */
  0%{opacity:0;transform:scale(1.3);box-shadow:0 16px 24px 6px rgba(40,25,10,0),inset 0 1.5px 2.5px rgba(70,45,20,0),inset 0 -1px 1px rgba(255,250,235,0);animation-timing-function:cubic-bezier(.55,0,.9,.45)}
  30%{opacity:1;box-shadow:0 8px 16px 2px rgba(40,25,10,.16),inset 0 1.5px 2.5px rgba(70,45,20,0),inset 0 -1px 1px rgba(255,250,235,0)}
  42%{transform:scale(1);box-shadow:0 1px 3px 0 rgba(40,25,10,.2),inset 0 1.5px 2.5px rgba(70,45,20,.34),inset 0 -1px 1px rgba(255,250,235,.6)}
  100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(40,25,10,0),inset 0 1.5px 2.5px rgba(70,45,20,.26),inset 0 -1px 1px rgba(255,250,235,.55)}
}
@keyframes inspect-halo{
  0%{opacity:0;transform:scale(.86)}
  22%{opacity:1}
  100%{opacity:0;transform:scale(1.16)}
}
@keyframes inspect-card-thud{
  0%{transform:translate(0,0)}
  18%{transform:translate(-2.5px,1.5px)}
  42%{transform:translate(2px,-.5px)}
  68%{transform:translate(-1px,.5px)}
  100%{transform:translate(0,0)}
}
/* reverse: the seal lifts off and the dent relaxes */
.inspect.is-lifting .inspect-stamp{visibility:visible;animation:inspect-stamp-lift .24s ease-in both}
.inspect.is-lifting .inspect-dent{animation:inspect-fade-out .3s ease both}
@keyframes inspect-stamp-lift{
  0%{opacity:.84;transform:rotate(-14deg) scale(1)}
  100%{opacity:0;transform:rotate(-19deg) scale(1.18) translateY(-6px)}
}
@keyframes inspect-fade-out{from{opacity:1}to{opacity:0}}

/* one confident line under the card, space reserved */
.inspect-next{
  margin:calc(12*var(--k)) auto 0;
  min-height:1.45em;
  text-align:center;
  font-style:italic;
  font-size:max(16px,calc(23*var(--k)));
  line-height:1.45;
  color:var(--ink);
  opacity:0;
  visibility:hidden;
  transform:translateY(3px);
  transition:opacity .45s ease,visibility .45s ease,transform .45s ease;
}
.inspect-next{text-wrap:balance}
.inspect.is-sealed .inspect-next{opacity:1;visibility:visible;transform:none}

/* buttons: red ink flows from the 2/3 mark to full (no settle: the buttons never move at unlock) */
#contact[data-unlock="inspection"] #buy-now,
#contact[data-unlock="inspection"] #book-call{
  transition:background-size .55s cubic-bezier(.35,.1,.25,1),background-color 0s linear,color .3s ease,opacity .3s ease,box-shadow .3s ease,filter .3s ease,transform .25s ease;
}
#contact[data-unlock="inspection"] #buy-now[data-progress="3"],
#contact[data-unlock="inspection"] #book-call[data-progress="3"]{
  transition:background-size .55s cubic-bezier(.35,.1,.25,1),background-color 0s linear .55s,color .35s ease .2s,opacity .3s ease,box-shadow .4s ease .3s,filter .3s ease,transform .25s ease;
}
/* the two rosettes beside "or": gray while locked, ink in solid black on unlock, left then right */
#contact[data-unlock="inspection"] .cta-or .stars i{opacity:.42;transition:opacity .5s ease,filter .5s ease}
#contact[data-unlock="inspection"] .cta-or.is-inked .stars i{
  opacity:1;
  filter:brightness(0);
}
#contact[data-unlock="inspection"] .cta-or.is-inked .stars:last-child i{transition-delay:.14s}

/* Section headings carry their own rosettes (Trade 1, Package 2, Timeline 3), always in the layout, so nothing
   shifts. They rest in charcoal ink; once that group is picked (form.js toggles .is-on) each one inks Michelin red,
   left to right, replacing the old single pick tick. The red layer is an ::after crossfade (no size change). */
.legend-text{position:relative;display:inline-block}
.group-tick{display:inline-flex;gap:.1em;margin-left:.38em;vertical-align:-.1em;pointer-events:none}
.group-tick i{position:relative;display:block;width:.86em;height:.81em;background:url(assets/rosette.svg) center/contain no-repeat;
  opacity:.82;transition:opacity .25s ease}
.group-tick i::after{content:"";position:absolute;inset:0;background:inherit;
  filter:brightness(0) saturate(100%) invert(18%) sepia(92%) saturate(3200%) hue-rotate(340deg) brightness(92%) contrast(96%);
  opacity:0;transform:scale(1.5) rotate(-20deg);transition:opacity .16s ease,transform .32s cubic-bezier(.3,1.5,.5,1)}
.group-tick.is-on i{opacity:1}
.group-tick.is-on i::after{opacity:1;transform:none}
.group-tick.is-on i:nth-child(2)::after{transition-delay:.09s}
.group-tick.is-on i:nth-child(3)::after{transition-delay:.18s}

@media (min-width:601px){.inspect-card{padding-right:60px}}
@media (max-width:600px){
  .inspect{max-width:calc(100% - 14px)}
  .inspect-line dt{flex-basis:4.9em}
  /* phones: the seal lands on the top-right corner (over the heading), clear of the long Package line */
  .inspect-stamp,.inspect-dent{--s:104px;right:-8px;top:-12px}
}
@media (prefers-reduced-motion:reduce){
  .inspect-ink,.inspect-ink.is-written{transition:none;animation:none}
  .inspect.is-stamping .inspect-stamp,.inspect.is-stamping .inspect-stamp::before,.inspect.is-stamping .inspect-dent,.inspect.is-stamping .inspect-card,
  .inspect.is-lifting .inspect-stamp,.inspect.is-lifting .inspect-dent{animation:none}
  .inspect-next{transition:none}
  .inspect-card,.inspect-card.is-writing{transition:none;transform:none}
  .group-tick i,.group-tick i::after,.group-tick.is-on i::after{transition:none}
  #contact[data-unlock="inspection"] #buy-now,#contact[data-unlock="inspection"] #book-call,
  #contact[data-unlock="inspection"] #buy-now[data-progress="3"],#contact[data-unlock="inspection"] #book-call[data-progress="3"]{transition:none}
  #contact[data-unlock="inspection"] .cta-or .stars i{transition:none}
}

/* big play button over the sales video (tag model-before-play-button-12eb54b to revert) */
.media-slot{position:relative}
.vsl-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border:0;border-radius:50%;
  background:#BD2333;box-shadow:0 0 0 3px #f6efe0,0 3px 14px rgba(0,0,0,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;z-index:2;transition:background-color .2s ease,opacity .2s ease}
.vsl-play svg{width:42px;height:42px;fill:#f6efe0;margin-left:0}
.vsl-play:hover,.vsl-play:focus-visible{background:#951a28}
.vsl-play:focus-visible{outline:3px solid #f6efe0;outline-offset:3px}
.media-slot.is-playing .vsl-play{opacity:0;pointer-events:none}
@media (max-width:600px){.vsl-play{width:64px;height:64px;margin:-32px 0 0 -32px}.vsl-play svg{width:32px;height:32px;margin-left:0}}


/* taste line below the sales video, above Request a quote (revert: model-taste-line-above-* tag) */
.taste-line{max-width:calc(640*var(--k));margin:calc(40*var(--k)) auto calc(6*var(--k));padding:calc(22*var(--k)) 0;
  border-top:2px solid #BD2333;border-bottom:2px solid #BD2333;font-style:normal;color:var(--ink);
  font-size:calc(30*var(--k));line-height:calc(40*var(--k));text-align:center;filter:none;mix-blend-mode:normal;
  -webkit-text-stroke:calc(.4*var(--k)) var(--ink)}
.taste-red{color:#BD2333;-webkit-text-stroke:calc(.4*var(--k)) #BD2333}
@media (max-width:600px){.taste-line{font-size:19px;line-height:26px;margin:28px 6% 6px;padding:16px 0}}

/* taste line: inspector underline + margin note + video hand-off (js/taste.js; revert tags model-taste-anim-v1-* / model-before-taste-anim-*) */
.taste-line{position:relative}
.taste-red{background-image:linear-gradient(transparent,transparent);background-repeat:no-repeat}
.taste-line.tl-armed .taste-red{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5.2 C40 3.6 80 6.4 120 4.4 S180 3.4 199 4.8' fill='none' stroke='%23BD2333' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:0% 7px;background-position:0 100%;padding-bottom:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  transition:background-size 1.3s cubic-bezier(.45,.05,.35,1)}
.taste-line.tl-marked .taste-red{background-size:100% 7px}
.taste-note{max-width:calc(640*var(--k));margin:calc(4*var(--k)) auto calc(-8*var(--k));text-align:right;padding-right:calc(10*var(--k));
  font-family:"Bradley Hand","Segoe Print","Snell Roundhand","Comic Neue",cursive;font-style:normal;font-size:max(17px,calc(24*var(--k)));line-height:1.1;
  color:#5b554d;-webkit-text-stroke:0;text-shadow:none;filter:none;mix-blend-mode:multiply;transform:rotate(-4deg);transform-origin:100% 50%}
@media (max-width:600px){.taste-note{margin:6px 6% -4px}}
.quote-link a.tl-next{box-shadow:0 2px 0 #7d1520,0 0 0 4px #f6eedb,0 0 0 6px #BD2333;transition:box-shadow .8s ease}
@media (prefers-reduced-motion:reduce){.taste-line.tl-armed .taste-red{transition:none}}

.taste-line .taste-red{color:inherit}

/* ---------- light and magic (js/magic.js; flags at the top of that file; revert tag model-before-light-magic-*) ---------- */
:root{--mg-lamp:.7}
.mg-t-morning{--mg-lamp:.6}.mg-t-golden{--mg-lamp:.75}.mg-t-night{--mg-lamp:1}
/* 1. reading lamp: a warm pool over a barely dimmer room, soft-light so the paper grain looks lit */
.mg-lamp{position:fixed;inset:0;z-index:25;pointer-events:none;overflow:hidden;mix-blend-mode:soft-light;opacity:var(--mg-lamp);
  background:transparent}
.mg-lamp-pool{position:absolute;left:0;top:0;width:1000px;height:1000px;margin:-500px 0 0 -500px;pointer-events:none;
  background:radial-gradient(circle closest-side,rgba(255,231,184,.95) 0,rgba(255,220,163,.78) 20%,rgba(250,206,146,.45) 42%,rgba(200,170,130,.12) 70%,rgba(128,128,128,0) 100%);
  transform:translate3d(50vw,20vh,0)}
.mg-still .mg-lamp-pool{transform:translate3d(50vw,18vh,0)}
/* 2. invisible ink: lemon-juice notes in the margins, warmed into view by the lamp */
.mg-note{display:none;position:absolute;left:0;top:0;z-index:3;width:140px;margin:0;pointer-events:none;user-select:none;-webkit-user-select:none;
  font-family:"Bradley Hand","Segoe Print","Snell Roundhand","Comic Neue",cursive;font-size:18px;line-height:1.18;text-align:center;
  color:#8a5a2b;color:color-mix(in srgb,#8a5a2b calc(35% + var(--lv,0) * 65%),#d6b47c);
  text-shadow:0 0 1.5px rgba(138,90,43,.3);-webkit-text-stroke:0;filter:none;mix-blend-mode:multiply;
  opacity:calc(var(--lv,0) * .9);transform-origin:50% 50%}
@media (min-width:1100px){.mg-note{display:block}}
/* 3. watermark: a pressed monogram, seen only inside the lamp pool */
.mg-wm{position:absolute;left:0;top:0;z-index:-1;width:min(380px,76vw);aspect-ratio:1;pointer-events:none;color:#6e4c27;opacity:.16;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(circle 200px at var(--wx,-999px) var(--wy,-999px),#000 0,rgba(0,0,0,.6) 40%,transparent 100%);
  mask-image:radial-gradient(circle 200px at var(--wx,-999px) var(--wy,-999px),#000 0,rgba(0,0,0,.6) 40%,transparent 100%)}
.mg-wm svg{display:block;width:100%;height:100%;overflow:visible;font-family:Schola,"Century Schoolbook",Georgia,serif}
.mg-wm image{opacity:.85}
/* 4. room light from the visitor's clock */
.mg-tint{position:fixed;inset:0;z-index:24;pointer-events:none}
.mg-t-morning .mg-tint{background:linear-gradient(180deg,rgba(214,228,246,.34),rgba(222,233,246,.16));mix-blend-mode:multiply}
.mg-t-golden .mg-tint{background:linear-gradient(112deg,rgba(255,176,90,.55) 0,rgba(255,188,112,.28) 30%,rgba(255,200,140,0) 62%,rgba(40,24,10,.18) 100%);mix-blend-mode:soft-light}
.mg-t-night .mg-tint{background:radial-gradient(ellipse 120% 100% at 50% 40%,rgba(52,36,22,.09),rgba(34,22,12,.2));mix-blend-mode:multiply}
/* 5. foil rosettes: a narrow glint, moved by scroll and the lamp (--g 0..1) */
.stars i.mg-foil{position:relative}
.stars i.mg-foil::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(104deg,transparent 45%,rgba(255,236,196,.22) 48%,rgba(255,247,224,.68) 50%,rgba(255,236,196,.22) 52%,transparent 55%) calc(var(--g,0) * 100%) 0/300% 100% no-repeat;
  -webkit-mask:url(assets/rosette.svg) center/contain no-repeat;mask:url(assets/rosette.svg) center/contain no-repeat}
/* 6. the video's last light spills onto the paper around the frame */
.mg-spill{position:absolute;z-index:26;pointer-events:none;opacity:0;border-radius:2px;
  box-shadow:0 0 24px 4px rgba(var(--c),.5),0 0 80px 26px rgba(var(--c),.3),0 0 170px 60px rgba(var(--c),.14);transition:opacity 4s cubic-bezier(.3,0,.45,1)}
.mg-spill.is-bloom{opacity:1;transition:opacity 1.2s cubic-bezier(.2,.6,.3,1)}
@media (prefers-reduced-motion:reduce){.mg-note,.mg-wm,.mg-spill,.stars i.mg-foil::after{display:none}}
@media print{.mg-lamp,.mg-tint,.mg-note,.mg-wm,.mg-spill,.stars i.mg-foil::after{display:none}}

/* ---------- pricing v2: case study, one-line tier descriptions, A/B examples with parallax,
   Found Money System loops (email / text / landing page), Journey coming soon ---------- */
.nw{white-space:nowrap}

/* case study: set like an inspector's entry in the guide, between double ink rules (static) */
.case{margin:calc(40*var(--k)) auto 0;max-width:calc(620*var(--k));padding:calc(24*var(--k)) 0 calc(26*var(--k));
  border-top:max(3px,calc(5*var(--k))) double var(--ink);border-bottom:max(3px,calc(5*var(--k))) double var(--ink)}
.case-title{font-weight:700;font-size:max(20px,calc(32*var(--k)));line-height:1.18;text-wrap:balance}
.case-sub{font-style:italic;font-size:max(15px,calc(22*var(--k)));line-height:1.3;margin-top:calc(6*var(--k));-webkit-text-stroke:calc(.35*var(--k)) var(--ink)}
.case-body{font-size:max(16px,calc(25*var(--k)));line-height:1.45;margin:calc(16*var(--k)) auto 0;max-width:calc(560*var(--k));text-wrap:pretty;
  -webkit-text-stroke:calc(.4*var(--k)) var(--ink)}
.case-rule{border:0;border-top:2px solid #BD2333;width:calc(70*var(--k));min-width:44px;margin:calc(18*var(--k)) auto 0}
.case-founding{font-style:italic;font-size:max(16px,calc(25*var(--k)));line-height:1.4;margin:calc(14*var(--k)) auto 0;max-width:calc(540*var(--k));text-wrap:balance;
  -webkit-text-stroke:calc(.4*var(--k)) var(--ink)}
.case + .tier-divider{margin-top:calc(40*var(--k))}

/* one-line tier descriptions */
.tier-desc{font-style:italic;font-size:max(18px,calc(33*var(--k)));line-height:1.2;margin-top:calc(12*var(--k));-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}
.tier .badge + .tier-desc{margin-top:calc(14*var(--k))}
.tier .tier-desc + .features{margin-top:calc(8*var(--k))}

/* Worth the Stop: Example A / Example B side by side (stacked on phones); the picture drifts a few % inside its frame on scroll */
.examples-ab{display:grid;grid-template-columns:1fr 1fr;gap:calc(22*var(--k));width:min(calc(660*var(--k)),100%);margin:calc(24*var(--k)) auto 0;
  mix-blend-mode:normal;isolation:isolate}
.examples-ab .example{width:auto;margin:0}
.px-frame{position:relative;overflow:hidden;aspect-ratio:4/3;border:max(3px,calc(5*var(--k))) double var(--ink);background:#111}
.px-frame .px-media{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;border:0;
  transform:translate3d(0,calc(var(--py,0) * 3.6%),0) scale(1.1);will-change:transform}
@media (max-width:600px){.examples-ab{grid-template-columns:1fr;gap:20px;width:92%}.example figcaption{font-size:max(15px,calc(25*var(--k)))}}
@media (prefers-reduced-motion:reduce){.px-frame .px-media{transform:none;will-change:auto}}

/* Worth the Detour: the Found Money System, three looping plates */
.dlv{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(20*var(--k));width:min(calc(660*var(--k)),100%);margin:calc(24*var(--k)) auto 0;
  mix-blend-mode:normal;isolation:isolate;text-shadow:none}
.dlv-item{margin:0;container-type:inline-size}
.dlv-item figcaption{font-style:italic;font-size:max(15px,calc(24*var(--k)));line-height:1.2;margin-top:calc(9*var(--k));color:var(--ink);filter:url(#ink);
  -webkit-text-stroke:calc(.35*var(--k)) var(--ink)}
.dlv-screen{position:relative;aspect-ratio:4/5;overflow:hidden;font-size:10px;font-size:5cqw;text-align:left;
  font-family:Schola,"Century Schoolbook",Georgia,serif;color:var(--ink);background:#f8f2e2;
  border:max(3px,calc(5*var(--k))) double var(--ink);-webkit-text-stroke:0}
.dlv-screen p{margin:0}
@media (max-width:600px){.dlv{grid-template-columns:1fr;gap:22px;width:58%}}

/* (a) email: inbox, the top message is tapped and opens */
.em-inbox,.em-open{position:absolute;inset:0;padding:1em 1.1em}
.em-bar{display:flex;align-items:center;height:1.9em;border-bottom:1px solid rgba(24,18,12,.55);font-weight:700;font-size:.95em}
.em-row{position:relative;padding:.75em .4em .75em 1.1em;margin:0 -.4em;border-bottom:1px solid rgba(24,18,12,.16)}
.em-dot{position:absolute;left:.3em;top:1.05em;width:.5em;height:.5em;border-radius:50%;background:#A61F2D}
.em-from{display:block;font-weight:700;font-size:.82em;line-height:1.2}
.em-subj{display:block;font-size:.74em;line-height:1.3;margin-top:.15em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.em-line{display:block;height:.36em;border-radius:.2em;background:rgba(24,18,12,.16);margin-top:.42em}
.em-short{width:58%}.em-mid{width:80%}
.em-dim{height:.5em;width:46%;border-radius:.2em;background:rgba(24,18,12,.38)}
.em-open{background:#fbf7ec;box-shadow:-.4em 0 1em rgba(24,18,12,.12);transform:translateX(103%)}
.em-back{font-weight:400;font-style:italic;font-size:.9em;color:#A61F2D}
.em-o-subj{font-weight:700;font-size:1.02em;line-height:1.2;margin-top:.8em!important}
.em-o-from{font-style:italic;font-size:.74em;margin:.3em 0 .5em!important}
.em-open .em-line{margin-top:.55em}
.em-btn{display:inline-block;margin-top:1em;background:#A61F2D;color:#fbf7ec;font-weight:700;font-size:.66em;letter-spacing:.12em;text-transform:uppercase;padding:.6em 1.1em}

/* (b) text: a message arrives on a phone */
.dlv-text{background:linear-gradient(180deg,#efe6cf,#e4d8b9)}
.ph{position:absolute;left:14%;right:14%;top:7%;height:112%;border:1.5px solid var(--ink);border-radius:2.4em;background:linear-gradient(180deg,#2b241d,#4a3f33);
  box-shadow:inset 0 0 0 .35em #f4ecd8}
.ph-notch{position:absolute;left:50%;top:.8em;width:4.2em;height:1.05em;margin-left:-2.1em;border-radius:1em;background:#18120c}
.ph-time{position:absolute;left:0;right:0;top:.95em;text-align:center;color:#f4ecd8;font-size:2.9em;line-height:1;font-weight:400}
.ph-note{position:absolute;left:.85em;right:.85em;top:7.6em;padding:.75em .8em .85em;border-radius:.9em;background:rgba(251,247,236,.97);
  box-shadow:0 .35em 1em rgba(0,0,0,.28);opacity:0;transform:translateY(-.9em)}
.ph-app{display:flex;align-items:center;gap:.4em;font-size:.6em;letter-spacing:.08em;text-transform:uppercase;color:#4a3f33}
.ph-app i{display:inline-block;width:1.25em;height:1.25em;border-radius:.32em;background:#A61F2D}
.ph-app span{margin-left:auto;text-transform:none;letter-spacing:0;font-style:italic}
.ph-who{font-weight:700;font-size:.8em;margin-top:.45em!important}
.ph-msg{font-size:.72em;line-height:1.32;margin-top:.15em!important}

/* (c) landing page: a page scrolling in a browser window */
.bw-bar{display:flex;align-items:center;gap:.3em;height:1.9em;padding:0 .7em;border-bottom:1px solid rgba(24,18,12,.5);background:#efe6cf}
.bw-bar i{display:block;width:.5em;height:.5em;border-radius:50%;border:1px solid rgba(24,18,12,.6)}
.bw-url{flex:1;height:.85em;margin-left:.5em;border-radius:.5em;background:rgba(24,18,12,.1)}
.bw-view{position:absolute;left:0;right:0;top:1.9em;bottom:0;overflow:hidden}
.bw-sheet{padding:.9em 1.1em 1.4em}
.lp-hero{padding:1em .9em 1.1em;background:#ede2c6;text-align:center}
.lp-k{display:block;font-size:.58em;letter-spacing:.16em;text-transform:uppercase;color:#A61F2D;font-weight:700}
.lp-h{display:block;font-weight:700;font-size:1.45em;line-height:1.1;margin:.3em 0 .25em}
.lp-line{display:block;height:.36em;border-radius:.2em;background:rgba(24,18,12,.16);margin:.42em auto 0;width:100%}
.lp-short{width:60%}.lp-mid{width:82%}
.lp-cta{display:inline-block;margin-top:.8em;background:#A61F2D;color:#fbf7ec;font-weight:700;font-size:.6em;letter-spacing:.12em;text-transform:uppercase;padding:.6em 1.1em}
.lp-img{height:6.4em;margin-top:.8em;background:linear-gradient(180deg,rgba(24,18,12,.06),rgba(24,18,12,.22)),linear-gradient(115deg,#c9b48c,#8d7a5b 60%,#5f5242)}
.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.45em;margin:.8em 0 .5em}
.lp-cards span{display:block;height:3.4em;border:1px solid rgba(24,18,12,.28);background:#fbf7ec}
.lp-quote{margin-top:.9em;padding:.2em 0 .2em .7em;border-left:.22em solid #A61F2D}
.lp-quote .lp-line{margin-left:0}
.lp-cta2{display:table;margin:1em auto 0}

@media (prefers-reduced-motion:no-preference){
  .em-open{animation:em-open 7s infinite}
  .em-row-new{animation:em-tap 7s infinite}
  .em-dot{animation:em-dot 7s infinite}
  .ph-note{animation:ph-note 6s infinite}
  .bw-scroll{animation:bw-scroll 14s linear infinite}
}
@keyframes em-open{
  0%,24%{transform:translateX(103%);opacity:1;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
  34%,84%{transform:translateX(0);opacity:1;animation-timing-function:ease-in-out}
  93%{transform:translateX(0);opacity:0}
  93.5%,100%{transform:translateX(103%);opacity:0}}
@keyframes em-tap{0%,14%{background:transparent}19%,30%{background:rgba(166,31,45,.09)}38%,100%{background:transparent}}
@keyframes em-dot{0%,30%{opacity:1}36%,92%{opacity:0}97%,100%{opacity:1}}
@keyframes ph-note{
  0%,14%{opacity:0;transform:translateY(-.9em);animation-timing-function:cubic-bezier(.22,.61,.36,1)}
  24%,82%{opacity:1;transform:translateY(0);animation-timing-function:ease-in}
  92%,100%{opacity:0;transform:translateY(0)}}
@keyframes bw-scroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){.em-open{transform:none}.ph-note{opacity:1;transform:none}}

/* Worth the Journey: coming soon, one 9:16 film */
.tier .soon{font-style:normal;font-weight:700;text-transform:uppercase;color:#A61F2D;font-size:max(13px,calc(18*var(--k)));letter-spacing:.3em;line-height:1;
  display:flex;align-items:center;justify-content:center;gap:.9em;margin-top:calc(16*var(--k));padding-left:.3em;text-shadow:none;-webkit-text-stroke:0}
.tier .soon::before,.tier .soon::after{content:"";width:calc(34*var(--k));min-width:20px;border-top:1.5px solid #BD2333}
.example-916{width:min(300px,60%);margin-top:calc(22*var(--k))}
.example-916 video{aspect-ratio:9/16;object-fit:cover}

/* Worth the Journey: two 9:16 films side by side */
.examples-916{display:grid;grid-template-columns:1fr 1fr;gap:calc(22*var(--k));width:min(calc(520*var(--k)),92%);margin:calc(22*var(--k)) auto 0;mix-blend-mode:normal;isolation:isolate}
.examples-916 .example{width:auto;margin:0}
.examples-916 video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#111;border:max(3px,calc(5*var(--k))) double var(--ink)}
@media (max-width:600px){.examples-916{gap:12px;width:94%}}

.examples-916{grid-template-columns:1fr;width:min(calc(300*var(--k)),62%)}
.tier .tier-key{font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#A61F2D;font-size:max(14px,calc(24*var(--k)));line-height:1.25;
  margin-top:calc(16*var(--k));padding-left:.16em;-webkit-text-stroke:0;text-shadow:none;text-wrap:balance}
.tier .tier-key + .features{margin-top:calc(16*var(--k))}
.case + .tier-divider{margin-top:calc(30*var(--k))}

/* Worth the Detour: one phone graphic, benefit list, boxed guarantee; the lead tier */
.dlv.dlv-one{display:block;width:min(calc(380*var(--k)),84%);margin:calc(22*var(--k)) auto 0}
.dlv-one .dlv-screen{aspect-ratio:20/27}
.dlv-one figcaption{text-align:center;font-style:normal;font-weight:700;font-size:max(15px,calc(23*var(--k)));margin-top:calc(12*var(--k));text-wrap:balance}
.ph-a{top:7.4em}
.ph-b{top:17.6em;border-left:.3em solid #A61F2D}
.ph-b .ph-who{font-size:.8em;margin-top:.3em!important;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.ph-a{animation:ph-a 9s infinite}.ph-b{animation:ph-b 9s infinite}}
@keyframes ph-a{0%,6%{opacity:0;transform:translateY(-.9em);animation-timing-function:cubic-bezier(.22,.61,.36,1)}16%,90%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(0)}}
@keyframes ph-b{0%,44%{opacity:0;transform:translateY(-.9em);animation-timing-function:cubic-bezier(.22,.61,.36,1)}54%,90%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(0)}}
.tier-lead{border:max(3px,calc(5*var(--k))) double var(--ink);padding:calc(26*var(--k)) calc(22*var(--k)) calc(30*var(--k));background:rgba(255,252,243,.28);
  width:min(calc(720*var(--k)),100%);margin-left:auto;margin-right:auto;box-sizing:border-box}
.tier-lead .price{font-size:calc(46*var(--k))}
.tier-lead h2{font-size:1.1em}
.tier-guarantee{margin:calc(26*var(--k)) auto 0;max-width:calc(600*var(--k));border:max(2px,calc(3*var(--k))) solid #A61F2D;padding:calc(18*var(--k)) calc(22*var(--k));
  background:rgba(166,31,45,.06);mix-blend-mode:normal;isolation:isolate;text-shadow:none}
.tier-guarantee .tg-k{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#A61F2D;font-size:max(15px,calc(24*var(--k)));padding-left:.2em}
.tier-guarantee .tg-t{margin:calc(10*var(--k)) 0 0;font-size:max(16px,calc(25*var(--k)));line-height:1.4;text-wrap:pretty;color:var(--ink)}

.case-orange{font-style:normal!important;font-weight:700;font-size:max(19px,calc(31*var(--k)))!important;line-height:1.3!important;max-width:calc(580*var(--k))!important;
  margin-top:calc(22*var(--k))!important;padding:calc(18*var(--k)) 0;border-top:2px solid #BD2333;border-bottom:2px solid #BD2333;text-wrap:balance}
.tg-t a{color:inherit;text-decoration:underline}

/* booked-job notification first, then the text message */
.ph-b{top:7.4em!important}.ph-a{top:13.4em!important}
@media (prefers-reduced-motion:no-preference){.ph-b{animation:ph-a 9s infinite!important}.ph-a{animation:ph-b 9s infinite!important}}

.tier-guarantee .tg-t + .tg-t{margin-top:calc(12*var(--k))}
.tier-guarantee .tg-t:first-of-type{font-weight:700}
.tier-guarantee .tg-fine{margin:calc(12*var(--k)) 0 0;font-size:max(13px,calc(20*var(--k)));font-style:italic;color:var(--ink)}
.tier-guarantee .tg-fine a{color:inherit;text-decoration:underline}

.inc-line{font-style:italic;font-size:max(16px,calc(27*var(--k)));line-height:1.3;margin:calc(20*var(--k)) auto 0;max-width:calc(560*var(--k));text-wrap:balance}
.plain-list{list-style:none;margin:calc(14*var(--k)) auto 0;padding:0;max-width:calc(560*var(--k));text-align:center}
.plain-list li{font-size:max(15px,calc(24*var(--k)));line-height:1.38;margin-top:calc(12*var(--k));text-wrap:pretty}
.plain-list strong{font-weight:700}

.addon{margin:calc(30*var(--k)) auto 0;max-width:calc(600*var(--k));text-align:center;padding:calc(16*var(--k)) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.addon-k{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#A61F2D;font-size:max(13px,calc(20*var(--k)))}
.addon-t{font-weight:700;font-size:max(19px,calc(30*var(--k)));margin:calc(8*var(--k)) 0 0;line-height:1.2}
.addon-p{font-size:max(15px,calc(23*var(--k)));line-height:1.4;margin:calc(10*var(--k)) auto 0;text-wrap:pretty}

.px-stat{margin:calc(10*var(--k)) 0 0;font-size:max(14px,calc(22*var(--k)));line-height:1.35;text-align:center;text-wrap:balance}
.px-stat b{display:block;font-size:max(20px,calc(36*var(--k)));line-height:1.1;color:#A61F2D;margin-bottom:calc(2*var(--k))}
.px-note{margin:calc(14*var(--k)) 0 0;font-style:italic;font-size:max(13px,calc(20*var(--k)));text-align:center}

.fms{max-width:calc(560*var(--k));margin:calc(20*var(--k)) auto 0;text-align:center}
.fms p{font-size:max(16px,calc(26*var(--k)));line-height:1.42;margin:calc(12*var(--k)) 0 0;text-wrap:pretty}
.fms .fms-inc{font-style:italic;font-size:max(14px,calc(22*var(--k)));margin-top:0}
.fms .fms-big{font-weight:700;font-size:max(19px,calc(32*var(--k)));line-height:1.25;margin-top:calc(18*var(--k));text-wrap:balance}
.addon{max-width:calc(640*var(--k));padding:calc(26*var(--k)) calc(26*var(--k));border:max(3px,calc(5*var(--k))) double #A61F2D;background:rgba(166,31,45,.07);margin-top:calc(40*var(--k));mix-blend-mode:normal;isolation:isolate}
.addon-k{display:inline-block;background:#A61F2D;color:#f6eedb;padding:.35em .9em .35em 1.1em;letter-spacing:.24em}
.addon-t{font-size:max(22px,calc(40*var(--k)));margin-top:calc(14*var(--k))}
.addon-p{font-size:max(16px,calc(25*var(--k)))}

.px-stat b{font-size:max(19px,calc(31*var(--k)))}
.px-stat.px-before b{color:var(--ink)}
.px-lift{display:flex;align-items:center;justify-content:center;gap:.9em;margin:calc(22*var(--k)) 0 0;color:#A61F2D;font-weight:700;text-transform:uppercase;letter-spacing:.24em;
  font-size:max(15px,calc(26*var(--k)));padding-left:.24em}
.px-lift::before,.px-lift::after{content:"";width:calc(44*var(--k));min-width:22px;border-top:1.5px solid #BD2333}

/* Google AI Overview add-on card (light paper wash, never dark) */
.upsell{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(246,238,219,.82)}
.upsell-card{max-width:520px;width:100%;box-sizing:border-box;background:#f6eedb;border:5px double #1a1511;padding:28px 26px 26px;text-align:center;color:#1a1511;
  font-family:Schola,"Century Schoolbook",Georgia,serif;box-shadow:0 2px 0 #cdbf9c}
.upsell-k{display:inline-block;margin:0;background:#A61F2D;color:#f6eedb;font-weight:700;text-transform:uppercase;letter-spacing:.24em;font-size:13px;padding:.4em .9em .4em 1.1em}
.upsell-h{margin:14px 0 0;font-size:26px;line-height:1.2;font-weight:700;text-wrap:balance}
.upsell-p{margin:12px 0 0;font-size:17px;line-height:1.42;text-wrap:pretty}
.upsell-fine{margin:12px 0 0;font-size:14px;font-style:italic}
.upsell-btns{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:20px}
.upsell-yes{font:inherit;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:16px;background:#BD2333;color:#f6eedb;border:0;padding:14px 34px;cursor:pointer;box-shadow:0 2px 0 #7d1520}
.upsell-yes:hover,.upsell-yes:focus-visible{background:#A61F2D}
.upsell-no{font:inherit;font-size:16px;background:none;border:0;color:#1a1511;text-decoration:underline;cursor:pointer;padding:6px}
.upsell-yes:focus-visible,.upsell-no:focus-visible{outline:3px solid #1a1511;outline-offset:3px}

.chip-soon{opacity:.55;cursor:not-allowed}
.chip-soon input{pointer-events:none}

.taste-line{border-bottom:0!important;padding-bottom:0!important}
.colophon .faq-block{margin-top:calc(36*var(--k))}

.colophon .faq-block{max-width:calc(720*var(--k));margin-left:auto;margin-right:auto}
.colophon .faq-block h2{font-size:max(28px,calc(46*var(--k)))}
.colophon .faq summary{font-size:max(19px,calc(38*var(--k)));line-height:1.22}
.colophon .faq p{font-size:max(17px,calc(31*var(--k)));line-height:1.4}

.tier .tier-qual{font-style:italic;font-size:max(15px,calc(25*var(--k)));line-height:1.3;margin:calc(10*var(--k)) auto 0;text-wrap:balance;-webkit-text-stroke:0}

/* ---------- Worth the Stop: plain icon list + ledger before/after ---------- */
.features li.feat-plain{-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}
.features li.feat-plain .ico{width:max(16px,.8em);height:max(16px,.8em);margin-right:.32em;vertical-align:-.08em}
.stop-ab{width:min(calc(600*var(--k)),100%)}
.ledger{position:relative;aspect-ratio:4/3;border:max(3px,calc(5*var(--k))) double var(--ink);background:#fbf6ea;padding:calc(22*var(--k)) calc(26*var(--k));display:flex;flex-direction:column;justify-content:center;text-align:left;overflow:hidden;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(37*var(--k)),rgba(26,22,18,.07) calc(37*var(--k)),rgba(26,22,18,.07) calc(38*var(--k)))}
.ledger p{margin:0}
.ledger-h{font-weight:700;font-size:max(17px,calc(30*var(--k)));line-height:1.15;text-align:center;padding-bottom:calc(10*var(--k));margin-bottom:calc(12*var(--k))!important;border-bottom:1.5px solid var(--ink)}
.ledger-row{display:flex;align-items:baseline;gap:.4em;font-style:italic;font-size:max(15px,calc(25*var(--k)));line-height:1.6}
.ledger-row span:first-child::after{content:"";flex:1}
.ledger-row span:first-child{flex:1;display:flex;align-items:baseline;gap:.4em}
.ledger-row span:first-child::after{border-bottom:1.5px dotted rgba(26,22,18,.55);transform:translateY(-.25em)}
.ledger-row span:last-child{font-style:normal;font-variant-numeric:tabular-nums}
.ledger-tot{border-top:1px solid var(--ink);margin-top:calc(6*var(--k))!important;padding-top:calc(4*var(--k))}
.ledger-tot span:last-child{font-weight:700}
.ledger-after .ledger-tot span:last-child{color:#A61F2D}
.ledger-note{font-style:italic;font-size:max(13px,calc(20*var(--k)));color:#A61F2D;text-align:right;margin-top:calc(2*var(--k))!important}
.ledger-stamp{position:absolute;right:calc(14*var(--k));top:calc(62*var(--k));transform:rotate(-12deg);color:#A61F2D;border:2px solid #A61F2D;outline:1px solid #A61F2D;outline-offset:2px;padding:.08em .5em .02em .62em;font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:max(12px,calc(20*var(--k)));opacity:.82;background:transparent}
.stop-inc{font-style:italic;font-size:max(14px,calc(22*var(--k)));margin:calc(22*var(--k)) 0 0;text-align:center}
.stop-up{max-width:calc(520*var(--k));margin:calc(14*var(--k)) auto 0;padding:calc(12*var(--k)) calc(18*var(--k));border-top:1.5px solid #BD2333;border-bottom:1.5px solid #BD2333;text-align:center;font-size:max(15px,calc(24*var(--k)));line-height:1.4;text-wrap:balance}
@media (max-width:600px){.ledger{padding:18px 20px}.ledger-stamp{top:58px}.stop-up{max-width:92%}}
.ledger-stamp{top:auto!important;right:auto!important;left:calc(22*var(--k));bottom:calc(16*var(--k))}
@media (max-width:600px){.stop-ab{grid-template-columns:1fr 1fr;gap:10px;width:100%}.stop-ab .ledger{aspect-ratio:auto;min-height:150px;padding:12px 10px 30px}.stop-ab .ledger-h{font-size:15px}.stop-ab .ledger-row{font-size:13px}.stop-ab .ledger-note{font-size:11.5px}.stop-ab .ledger-stamp{font-size:10px;left:10px;bottom:8px}}
@media (min-width:601px){.stop-ab .ledger{aspect-ratio:auto;justify-content:flex-start;padding:calc(24*var(--k)) calc(26*var(--k)) calc(64*var(--k))}.ledger-after .ledger-stamp{bottom:calc(16*var(--k))}}

/* Request a quote sits above the 3 / Website Pricing header (revert tag model-before-quote-move) */
.taste-line + .quote-link,.taste-note + .quote-link{margin:max(26px,calc(34*var(--k))) 0 0}
.quote-link + .pricing-head{margin-top:max(30px,calc(44*var(--k)))}
@media (max-width:600px){.taste-line + .quote-link,.taste-note + .quote-link{margin-top:24px}.quote-link + .pricing-head{margin-top:30px}}

/* Rory attribution + Rolls-Royce ad removed; quote flows straight into the video (revert tag model-before-remove-rolls) */
.pull + .media-slot{margin-top:max(26px,calc(36*var(--k)))}

/* taste quote moved up into the pull-quote spot, two lighter italic lines (revert tag model-before-quote-swap) */
.pull.taste-pull p{font-weight:400}
.pull.taste-pull p + p{margin-top:calc(16*var(--k))}
.taste-pull .taste-red{color:#BD2333;-webkit-text-stroke:calc(.45*var(--k)) #BD2333;background-image:linear-gradient(transparent,transparent);background-repeat:no-repeat}
.taste-pull.tl-armed .taste-red{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5.2 C40 3.6 80 6.4 120 4.4 S180 3.4 199 4.8' fill='none' stroke='%23BD2333' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:0% 7px;background-position:0 100%;padding-bottom:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.3s cubic-bezier(.45,.05,.35,1)}
.taste-pull.tl-marked .taste-red{background-size:100% 7px}
@media (prefers-reduced-motion:reduce){.taste-pull.tl-armed .taste-red{transition:none}}
.cta-rule{display:block;max-width:calc(640*var(--k));margin:max(30px,calc(44*var(--k))) auto 0;border:0;border-top:2px solid #BD2333;height:0}
.cta-rule + .quote-link{margin-top:max(24px,calc(32*var(--k)))}
@media (max-width:600px){.cta-rule{margin:30px 6% 0}.cta-rule + .quote-link{margin-top:24px}}
/* Worth the Stop: feature list and ledger note removed; cards follow CHARGE FOR QUOTES */
.tier .tier-key + .stop-ab{margin-top:max(20px,calc(30*var(--k)))}
/* Worth the Stop: upgrade offer as a double-ruled ledger callout under the cards (revert tag model-before-quote-swap) */
.tier .stop-up{max-width:min(calc(600*var(--k)),100%);margin:max(18px,calc(26*var(--k))) auto 0;padding:max(14px,calc(22*var(--k))) max(16px,calc(30*var(--k)));
  border:max(3px,calc(5*var(--k))) double #BD2333;border-left:0;border-right:0;background:#fbf6ea;text-align:center;filter:none;box-sizing:border-box}
.stop-up .stop-up-k{margin:0 0 max(6px,calc(10*var(--k)));font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#A61F2D;font-size:max(11px,calc(17*var(--k)));-webkit-text-stroke:0}
.stop-up .stop-up-t{margin:0;font-style:italic;font-size:max(19px,calc(32*var(--k)));line-height:1.3;color:var(--ink);text-wrap:balance}
.stop-up .stop-up-t strong{font-weight:700;color:#BD2333;-webkit-text-stroke:calc(.4*var(--k)) #BD2333;white-space:nowrap}
.tier .stop-up + .stop-inc{margin-top:max(12px,calc(16*var(--k)));font-size:max(13px,calc(19*var(--k)))}
.tier .stop-inc + .px-note{margin-top:max(4px,calc(6*var(--k)));font-size:max(12px,calc(17*var(--k)));opacity:.8}
@media (max-width:600px){.tier .stop-up{max-width:100%}}
/* Worth the Detour: one client's before/after first, feature list below */
.tier .px-intro{margin:max(16px,calc(24*var(--k))) auto 0;font-style:italic;font-size:max(15px,calc(24*var(--k)));line-height:1.3;text-align:center}
.tier .px-intro + .examples-ab{margin-top:max(10px,calc(14*var(--k)))}
.tier .px-lift + .features{margin-top:max(22px,calc(34*var(--k)))}
.px-stat b .px-src{display:block;margin-top:calc(2*var(--k));font-size:max(13px,calc(20*var(--k)));font-weight:700;font-style:italic;letter-spacing:0;line-height:1.25}
/* Worth the Journey: engraved invitation mark, wax-seal loop, invite chip (revert tag model-before-quote-swap) */
.tier .invite{display:inline-block;margin:max(10px,calc(16*var(--k))) auto 0;padding:max(10px,calc(14*var(--k))) max(22px,calc(40*var(--k)));
  border-top:max(3px,calc(5*var(--k))) double #BD2333;border-bottom:max(3px,calc(5*var(--k))) double #BD2333;background:#fbf6ea;text-align:center;filter:none}
.invite .invite-k{margin:0;font-variant-caps:small-caps;font-weight:700;letter-spacing:.14em;color:#A61F2D;font-size:max(19px,calc(32*var(--k)));line-height:1.1;-webkit-text-stroke:calc(.3*var(--k)) #A61F2D}
.invite .invite-t{margin:max(4px,calc(6*var(--k))) 0 0;font-style:italic;font-size:max(13px,calc(19*var(--k)));line-height:1.3}
.seal-loop{margin:max(18px,calc(30*var(--k))) auto 0;width:max(150px,calc(220*var(--k)));filter:none}
.seal-loop svg{display:block;width:100%;height:auto}
.seal-loop .seal{transform-box:fill-box;transform-origin:50% 50%;animation:seal-press 6s cubic-bezier(.4,0,.2,1) infinite}
.seal-loop .env{animation:env-settle 6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes seal-press{0%,8%{opacity:0;transform:translateY(-26px) scale(1.25)}28%{opacity:1;transform:translateY(0) scale(.92)}36%{transform:scale(1.03)}44%,84%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@keyframes env-settle{0%,100%{transform:translateY(0)}28%{transform:translateY(1.5px)}44%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.seal-loop .seal,.seal-loop .env{animation:none}}
.chip-invite span{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}
.chip-invite .chip-sub{display:block;margin-top:3px;font-size:.78em;font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;color:#A61F2D}
.chip-invite input:checked + span .chip-sub{color:#f6eedb}
.taste-pull .taste-red{color:inherit;-webkit-text-stroke:calc(.45*var(--k)) var(--ink)}
/* menu courses + guarantee line under price */
.tier .course{margin:0 0 max(4px,calc(6*var(--k)));font-variant-caps:all-small-caps;font-weight:700;letter-spacing:.22em;font-size:max(14px,calc(22*var(--k)));color:#A61F2D;line-height:1.3}
.tier .course-rec{display:block;margin-top:2px;font-variant-caps:normal;font-style:italic;font-weight:400;letter-spacing:.02em;font-size:max(12px,calc(18*var(--k)));color:var(--ink)}
.tier .tier-guarantee-line{margin:max(4px,calc(6*var(--k))) auto 0;font-style:italic;font-size:max(13px,calc(19*var(--k)));line-height:1.3;max-width:calc(560*var(--k));text-wrap:balance}
.chip-soon,.chip-soon span{cursor:default}

/* size pass (revert tag model-before-size-pass) */
.tier .stop-up .stop-up-t{font-size:max(22px,calc(38*var(--k)))}
.tier .px-intro + .examples-ab{margin-top:max(12px,calc(16*var(--k)))}
.tier .features + .px-intro{margin-top:max(26px,calc(38*var(--k)))}
.examples-ab .px figcaption{font-style:normal;font-weight:700;font-variant-caps:all-small-caps;letter-spacing:.14em;font-size:max(24px,calc(36*var(--k)));line-height:1;opacity:1}
.tier .examples-ab:has(.px-mid){grid-template-columns:1fr auto 1fr;align-items:center}
.tier .px-lift.px-mid{margin:0;gap:0;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);font-size:max(14px,calc(18*var(--k)));letter-spacing:.2em}
.tier .px-lift.px-mid::before,.tier .px-lift.px-mid::after{display:none}
@media (max-width:600px){.tier .examples-ab:has(.px-mid){grid-template-columns:1fr;gap:12px}.tier .px-lift.px-mid{writing-mode:horizontal-tb;transform:none;font-size:15px}}
.tier .invite + .seal-loop{margin:max(16px,calc(24*var(--k))) auto 0}
.tier .seal-loop + .examples-916{margin-top:max(16px,calc(24*var(--k)))}
.tier .stop-up .stop-up-k{font-size:max(18px,calc(20*var(--k)))}
@media (max-width:600px){
  .tier .course,.tier .course-rec,.tier .tier-guarantee-line,.tier .tier-key,.tier .stop-up .stop-up-k,.tier .px-intro,.tier .px-stat,.px-stat b .px-src,.tier .px-lift.px-mid,.tier .invite .invite-t,.tier .example figcaption,.stop-ab .ledger-h,.stop-ab .ledger-row,.stop-ab .ledger-row span{font-size:16px}
  .examples-ab .px figcaption{font-size:24px}
  .stop-ab .ledger{padding:12px 10px 30px}
}

/* round 437 (revert tag model-before-round-437) */
.pull.taste-pull .tq-lead{font-style:italic;font-weight:400;font-size:max(24px,calc(40*var(--k)));line-height:1.45;text-wrap:balance}
.pull.taste-pull .tq-rest{margin-top:max(14px,calc(22*var(--k)));font-style:italic;font-weight:400;font-size:max(19px,calc(30*var(--k)));line-height:1.6;opacity:.86;-webkit-text-stroke:0}
.tier .course{font-size:max(18px,calc(22*var(--k)))}
.tier .course-rec{font-size:max(18px,calc(21*var(--k)))}
.tier .tier-guarantee-line.tg-detour{font-size:max(18px,calc(26*var(--k)))}
.px-stat.px-before b{color:#A61F2D}
.px-stat:not(.px-before) b{color:#1B6E42}
.tier .invite .seal-loop{margin:max(10px,calc(14*var(--k))) auto 0;width:max(190px,calc(280*var(--k)))}
.serving{margin:max(20px,calc(30*var(--k))) auto 0;text-align:center;font-style:italic;font-size:max(17px,calc(25*var(--k)));line-height:1.35}
@media (max-width:600px){.tier .course,.tier .course-rec,.tier .tier-guarantee-line.tg-detour{font-size:18px}.pull.taste-pull .tq-lead{font-size:23px}.pull.taste-pull .tq-rest{font-size:19px}}
.tier .invite + .examples-916{margin-top:max(18px,calc(26*var(--k)))}
@media (max-width:600px){.pull.taste-pull .tq-lead{font-size:21px}.pull.taste-pull .tq-rest{font-size:17px;line-height:1.55}}

/* prestige invitation card + wax seal (revert tag model-before-invite-prestige) */
.tier.ink > .invite{filter:none!important;mix-blend-mode:normal!important;display:block;background:none;border:0;padding:0;margin:max(22px,calc(34*var(--k))) auto 0;max-width:min(calc(520*var(--k)),88%)}
.inv-card{position:relative;padding:max(30px,calc(46*var(--k))) max(22px,calc(40*var(--k))) max(24px,calc(36*var(--k)));border-radius:3px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#fdfaf1 0%,#f7f0de 55%,#efe5cc 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 -1px 0 rgba(120,96,60,.18) inset,0 1px 1px rgba(45,36,28,.12),0 6px 14px -6px rgba(45,36,28,.35),0 18px 34px -18px rgba(45,36,28,.45)}
.inv-card::before{content:"";position:absolute;inset:max(9px,calc(13*var(--k)));border:3px double #9e0f23;opacity:.8;pointer-events:none}
.inv-card::after{content:"";position:absolute;inset:0;border-radius:3px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(120,96,60,.16),inset 0 0 18px rgba(150,120,70,.12)}
.inv-card .inv-k{margin:0;font-variant-caps:all-small-caps;font-weight:400;letter-spacing:.32em;padding-left:.32em;font-size:max(30px,calc(50*var(--k)));line-height:1;color:#2a2018;-webkit-text-stroke:0;
  text-shadow:0 1px 0 rgba(255,255,255,.85),0 -1px 0 rgba(60,45,30,.28)}
.inv-card .inv-ros{margin:max(12px,calc(16*var(--k))) 0 0;gap:max(8px,calc(12*var(--k)))}
.inv-card .inv-ros i{width:max(15px,calc(20*var(--k)));height:max(14px,calc(19*var(--k)));opacity:.8}
.inv-seal{position:absolute;top:calc(-1*max(26px,calc(36*var(--k))));right:calc(-1*max(20px,calc(30*var(--k))));width:max(78px,calc(110*var(--k)));height:auto;
  filter:drop-shadow(0 2px 1.5px rgba(40,6,10,.45)) drop-shadow(0 6px 8px rgba(40,6,10,.25));transform-origin:50% 55%;transform:rotate(-8deg)}
.inv-seal.is-armed{opacity:0;transform:translateY(-18px) scale(1.18) rotate(-14deg)}
.inv-seal.is-pressed{opacity:1;animation:seal-press-in 2.4s cubic-bezier(.33,0,.2,1) both,seal-idle 9s ease-in-out 2.6s infinite}
@keyframes seal-press-in{0%{opacity:0;transform:translateY(-18px) scale(1.18) rotate(-14deg)}55%{opacity:1;transform:translateY(0) scale(.96) rotate(-8deg)}75%{transform:scale(1.015) rotate(-8deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
@keyframes seal-idle{0%,100%{transform:scale(1) rotate(-8deg)}50%{transform:scale(1.012) rotate(-7.4deg)}}
@media (prefers-reduced-motion:reduce){.inv-seal,.inv-seal.is-armed,.inv-seal.is-pressed{animation:none;opacity:1;transform:rotate(-8deg)}}
@media (max-width:600px){.tier.ink > .invite{max-width:84%}.inv-card .inv-k{font-size:28px}}
.tier .invite + .examples-916{margin-top:max(26px,calc(38*var(--k)))}
.inv-card .inv-k{white-space:nowrap;letter-spacing:.2em;padding-left:.2em;font-size:max(26px,calc(46*var(--k)))}
.inv-seal{width:max(84px,calc(124*var(--k)))}
@media (max-width:600px){.inv-card .inv-k{font-size:26px;letter-spacing:.16em}}
/* envelope front version of the invite (user preferred the letter concept) */
.inv-card.inv-env{aspect-ratio:1.62;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(18px,calc(30*var(--k)));border-radius:2px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035 .9' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .22 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23f)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .18 0 0 0 .14 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(120% 90% at 30% 25%,#fbf3df 0%,#f3e7c8 60%,#e9d9b4 100%)}
.inv-env::before{display:none}
.inv-env::after{box-shadow:inset 0 0 0 1px rgba(110,84,48,.2),inset 0 0 28px rgba(150,112,58,.16)}
.inv-env .inv-flap{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.inv-env .inv-k{position:relative;font-size:max(24px,calc(40*var(--k)));color:#3a2a1a;letter-spacing:.24em;padding-left:.24em}
.inv-env .inv-ros{position:relative}
.inv-env .inv-hand{position:absolute;left:12%;bottom:12%;width:38%;height:auto}
.inv-env .inv-stamp{position:absolute;top:9%;right:6%;width:17%;aspect-ratio:.86;border:1px dashed rgba(90,70,45,.35)}
.inv-env .inv-seal{position:absolute;top:2%;right:1.5%;width:max(80px,calc(118*var(--k)));transform-origin:50% 55%;transform:rotate(-8deg);filter:drop-shadow(0 2px 1.5px rgba(40,6,10,.45)) drop-shadow(0 6px 8px rgba(40,6,10,.25))}
.inv-env .inv-seal > *{display:block;width:100%;height:auto}
@media (max-width:600px){.inv-env .inv-k{font-size:22px}.tier.ink > .invite{max-width:92%}}
.inv-env .inv-seal{top:6%;right:3%}

/* declutter pass (revert tag model-before-declutter) */
.quote-link + .tier{margin-top:max(64px,calc(96*var(--k)))}
.tier{margin-top:max(48px,calc(72*var(--k)))}
.tier .course{font-size:max(20px,calc(24*var(--k)));letter-spacing:.2em;margin-bottom:max(6px,calc(10*var(--k)))}
.tier .course-rec{font-size:20px;margin-top:4px}
.tier .tier-tag{margin:max(6px,calc(10*var(--k))) 0 0;color:#A61F2D;font-style:italic;font-size:max(20px,calc(28*var(--k)));line-height:1.25;-webkit-text-stroke:0;filter:none}
.tier .tier-tag + .stars{margin-top:max(14px,calc(20*var(--k)))}
.tier .price + .examples-ab,.tier .price + .stop-ab{margin-top:max(26px,calc(38*var(--k)))}
.tier .price + .examples-ab{margin-top:max(26px,calc(38*var(--k)))}
.tier .stop-ab + .stop-up{margin-top:max(26px,calc(36*var(--k)))}
@media (prefers-reduced-motion:reduce){}
/* Journey: rendered invitation */
.invite-hero{margin:max(22px,calc(32*var(--k))) auto 0;max-width:min(calc(460*var(--k)),86%);filter:none;mix-blend-mode:normal}
.invite-hero img{display:block;width:100%;height:auto}
.invite-hero.is-armed{opacity:0;transform:translateY(10px)}
.invite-hero.is-in{opacity:1;transform:none;transition:opacity .9s ease,transform .9s ease}
.tier .invite-hero + .examples-916{margin-top:max(30px,calc(44*var(--k)))}
@media (prefers-reduced-motion:reduce){.invite-hero.is-armed{opacity:1;transform:none}}
/* map moved to the footer */
.colophon .oc-map{margin:max(36px,calc(56*var(--k))) auto 0;max-width:min(440px,86%)}
.colophon .oc-map + .serving{margin-top:max(12px,calc(18*var(--k)))}
@media (max-width:600px){.tier .course{font-size:20px}.tier .tier-tag{font-size:20px}}
.invite-hero{max-width:min(calc(540*var(--k)),92%)}

/* tier star clips (revert tag model-before-star-clips) */
.star-clip{position:relative;width:min(320px,80%);aspect-ratio:9/16;margin:max(22px,calc(32*var(--k))) auto 0;padding:0;border:1.5px solid #2d241c;background:#111;filter:none;mix-blend-mode:normal;isolation:isolate}
.star-clip video{display:block;width:100%;height:100%;object-fit:cover}
.star-clip .sc-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border:0;border-radius:50%;background:#BD2333;color:#f6eedb;cursor:pointer;display:grid;place-items:center;padding:0}
.star-clip .sc-play[hidden]{display:none}
.star-clip .sc-play svg{width:30px;height:30px;fill:currentColor}
.star-clip.sc-playing .sc-play{opacity:0}
.tier .star-clip + .examples-ab,.tier .star-clip + .stop-ab,.tier .star-clip + .invite-hero{margin-top:max(28px,calc(40*var(--k)))}
@media (max-width:600px){.star-clip{width:80%}}

/* clip-fix: no ink filter or blend on any video (the page ink SVG filter was being applied to the star clips every frame) */
.tier.ink > .star-clip,.star-clip,.star-clip video,.example video,.media-slot video{filter:none!important;mix-blend-mode:normal!important}

/* quote as a poem-like set (revert tag model-before-quote-layout) */
.pull.taste-pull{max-width:min(640px,90%);margin:max(64px,calc(96*var(--k))) auto max(64px,calc(96*var(--k)))}
.pull.taste-pull .rule{margin-bottom:max(40px,calc(64*var(--k)))}
.pull.taste-pull p span{display:block}
.pull.taste-pull .tq-lead{font-style:italic;font-weight:400;font-size:max(26px,calc(40*var(--k)));line-height:1.5;color:var(--ink);text-wrap:balance}
.pull.taste-pull .tq-orn{margin:max(28px,calc(40*var(--k))) 0;gap:0}
.pull.taste-pull .tq-orn i{width:max(18px,calc(24*var(--k)));height:max(17px,calc(23*var(--k)));opacity:.75;filter:hue-rotate(0deg)}
.pull.taste-pull .tq-rest{margin:0;font-style:italic;font-weight:400;font-size:max(19px,calc(26*var(--k)));line-height:1.6;color:#5A544C;opacity:1;-webkit-text-stroke:0}
.pull.taste-pull .tq-rest .taste-red{display:inline;color:#2d241c;-webkit-text-stroke:0}
.pull.taste-pull .tq-rest .taste-red::before{content:"";display:block}
@media (max-width:600px){.pull.taste-pull{margin:56px auto}.pull.taste-pull .tq-lead{font-size:26px}.pull.taste-pull .tq-rest{font-size:19px}}
.pull.taste-pull .tq-orn i{background:#BD2333;-webkit-mask:url(assets/rosette.svg) center/contain no-repeat;mask:url(assets/rosette.svg) center/contain no-repeat;opacity:.9}
.pull.taste-pull .tq-rest{text-wrap:balance}

/* desk lamp nod on "animation" (revert tag model-before-lamp) */
.pull.taste-pull .tq-rest .lamp-line{padding-top:calc(max(44px,calc(70*var(--k))) - .3em)}
.lamp-word{position:relative;display:inline-block;transition:color .5s ease}
.lamp-word::before{content:"";position:absolute;left:-.25em;right:-.25em;top:-.35em;bottom:-.05em;background:linear-gradient(to bottom,rgba(238,186,96,.42),rgba(238,186,96,.10));clip-path:polygon(47% 0,57% 0,100% 100%,0 100%);opacity:0;pointer-events:none;transition:opacity .6s ease}
.lamp{position:absolute;bottom:calc(100% - .12em);left:calc(50% - max(36px,calc(57*var(--k))));width:max(44px,calc(70*var(--k)));height:max(44px,calc(70*var(--k)));transform-origin:50% 100%;opacity:0;pointer-events:none}
.lamp svg{display:block;width:100%;height:100%}
.lamp-go .lamp{animation:lampHop 1.8s cubic-bezier(.3,.0,.3,1) both}
.lamp-lit .lamp-word{color:#8A4E14}
.lamp-lit .lamp-word::before{opacity:1}
.lamp-done .lamp{opacity:1;animation:none}
@keyframes lampHop{
0%{opacity:0;transform:translate(-150%,0) scale(1,1)}
8%{opacity:1;transform:translate(-150%,0) scale(1,1)}
22%{transform:translate(-150%,0) scale(1.18,.78);animation-timing-function:cubic-bezier(.2,.7,.4,1)}
34%{transform:translate(-105%,-38%) scale(.86,1.18) rotate(-6deg);animation-timing-function:cubic-bezier(.5,0,.8,.4)}
46%{transform:translate(-45%,-46%) scale(.94,1.08) rotate(4deg);animation-timing-function:cubic-bezier(.6,0,1,.6)}
58%{transform:translate(0,0) scale(1.22,.76) rotate(0);animation-timing-function:cubic-bezier(.2,.8,.4,1)}
70%{transform:scale(.94,1.08)}
80%{transform:scale(1.04,.97)}
90%,100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lamp{opacity:1}.lamp-go .lamp{animation:none}.lamp-word,.lamp-word::before{transition:none}}
.pull.taste-pull p span.lamp-word{display:inline-block}
.pull.taste-pull .tq-rest .lamp-line{padding-top:calc(max(44px,calc(70*var(--k))) - .6em)}
.pull.taste-pull p span.lamp{bottom:calc(100% - .42em);left:calc(48% - .8 * max(44px,calc(70*var(--k))))}
.lamp-word::before{top:.1em;bottom:.1em;left:-.15em;right:-.15em;clip-path:polygon(42% 0,52% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(238,186,96,.38),rgba(238,186,96,.06))}

/* candy trail on the belief quote (revert tag model-before-candy) */
.pull.taste-pull .tq-orn{display:flex;justify-content:center;margin:max(28px,calc(40*var(--k))) 0}
.pull.taste-pull .tq-orn svg{display:block;width:max(20px,calc(26*var(--k)));height:auto;opacity:.9}
.pull.taste-pull p span.cw{display:inline-block;position:relative}
.pull.taste-pull .cr{position:absolute;overflow:visible;pointer-events:none;opacity:0}
.cw-spoon .cr-spoon{width:1.25em;height:1.25em;right:-1.05em;top:-.78em;transform-origin:24% 72%}
.cw-spoon::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.22em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M1 4.6 C30 6.2 70 2.8 110 4.8 S170 6 199 3.6' fill='none' stroke='%232d241c' stroke-opacity='.55' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .8s cubic-bezier(.45,.05,.35,1) .55s}
.cw-eye .cr-eye{width:1.15em;height:.72em;left:calc(100% + .22em);top:calc(50% - .36em)}
.cw-eye .lid{transform-origin:22px 15px;transform-box:view-box}
.cw-book .cr-book{width:1.6em;height:1.26em;left:calc(100% + .42em);top:-.12em}
.cw-book .pg{transform-origin:28px 30px;transform-box:view-box}
.cw-book .lts text{opacity:0;transform-box:fill-box;transform-origin:center}
.cw.cw-go .cr,.cw.cw-done .cr{opacity:1}
.cw-spoon.cw-go .cr-spoon{animation:spoonDip 1.4s cubic-bezier(.3,0,.3,1) both}
.cw-spoon.cw-go::after,.cw-spoon.cw-done::after{clip-path:inset(0 0 0 0)}
.cw-eye.cw-go .lid{animation:eyeOpen .95s cubic-bezier(.3,0,.3,1) both}
.cw-eye.cw-go .cr-eye{animation:crIn .3s ease-out both}
.cw-book.cw-go .cr-book{animation:crIn .3s ease-out both}
.cw-book.cw-go .pg{animation:pageFlut 1.1s cubic-bezier(.45,0,.4,1) .15s both}
.cw-book.cw-go .l1{animation:inkUp 1.3s ease-in-out .35s both}
.cw-book.cw-go .l2{animation:inkUp 1.3s ease-in-out .5s both}
.cw-book.cw-go .l3{animation:inkUp 1.3s ease-in-out .65s both}
.cw-done .cr,.cw-done .lid,.cw-done .pg{animation:none!important}
@keyframes crIn{from{opacity:0}to{opacity:1}}
@keyframes spoonDip{0%{opacity:0;transform:translate(.5em,-.5em) rotate(14deg)}22%{opacity:1}40%{transform:translate(.06em,-.06em) rotate(-6deg)}56%{transform:translate(0,.04em) rotate(16deg)}68%{transform:translate(0,.02em) rotate(6deg)}80%{transform:translate(0,.03em) rotate(13deg)}100%{opacity:1;transform:none}}
@keyframes eyeOpen{0%,20%{transform:scaleY(.06)}48%{transform:scaleY(1.08)}58%{transform:scaleY(1)}68%{transform:scaleY(.08)}82%{transform:scaleY(1.04)}100%{transform:scaleY(1)}}
@keyframes pageFlut{0%{transform:scaleX(1)}30%{transform:scaleX(-1)}45%{transform:scaleX(-.85)}62%{transform:scaleX(1)}78%{transform:scaleX(.82)}100%{transform:scaleX(1)}}
@keyframes inkUp{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}55%{opacity:1;transform:translateY(-12px) rotate(-8deg)}100%{opacity:0;transform:translateY(6px)}}
@media (max-width:600px){.cw-book .cr-book{left:calc(100% + .32em)}}
@media (prefers-reduced-motion:reduce){.cw-spoon::after{transition:none}}
/* candy: phrase-level spoon wraps gracefully on phones */
.pull.taste-pull p span.cw-spoon{display:inline;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M1 4.6 C30 6.2 70 2.8 110 4.8 S170 6 199 3.6' fill='none' stroke='%232d241c' stroke-opacity='.55' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 0 92%/0% .2em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em;transition:background-size .8s cubic-bezier(.45,.05,.35,1) .55s}
.cw-spoon::after{content:none!important}
.pull.taste-pull p span.cw-spoon.cw-go,.pull.taste-pull p span.cw-spoon.cw-done{background-size:100% .2em}
@media (max-width:600px){.cw-spoon .cr-spoon{width:1em;height:1em;right:-.25em;top:-.95em}.cw-eye .cr-eye{left:calc(100% + .14em)}}
@media (prefers-reduced-motion:reduce){.pull.taste-pull p span.cw-spoon{transition:none}}
.pull.taste-pull p span.cw-anc{display:inline-block;position:relative;width:0;height:.72em;vertical-align:baseline}
.pull.taste-pull .cw-anc .cr-spoon{width:1.25em;height:1.25em;left:-.2em;right:auto;top:-1em;transform-origin:24% 72%}
.cw-spoon.cw-go + .cw-anc .cr-spoon,.cw-spoon.cw-done + .cw-anc .cr-spoon{opacity:1}
.cw-spoon.cw-go + .cw-anc .cr-spoon{animation:spoonDip 1.4s cubic-bezier(.3,0,.3,1) both}
.cw-spoon.cw-done + .cw-anc .cr-spoon{animation:none}
@media (max-width:600px){.pull.taste-pull .cw-anc .cr-spoon{width:1em;height:1em;left:-.16em;top:-.82em}}
/* cloche + layered parallax (revert tag model-before-parallax-quote) */
.pull.taste-pull{position:relative;isolation:isolate}
.tq-back{position:absolute;inset:-40px 0;z-index:-1;pointer-events:none}
.tq-back svg{position:absolute;height:auto;opacity:.07}
.pull.taste-pull .cw-anc .cr-cloche{width:1.5em;height:1.25em;left:.36em;top:-.62em;opacity:1;animation:none}
.cr-cloche .dome{transform-box:view-box;transform-origin:53px 42px}
.cr-cloche .stm{stroke-dasharray:22;stroke-dashoffset:22;opacity:0}
.cw-spoon.cw-go + .cw-anc .cr-cloche .dome{animation:clocheLift 1.4s cubic-bezier(.3,0,.25,1) both}
.cw-spoon.cw-go + .cw-anc .cr-cloche .stm{animation:steam 1.6s ease-out .55s both}
.cw-spoon.cw-done + .cw-anc .cr-cloche .dome{animation:none;transform:translate(2px,-14px) rotate(11deg)}
.cw-spoon.cw-done + .cw-anc .cr-cloche .stm{animation:none;opacity:0}
@keyframes clocheLift{0%{transform:none}16%{transform:translateY(1.6px) scale(1.04,.93)}30%{transform:none}52%{transform:translate(3px,-18px) rotate(15deg)}68%{transform:translate(2px,-13px) rotate(9deg)}82%{transform:translate(2px,-15px) rotate(12deg)}100%{transform:translate(2px,-14px) rotate(11deg)}}
@keyframes steam{0%{opacity:0;stroke-dashoffset:22;transform:translateY(0)}40%{opacity:.9;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:0;transform:translateY(-8px)}}
.tq-live .cr,.tq-live .lamp,.tq-live .tq-back{will-change:transform}
@media (max-width:600px){.pull.taste-pull .cw-anc .cr-cloche{width:1.45em;height:1.2em;left:.3em;top:-.58em}.tq-back svg{opacity:.06}}
@media (prefers-reduced-motion:reduce){.cw-spoon + .cw-anc .cr-cloche .dome{animation:none!important;transform:translate(2px,-14px) rotate(11deg)}}
@media (max-width:600px){.pull.taste-pull .cw-anc .cr-cloche{top:-.36em;width:1.3em;height:1.08em}}
/* quote scene v3: quill, cloche (taste), compass (design), cap (educated); deep parallax. revert: model-before-parallax-quote */
.pull.taste-pull .tq-rest{font-size:max(21px,calc(32*var(--k)))}
@media (max-width:600px){.pull.taste-pull .tq-rest{font-size:21px}}
.pull.taste-pull p span.cw-taste,.pull.taste-pull p span.cw-design,.pull.taste-pull p span.cw-quill,.pull.taste-pull p span.cw-cap{display:inline-block;position:relative}
.pull.taste-pull p span.cw-taste{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M1 4.6 C30 6.2 70 2.8 110 4.8 S170 6 199 3.6' fill='none' stroke='%232d241c' stroke-opacity='.55' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 0 92%/0% .2em no-repeat;transition:background-size .8s cubic-bezier(.45,.05,.35,1) .55s}
.pull.taste-pull p span.cw-taste.cw-go,.pull.taste-pull p span.cw-taste.cw-done{background-size:100% .2em}
.pull.taste-pull .cw-taste .cr-cloche{opacity:1;width:1.5em;height:1.25em;left:auto;right:calc(100% + 1.1em);top:-.5em}
.cw-taste.cw-go .cr-cloche .dome{animation:clocheLift 1.4s cubic-bezier(.3,0,.25,1) both}
.cw-taste.cw-go .cr-cloche .stm{animation:steam 1.6s ease-out .55s both}
.cw-taste.cw-done .cr-cloche .dome{animation:none;transform:translate(2px,-14px) rotate(11deg)}
.cw-taste.cw-done .cr-cloche .stm{animation:none;opacity:0}
.cw-quill .cr-quill{width:1.5em;height:1.25em;right:calc(100% + .2em);top:-.4em}
.cw-quill .chk{stroke-dasharray:46;stroke-dashoffset:46}
.cw-quill .qp{transform:translate(-30px,16px)}
.cw-quill.cw-go .chk{animation:drawLine 1s cubic-bezier(.5,0,.3,1) .1s both}
.cw-quill.cw-go .qp{animation:quillMove 1.1s cubic-bezier(.5,0,.3,1) both}
.cw-quill.cw-done .chk{animation:none;stroke-dashoffset:0}
.cw-quill.cw-done .qp{animation:none;transform:none}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes quillMove{0%{transform:translate(-30px,16px)}35%{transform:translate(-20px,26px)}100%{transform:none}}
.cw-design .cr-compass{width:1.4em;height:1.25em;left:calc(100% + .5em);top:-.42em}
.cw-design .cp{transform-box:view-box;transform-origin:14px 44px}
.cw-design .arc{stroke-dasharray:32;stroke-dashoffset:32}
.cw-design.cw-go .cp{animation:compassSwing 1.4s cubic-bezier(.45,0,.3,1) both}
.cw-design.cw-go .arc{animation:drawLine .8s cubic-bezier(.45,0,.3,1) .15s both}
.cw-design.cw-done .cp{animation:none;transform:none}
.cw-design.cw-done .arc{animation:none;stroke-dashoffset:0}
@keyframes compassSwing{0%{transform:none}10%{transform:rotate(3deg)}68%{transform:rotate(-45deg)}100%{transform:none}}
.cw-cap .cr-cap{width:1.5em;height:1.18em;left:calc(100% + .3em);top:-.38em}
.cw-cap .cb{transform-box:view-box;transform-origin:28px 30px}
.cw-cap .ts{transform-box:view-box;transform-origin:28px 13.5px}
.cw-cap.cw-go .cb{animation:capTip 1.3s cubic-bezier(.3,0,.3,1) both}
.cw-cap.cw-go .ts{animation:tassel 1.3s ease-in-out .3s both}
.cw-cap.cw-done .cb{animation:none;transform:rotate(-9deg)}
.cw-cap.cw-done .ts{animation:none}
@keyframes capTip{0%{transform:none}18%{transform:translateY(2px) scale(1.06,.9)}46%{transform:translate(4px,-16px) rotate(-22deg)}70%{transform:translate(0,0) rotate(5deg) scale(1.04,.94)}84%{transform:rotate(-12deg)}100%{transform:rotate(-9deg)}}
@keyframes tassel{0%,100%{transform:none}30%{transform:rotate(14deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(5deg)}}
.tq-back svg{opacity:.09}
@media (max-width:600px){.pull.taste-pull .cw-taste .cr-cloche{width:1.3em;height:1.08em;right:calc(100% + 1em);top:-.36em}.tq-back svg{opacity:.08}}
@media (prefers-reduced-motion:reduce){.pull.taste-pull p span.cw-taste{transition:none}}
.pull.taste-pull .tq-rest{margin-top:max(40px,calc(64*var(--k)))}
@media (max-width:600px){.pull.taste-pull .cw-taste .cr-cloche{top:-.08em;width:1.2em;height:1em;right:calc(100% + .95em)}}
@media (max-width:600px){.pull.taste-pull .cw-taste .cr-cloche{top:.12em;right:calc(100% + 1.05em);width:1.15em;height:.96em}}
@media (max-width:600px){.pull.taste-pull .cw-taste .cr-cloche{right:calc(100% + 1.4em)}}
.cw-cap .cr-cap{top:-.12em;left:calc(100% + .4em)}
@media (max-width:600px){.cw-design .cr-compass{top:-.05em}.cw-cap .cr-cap{top:-.05em}}
.pull.taste-pull p span.sg-i{display:inline}
/* film reel on "of being educated" */
.cw-cap .cr-reel .cb{transform-origin:20px 20px}
.cw-cap .cr-reel .ts{transform-box:view-box;transform-origin:30px 30px}
.cw-cap.cw-go .cr-reel .cb{animation:reelSpin 1.3s cubic-bezier(.4,0,.3,1) both}
.cw-cap.cw-go .cr-reel .ts{animation:reelStrip 1.3s cubic-bezier(.3,0,.3,1) both}
.cw-cap.cw-done .cr-reel .cb,.cw-cap.cw-done .cr-reel .ts{animation:none;transform:none}
@keyframes reelSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes reelStrip{0%{transform:scale(.15);opacity:0}30%{opacity:1}100%{transform:none;opacity:1}}
/* disabled Journey chip: fade its label, not its guide entry */
.chip-soon{opacity:1}.chip-soon > span{opacity:.55}.chip-soon{border-color:rgba(45,36,28,.35)}
/* Detour: what's included, shown openly */
.inc-list{list-style:none;margin:max(28px,calc(40*var(--k))) auto 0;padding:0;max-width:min(560px,92%);text-align:left;display:grid;gap:max(14px,calc(18*var(--k)))}
.inc-list li{display:flex;gap:14px;align-items:flex-start;font-size:max(16px,calc(19*var(--k)));line-height:1.45}
.inc-list .ico{flex:0 0 auto;width:max(22px,calc(26*var(--k)));height:max(22px,calc(26*var(--k)));margin-top:.1em;color:#BD2333;fill:currentColor}
.inc-list b{display:block;font-size:1.08em;color:var(--ink)}
.inc-list span{color:#5A544C}
.tier .inc-list + .star-clip{margin-top:max(36px,calc(56*var(--k)))}
/* star clip tap-for-sound */
.star-clip{position:relative}
.star-clip .sc-sound{position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;padding:0;display:grid;place-items:center;cursor:pointer;
  background:rgba(243,230,201,.94);border:1px solid #2d241c;box-shadow:none;transition:background-color .2s ease,color .2s ease;color:#2d241c}
.star-clip .sc-sound svg{width:19px;height:19px}
.star-clip .sc-sound .spk{fill:currentColor}
.star-clip .sc-sound .w-on,.star-clip .sc-sound .w-off{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.star-clip .sc-sound .w-on{display:none}
.star-clip .sc-sound[aria-pressed="true"]{background:#BD2333;color:#f3e6c9;border-color:#BD2333}
.star-clip .sc-sound[aria-pressed="true"] .w-on{display:inline}
.star-clip .sc-sound[aria-pressed="true"] .w-off{display:none}
.star-clip .sc-sound:focus-visible{outline:2px solid #BD2333;outline-offset:3px}
/* t466: Whats included dropdown */
.inc-dd{margin:calc(18*var(--k)) auto calc(22*var(--k));max-width:640px;border-top:1px solid rgba(43,30,20,.45);border-bottom:1px solid rgba(43,30,20,.45);text-align:left}
.inc-dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4px;font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:max(18px,calc(22*var(--k)));color:var(--ink)}
.inc-dd summary::-webkit-details-marker{display:none}
.inc-dd summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.inc-plus{position:relative;flex:none;width:30px;height:30px;border:1.5px solid var(--ink);border-radius:50%;transition:transform .3s ease}
.inc-plus::before,.inc-plus::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.8px;background:#BD2333;transform:translate(-50%,-50%)}
.inc-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.inc-dd[open] .inc-plus{transform:rotate(45deg)}
.inc-dd .inc-list{margin:4px 0 16px}
.inc-dd .inc-list li span{font-size:max(18px,calc(20*var(--k)))}
@media (max-width:600px){.inc-dd summary{font-size:16px;letter-spacing:1.5px}.inc-dd .inc-list li span{font-size:16px}}
@media (prefers-reduced-motion:reduce){.inc-plus{transition:none}}
/* t468: quill/check reveals once on first view; everything else in the quotation is static */
.cw-quill .cr-quill.q-wait{opacity:0;clip-path:inset(0 100% 0 0)}
.cw-quill .cr-quill.q-wait.q-in{opacity:1;clip-path:inset(0 0 0 0);transition:opacity .65s ease,clip-path .65s cubic-bezier(.3,.6,.3,1)}
.cw-quill.cw-done .cr-quill .chk{animation:none;stroke-dashoffset:0}
.cw-quill.cw-done .cr-quill .qp{animation:none;transform:none}
/* t469: pinned scroll-driven reveal of the belief quote */
main.card{overflow:clip}
.taste-pull.pin3{position:relative}
.taste-pull.pin3 > .tq-stage{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center}
.taste-pull.pin3 span.rw{display:inline!important;position:static!important;margin:0!important;padding:0!important;transform:none!important;animation:none!important;background:none!important}
.taste-pull.pin3 .taste-red{transition:none!important;background-size:calc(var(--t,0) * 100%) 7px!important}
.taste-pull.pin3 p span.cw-taste{transition:none!important;background-size:calc(clamp(0, (var(--t,0) - .5) * 2, 1) * 100%) .2em!important}
/* t470: one measured stage height; tighten, then panels if needed */
.taste-pull.pin3 > .tq-stage{height:var(--tq-vh,100vh)}
.taste-pull .tq-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pull.taste-pull.tq-tight .rule{margin-bottom:22px}
.pull.taste-pull.tq-tight .tq-rest{margin-top:22px}
.taste-pull.pin3 .tq-pair{display:block}
.pull.taste-pull.tq-tight .tq-rest .lamp-line{padding-top:calc(46px - .6em)}
.pull.taste-pull.tq-tight .tq-lead{line-height:1.38}
.pull.taste-pull.tq-tight .tq-rest{line-height:1.45}
.taste-pull.pin3 > .tq-stage{top:var(--tq-top,0px);height:var(--tq-sh,auto);justify-content:flex-start}
.taste-pull.tq-panels .tq-pair{display:grid;align-items:center}
.taste-pull.tq-panels .tq-pair > p{grid-area:1/1;margin-top:0}
.taste-pull.tq-panels:not(.show2) .tq-rest{visibility:hidden}
.taste-pull.tq-panels.show2 .tq-lead{visibility:hidden}
/* t471: the ink filter + multiply used to sit on the tall blockquote that contains the sticky stage. An SVG filter
   on a sticky element's ancestor makes Firefox repaint the whole filtered block on the main thread, so with trackpad
   (async/APZ) scrolling the pinned quote rode up/down with the page and snapped back. Apply them to the pinned stage
   itself instead, so the stage is the filtered layer and stays put. Same look. */
.masthead.ink > .pull.taste-pull.pin3{filter:none!important;mix-blend-mode:normal!important}
.masthead.ink > .pull.taste-pull.pin3 > .tq-stage{filter:url(#ink);mix-blend-mode:multiply}

/* pin6: the whole quotation scene pins together. Outer .taste-pull = scroll distance (100vh + D); .tq-stage = one
   full-viewport sticky scene; .tq-scene = the page's parchment (same tile, colour, edge strips) painted full-bleed and
   phase-locked to the page at pin start; .tq-comp = text + rosettes + illustrations at the measured top. Nothing in
   the scene moves while pinned; only reveals change. The card's clip moves to the root so the scene can be full-bleed. */
html:has(.taste-pull.pin3){overflow-x:clip}
main.card:has(.taste-pull.pin3){overflow:visible}
.taste-pull.pin3 > .tq-stage{position:-webkit-sticky;position:sticky;top:0!important;height:var(--tq-vh,100vh)!important;display:block;justify-content:normal}
.masthead.ink > .pull.taste-pull.pin3 > .tq-stage{filter:none!important;mix-blend-mode:normal!important}
.taste-pull.pin3 .tq-scene{position:absolute;top:0;bottom:0;left:var(--tq-bx,0px);width:var(--tq-bw,100vw);z-index:-1;pointer-events:none;transform:none;
  background:url(assets/edge-left.webp) left var(--tq-ey,0px)/110px auto repeat-y,url(assets/edge-right.webp) right var(--tq-ey,0px)/110px auto repeat-y,#e9dfc6 url(assets/paper-bg.jpg) center var(--tq-py,0px)/764px auto repeat}
@media (max-width:600px){.taste-pull.pin3 .tq-scene{background-size:56px auto,56px auto,764px auto}}
.taste-pull.pin3 .tq-comp{position:relative;top:var(--tq-top,0px);height:var(--tq-sh,auto)}
.masthead.ink > .pull.taste-pull.pin3 > .tq-stage > .tq-comp{filter:url(#ink);mix-blend-mode:multiply}
.taste-pull.pin3 .tq-back,.taste-pull.pin3 .tq-back svg{transform:none!important;animation:none!important;will-change:auto}

/* pin7: new castle (Walt/Disneyland) + drafting compass marks; cloche clear of "good taste"; every illustration
   is scrubbed by its phrase's reveal (--u 0..1 set per frame from scroll). In-place transforms only, nothing travels.
   Without .pin3 (reduced motion) everything shows its final state. */
.pull.taste-pull .cw-taste .cr-cloche{right:calc(100% + 1.85em);top:-.32em}
.taste-pull.pin3 .cr,.taste-pull.pin3 .cr *,.taste-pull.pin3 .lamp,.taste-pull.pin3 .lamp svg{animation:none!important;transition:none!important}
.cr-castle .flg{transform-box:view-box;transform-origin:30px -1.7px}
.cr-castle .spk{transform-box:view-box;transform-origin:50px 10.5px}
.taste-pull.pin3 .cr-castle .dr{stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0, (var(--u,1) - var(--d)) * 1.9, 1))}
.taste-pull.pin3 .cr-castle .flg{transform:scaleX(clamp(0, (var(--u,1) - .6) * 2.5, 1)) skewY(calc((1 - var(--u,1)) * 14deg))}
.taste-pull.pin3 .cr-castle .spk{transform:scale(clamp(0, (var(--u,1) - .75) * 4, 1)) rotate(calc(var(--u,1) * 90deg))}
.cr-draft .cp{transform-box:view-box;transform-origin:22px 8px}
.taste-pull.pin3 .cr-draft .cp{transform:rotate(calc((1 - var(--u,1)) * -28deg))}
.taste-pull.pin3 .cr-draft .arc{stroke-dasharray:1!important;stroke-dashoffset:calc(1 - var(--u,1))!important}
.taste-pull.pin3 .cr-draft .rl{opacity:clamp(0, var(--u,1) * 3, 1)}
.taste-pull.pin3 .cw-taste .cr-cloche .dome{transform:translate(calc(var(--u,1) * 2px), calc(var(--u,1) * -14px)) rotate(calc(var(--u,1) * 11deg))!important}
.taste-pull.pin3 .cw-taste .cr-cloche .stm{stroke-dasharray:22;stroke-dashoffset:calc((1 - clamp(0, (var(--u,1) - .35) * 1.6, 1)) * 22);opacity:clamp(0, (var(--u,1) - .35) * 3, .9)!important}
.taste-pull.pin3 .cw-eye .lid{transform:scaleY(calc(.08 + .92 * var(--u,1)))!important}
.taste-pull.pin3 .cr-reel .cb{transform:rotate(calc(var(--u,1) * 300deg))!important;transform-origin:20px 20px!important}
.taste-pull.pin3 .cr-reel .ts{transform:none!important;opacity:clamp(0, var(--u,1) * 2, 1)}
.taste-pull.pin3 .lamp svg{transform-origin:28% 95%;transform:rotate(calc((1 - var(--u,1)) * -22deg))}
.taste-pull.pin3 .cw-book .pg{transform:scaleX(calc(1 - 2 * var(--u,1)))!important}
.taste-pull.pin3 .cw-book .lts text{transform:translateY(calc((1 - var(--u,1)) * 5px));opacity:clamp(0, (var(--u,1) - .4) * 2.5, 1)!important}
@media (max-width:600px){.pull.taste-pull .cw-design .cr-compass{width:1.05em;height:.94em;left:calc(100% + .12em);top:-.2em}}
/* tw1: What's included accordion uses the Upgrade-offer card treatment */
.inc-dd{background:#fbf6ea;border:max(3px,calc(5*var(--k))) double #BD2333;border-left:0;border-right:0;padding:0 max(16px,calc(30*var(--k)));box-sizing:border-box;max-width:min(640px,100%)}
.inc-dd summary{padding:max(14px,calc(18*var(--k))) 0}
.inc-dd[open] summary{border-bottom:1px solid rgba(189,35,51,.35)}
.inc-dd .inc-list{margin:max(14px,calc(18*var(--k))) 0 max(18px,calc(22*var(--k)))}
/* stripe1: footer contact + currency labels */
.footer-contact{margin:10px auto 0;max-width:640px;text-align:center;font-size:max(13px,calc(17*var(--k)));line-height:1.5;color:var(--ink)}
.footer-contact a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.price .cur{font-size:.38em;letter-spacing:.08em;vertical-align:.9em;margin-left:.15em}
/* anim2: castle sits right after "Disneyland)"; animated lamp replaces the inline sprite while pinned */
.pull.taste-pull .cw-walt .cr-castle{right:auto;left:calc(100% + .12em);top:-.42em;width:1.35em;height:1.12em}
.taste-pull.pin3 .lamp{display:none!important}
.taste-pull.pin3 .lamp-word::before{display:none}
.taste-pull.pin3 .lamp-lit .lamp-word{color:inherit}
.taste-pull .tq-lampfx{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.taste-pull span.tq-i{position:relative}
.taste-pull.pin3 span.tq-i{display:inline-block!important;position:relative!important;margin:0!important;padding:0!important;animation:none!important;background:none!important;opacity:1!important}
/* gh2: ghost ink is the default from first paint (JS only darkens words once it takes over), and the second
   paragraph flows as ordinary evenly set lines: no reserved lamp gap, no forced breaks, drawings never open holes. */
.pull.taste-pull[data-candy] .seg{opacity:.2}
.pull.taste-pull[data-candy].pin3 .seg{opacity:1}
@media (prefers-reduced-motion:reduce){.pull.taste-pull[data-candy] .seg{opacity:1}}
.pull.taste-pull .tq-rest br{display:none}
.pull.taste-pull .tq-rest .taste-red::before{content:none;display:none}
.pull.taste-pull.pin3 .tq-rest .lamp-line,.pull.taste-pull.pin3.tq-tight .tq-rest .lamp-line{padding-top:0}
.pull.taste-pull.pin3 .tq-rest span.cw,.pull.taste-pull.pin3 .tq-rest span.cw-cap,.pull.taste-pull.pin3 .tq-rest span.lamp-word{display:inline;position:relative}
.pull.taste-pull p span.cw-eye{display:inline!important}.pull.taste-pull p span.cw-eye-a{display:inline-block;position:relative}
/* anim3: cups (plain vs crafted) replace the eye; a self-drawing pencil replaces the compass */
.pull.taste-pull .cw-eye .cr-cups{width:1.6em;height:1.02em;top:-.18em;left:calc(100% + .18em)}
.pull.taste-pull .cw-design .cr-pencil{width:1.45em;height:1.3em;top:-.5em}
.cr-cups .spk2{transform-box:view-box;transform-origin:61px 10px}
.cr-castle .fw{opacity:0}
.cr-cloche .peek{opacity:0}
.taste-pull:not(.pin3) .cr-castle .fw,.taste-pull:not(.pin3) .cr-cloche .peek{display:none}
@media (max-width:600px){.pull.taste-pull .cw-design .cr-pencil{width:1.1em;height:1em;top:-.3em}.pull.taste-pull .cw-eye .cr-cups{width:1.3em;height:.83em}}
/* anim4: words never break around the squashable i; the quote reads as one evenly set block */
.taste-pull.pin3 span.rw{white-space:nowrap!important}
.pull.taste-pull .tq-rest{margin-top:.45em!important;line-height:1.5!important;text-wrap:pretty!important}
.pull.taste-pull .tq-lead{line-height:1.38}
.pull.taste-pull.pin3 p span.cw-taste,.pull.taste-pull.pin3 p span.cw-design{display:inline!important;position:relative}
@media (max-width:400px){.pull.taste-pull .cw-taste .cr-cloche{right:auto!important;left:calc(100% + .55em)!important;top:-.35em!important}}
@media (max-width:400px){.pull.taste-pull .cw-taste .cr-cloche{top:.02em!important;width:1.05em!important;height:.88em!important}}
.px-stat b{margin-bottom:0}
/* coda: a quieter closing line that hands off to the video */
.pull.taste-pull .tq-coda{margin:.9em auto 0;max-width:30em;font-style:italic;font-weight:400;font-size:max(16px,calc(22*var(--k)));line-height:1.5;color:#5A544C;text-align:center;text-wrap:balance;-webkit-text-stroke:0}
@media (max-width:600px){.pull.taste-pull .tq-coda{font-size:16px}}
@media (max-width:400px){.pull.taste-pull .cw-taste .cr-cloche{left:auto!important;right:calc(100% + .3em)!important;top:.05em!important}}
/* hd1: audience title, one-line gap to the quote, scarcity note, smaller Walt aside */
.title .t-for{font-size:calc(26*var(--k));font-style:italic;text-transform:none;font-weight:400;-webkit-text-stroke:0;letter-spacing:0}
.title .t-huge{text-wrap:balance}
.title .t-mid{text-transform:uppercase}
@media (max-width:600px){.title .t-for{font-size:17px}.title .t-huge{font-size:clamp(26px,8.6vw,40px);line-height:1.05}}
.masthead h1{margin-bottom:0}
.scarce-note{margin:max(14px,calc(20*var(--k))) auto 0;max-width:34em;padding:0 16px;text-align:center;font-style:italic;font-size:max(15px,calc(21*var(--k)));line-height:1.45;color:#5A544C;text-wrap:balance}
.pull.taste-pull .tq-lead .tq-paren{font-size:.85em}
/* q2: rest = lead size, paren 70%, coda card */
.pull.taste-pull p.tq-rest,.pull.taste-pull.tq-tight p.tq-rest{font-size:max(26px,calc(40*var(--k)))}
@media (max-width:600px){.pull.taste-pull p.tq-rest,.pull.taste-pull.tq-tight p.tq-rest{font-size:26px}}
.pull.taste-pull .tq-lead .tq-paren{font-size:.7em}
.pull.taste-pull .tq-coda{margin:.6em auto 0;background:#fbf6ea;border:max(3px,calc(5*var(--k))) double #BD2333;border-left:0;border-right:0;padding:max(14px,calc(18*var(--k))) max(16px,calc(30*var(--k)));box-sizing:border-box;max-width:min(640px,100%)}
@media (max-width:400px){.pull.taste-pull .cw-taste .cr-cloche{right:calc(100% + 1.75em)!important}}
.taste-pull.pin3 + .media-slot{position:relative;z-index:3}
/* coda2: coda ~82% of quote size */
.pull.taste-pull p.tq-coda{font-size:max(21px,calc(33*var(--k)));max-width:min(860px,100%);line-height:1.4}
@media (max-width:600px){.pull.taste-pull p.tq-coda{font-size:21px}}
@media (min-width:601px){.pull.taste-pull p.tq-coda{width:min(860px,92vw);max-width:none;margin-left:calc(50% - min(430px,46vw));margin-right:0;text-wrap:balance}}
@media (min-width:601px){.pull.taste-pull p.tq-coda .seg{display:block}}

/* smaller Walt aside */
.pull.taste-pull .walt-aside{font-size:.8em}
.pull.taste-pull .walt-aside .cr-castle{width:1.6em;height:1.33em}
/* mich1: Michelin 1900 section (after the video) */
.mich{max-width:760px;margin:max(36px,calc(56*var(--k))) auto max(28px,calc(44*var(--k)));padding:0 18px;text-align:center}
.mich-rule{border:0;border-top:max(3px,calc(5*var(--k))) double #BD2333;width:120px;margin:0 auto max(18px,calc(26*var(--k)))}
.mich-h{font-family:Schola,serif;font-style:italic;font-weight:400;font-size:max(24px,calc(36*var(--k)));color:var(--ink);margin:0 0 max(22px,calc(34*var(--k)));text-wrap:balance}
.mich-pair{display:flex;justify-content:center}
.mich-book{margin:0;width:min(320px,62vw)}
.mich-cover{position:relative;aspect-ratio:681/1024;border-radius:6px 10px 10px 6px;overflow:hidden;box-shadow:0 1px 0 #2d241c,6px 10px 22px rgba(45,36,28,.28),inset 0 0 0 1px rgba(0,0,0,.2);transform-origin:50% 100%;background:#c41f2e}
.mich-cover img{display:block;width:100%;height:100%;object-fit:cover}
.mich-cover::after{content:"";position:absolute;right:0;bottom:0;width:22%;height:16%;background:linear-gradient(135deg,transparent 50%,rgba(246,234,210,.85) 51%,#e8d9b8);transform-origin:100% 100%;transform:scale(0);border-top-left-radius:4px}
.mich-book figcaption{margin-top:12px;font-family:Schola,serif}
.mich-year{display:block;font-variant:small-caps;font-size:max(22px,calc(30*var(--k)));color:#BD2333;letter-spacing:.04em}
.mich-sub{display:block;font-style:italic;font-size:max(14px,calc(17*var(--k)));color:#5A544C;line-height:1.35;margin:2px auto 0;max-width:20em}
.mich .mich-book{opacity:0;transform:translateY(18px) scale(.94);transition:opacity .7s ease,transform .8s cubic-bezier(.2,1.4,.4,1)}
.mich.in .mich-book{opacity:1;transform:none}
@keyframes michIdle{0%,100%{transform:rotate(-1.2deg) scale(1)}50%{transform:rotate(1deg) scale(1.015)}}
@keyframes michPage{0%,70%,100%{transform:scale(0)}80%,88%{transform:scale(.55)}}
.mich.in .mich-cover{animation:michIdle 7s ease-in-out 1.2s infinite;animation-play-state:paused}
.mich.in .mich-cover::after{animation:michPage 7s ease-in-out 1.2s infinite;animation-play-state:paused}
.mich.live .mich-cover,.mich.live .mich-cover::after{animation-play-state:running}
.mich.still .mich-book,.mich.still .mich-cover{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
.mich.still .mich-cover::after{animation:none!important}
.mich-sub{text-wrap:balance}
/* mich3: quip caption + kicker */
.mich-book .mich-quip{font-size:max(17px,calc(22*var(--k)));color:var(--ink);max-width:18em;text-wrap:balance;margin-top:max(10px,calc(14*var(--k)))}
.mich-kicker{font-family:Schola,serif;font-style:italic;font-size:max(15px,calc(19*var(--k)));color:#5A544C;margin:calc(-1*max(14px,calc(24*var(--k)))) auto max(20px,calc(30*var(--k)));max-width:28em;text-wrap:balance}
/* mich4: caption set like the heading, smaller */
.mich-book .mich-quip{font-family:Schola,serif;font-style:italic;font-weight:400;letter-spacing:0;color:var(--ink);font-size:max(19px,calc(25*var(--k)));line-height:1.3;max-width:15em;margin:max(12px,calc(18*var(--k))) auto 0;text-wrap:balance}
@media (min-width:601px){.mich-book .mich-quip{max-width:none;width:min(560px,90vw);margin-left:50%;transform:translateX(-50%)}}
/* lblD: course label, red italic word, tiny roman numeral, short hairline */
main,body{counter-reset:course}
section.tier{counter-increment:course}
.tier .course{font-family:Schola,serif;font-style:italic;font-weight:400;font-variant:normal;text-transform:none;letter-spacing:.01em;font-size:max(24px,calc(31*var(--k)));line-height:1.1;color:#BD2333;margin-bottom:max(8px,calc(12*var(--k)))}
.tier .course::before{content:counter(course,upper-roman);display:block;font-style:normal;font-size:max(11px,calc(13*var(--k)));letter-spacing:.3em;color:#5A544C;margin:0 auto 4px;padding-left:.3em}
.tier .course::after{content:"";display:block;width:max(36px,calc(48*var(--k)));height:1px;background:#2d241c;opacity:.55;margin:max(10px,calc(14*var(--k))) auto 0}
.tier .course .course-rec{display:block;font-variant:normal;text-transform:none;letter-spacing:0;font-size:max(14px,calc(16*var(--k)));color:#5A544C;margin-top:4px}
@media (max-width:600px){.tier .course{font-size:24px}}
.tier .course{font-size:max(28px,calc(39*var(--k)))}@media (max-width:600px){.tier .course{font-size:28px}}
.tier .course .course-rec{font-size:max(18px,calc(21*var(--k)));color:#433c34;font-style:italic}
