/* rs-home.css v=20261024a (RS_MOBILE_W2_V1, the mobile fleet W2 RoutineScout ship lane 2026-10-24, mobile-fleet/w2/rs/ship/DONE.md; LEAD RULING RS-1 and
   RS-5): RS-M1 the masthead label on narrow phones (one rule in section 12 under 640 px, three rules in section 15 under 400 px) and section 16 the
   Safari text-wrap pretty crash guard RS_SAFARI_TEXTWRAP_V1; nothing else changed; on the master f4914fd8 v=20260915a. The sheet follows. */
@font-face{font-family:"RS Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/rs/BodoniModa-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"RS Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/rs/BodoniModa-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"RS Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/rs/BodoniModa-latin-ext-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"RS Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/rs/BodoniModa-latin-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"RS Text";font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/rs/HankenGrotesk-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"RS Text";font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/rs/HankenGrotesk-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"RS Text";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/rs/HankenGrotesk-latin-ext-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"RS Text";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/rs/HankenGrotesk-latin-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================
   RoutineScout homepage v3, FINAL (lane F synthesis): THE COUNTER, FULL WIDTH
   Porcelain Counter tokens and objects (design-v2 skin) on the direct-response
   homepage anatomy. Built from direction A with the judges' grafts:
   the headline on an opaque white plinth (no glass, no blur, no shadow),
   four white tickets with the department tint as a ledge only, the hair
   ticket carrying its department scene, Bodoni criteria titles in the
   method, B's hover language on tickets and cards, the strip freshness slot.
   Sections: 1 tokens, 2 base, 3 masthead, 4 strip, 5 counter objects,
   6 hero, 7 departments, 8 method, 9 about, 10 footer, 11 tablet, 12 phone,
   13 motion and print.
   Laws: logical properties only, no JS hooks, garnet is the only accent
   (brand mark, hover, numerals, button, current language), department tints
   are grounds only (ledges, mats, dots), radii 0 / 3 / 999, hairlines,
   no shadow but the language menu, nothing under 12 px, no dash in this file.
   ============================================================ */

/* 1. tokens */
:root{
  --rs-porcelain:#F6F5F2;
  --rs-white:#FFFFFF;
  --rs-ink:#1E1C1A;
  --rs-mute:#625D57;
  --rs-line:#DAD6D0;
  --rs-line-2:#ECE9E4;
  --rs-plinth:#ECEAE6;
  --rs-plinth-ledge:#D8D4CD;
  --rs-garnet:#8A1C3B;
  --rs-garnet-deep:#5F1128;
  --rs-garnet-tint:#F7E8EC;
  --rs-dept-teeth:#E2EDE9;   --rs-dept-teeth-ledge:#C9DBD5;
  --rs-dept-shave:#E3E8ED;   --rs-dept-shave-ledge:#C8D1DA;
  --rs-dept-hair:#F2E5E2;    --rs-dept-hair-ledge:#E0CBC6;
  --rs-dept-face:#EFEAE0;    --rs-dept-face-ledge:#DCD4C3;
  --rs-dept:var(--rs-plinth); --rs-dept-ledge:var(--rs-plinth-ledge);
  --rs-display:"RS Display","Bodoni Moda","Bodoni 72","Didot","Georgia",serif;
  --rs-text:"RS Text","Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --rs-wrap:1200px;
  --rs-gutter:clamp(16px,4vw,40px);
  --rs-r-tag:999px;
  --rs-r-img:3px;
  --rs-tagmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M4 4h13l9 9v13H4z' fill='%238A1C3B'/%3E%3Ccircle cx='10' cy='10' r='2.4' fill='%23fff'/%3E%3C/svg%3E");
}
.dept-teeth{--rs-dept:var(--rs-dept-teeth);--rs-dept-ledge:var(--rs-dept-teeth-ledge)}
.dept-shave{--rs-dept:var(--rs-dept-shave);--rs-dept-ledge:var(--rs-dept-shave-ledge)}
.dept-hair{--rs-dept:var(--rs-dept-hair);--rs-dept-ledge:var(--rs-dept-hair-ledge)}
.dept-face{--rs-dept:var(--rs-dept-face);--rs-dept-ledge:var(--rs-dept-face-ledge)}

/* 2. base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:60px}
body{margin:0;background:var(--rs-porcelain);color:var(--rs-ink);font:400 17px/1.6 var(--rs-text);font-variant-numeric:tabular-nums}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{text-decoration-color:var(--rs-garnet)}
h1,h2,h3,h4{margin:0;font-family:var(--rs-display);font-weight:500;line-height:1.08;text-wrap:balance;overflow-wrap:anywhere;hyphens:manual;letter-spacing:-.005em}
h1{font-weight:400;line-height:1.04;letter-spacing:-.012em}
h1 em,h2 em{font-style:italic;font-weight:400}
h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
b,strong{font-weight:600}
.wrap{max-width:var(--rs-wrap);margin-inline:auto;padding-inline:var(--rs-gutter)}
:focus-visible{outline:2px solid var(--rs-garnet);outline-offset:3px;border-radius:3px}
.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.label{font-family:var(--rs-text);font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rs-mute)}

/* 3. masthead */
.mast{background:var(--rs-white);border-block-end:1px solid var(--rs-line)}
.mast .wrap{display:flex;align-items:center;gap:24px;min-block-size:64px}
.brand{display:inline-flex;align-items:center;gap:10px;min-block-size:44px;text-decoration:none;font-family:var(--rs-display);font-size:1.55rem;line-height:1;letter-spacing:-.01em}
.brand .mark{inline-size:30px;block-size:30px;flex:none}
.brand .w1{font-weight:500}
.brand .w2{font-style:italic;font-weight:400}
.mast .tag-line{color:var(--rs-mute);font-size:.9375rem;border-inline-start:1px solid var(--rs-line);padding-inline-start:20px;line-height:1.3}
.mast .tools{margin-inline-start:auto;display:flex;align-items:center;gap:18px}
.adv{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-mute)}
.langsel{position:relative}
.langsel summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-block-size:44px;padding-inline:14px;border:1px solid var(--rs-line);border-radius:var(--rs-r-tag);font-size:.875rem;font-weight:600;background:var(--rs-white)}
.langsel summary::-webkit-details-marker{display:none}
.langsel summary .cc{letter-spacing:.08em}
.langsel summary::after{content:"";inline-size:7px;block-size:7px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.langsel[open] summary{border-color:var(--rs-ink)}
.langmenu{position:absolute;inset-inline-end:0;inset-block-start:calc(100% + 8px);z-index:40;background:var(--rs-white);border:1px solid var(--rs-line);box-shadow:0 12px 32px rgba(30,28,26,.12);padding:10px;inline-size:min(260px,calc(100vw - 32px))}
.langmenu .lbl{display:block;padding:4px 10px 8px}
.langmenu a{display:flex;gap:10px;align-items:center;min-block-size:44px;padding:6px 10px;text-decoration:none;font-size:.9375rem;border-radius:3px}
.langmenu a:hover{background:var(--rs-porcelain)}
.langmenu .cc{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--rs-mute);inline-size:2em}
.langmenu a[aria-current]{color:var(--rs-garnet);font-weight:600}

/* 4. strip (sticky; the freshness slot at the inline end, hidden on phones) */
.strip{position:sticky;inset-block-start:0;z-index:30;background:rgba(246,245,242,.96);border-block-end:1px solid var(--rs-line);backdrop-filter:saturate(1.2) blur(6px);-webkit-backdrop-filter:saturate(1.2) blur(6px)}
.strip .wrap{display:flex;align-items:center;gap:28px;min-block-size:44px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.strip .wrap::-webkit-scrollbar{display:none}
.strip a{position:relative;text-decoration:none;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-ink);display:inline-flex;align-items:center;gap:8px;min-block-size:44px}
.strip a::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:2px;background:transparent}
.strip a:hover::after{background:var(--rs-garnet)}
.strip .date{margin-inline-start:auto;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-mute)}
.dot{inline-size:10px;block-size:10px;border-radius:50%;background:var(--rs-dept);box-shadow:inset 0 0 0 1px rgba(30,28,26,.35);flex:none}
.dot.teeth{background:var(--rs-dept-teeth)}.dot.shave{background:var(--rs-dept-shave)}.dot.hair{background:var(--rs-dept-hair)}.dot.face{background:var(--rs-dept-face)}

/* 5. counter objects */
.kicker{display:block;font-family:var(--rs-display);font-style:italic;font-weight:400;font-size:1.125rem;line-height:1.2;color:var(--rs-mute);margin-block-end:8px}
.tag{display:inline-flex;align-items:center;gap:8px;border-radius:var(--rs-r-tag);padding:8px 14px;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;border:1px solid var(--rs-ink);background:var(--rs-white);color:var(--rs-ink);white-space:nowrap}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rs-line);border-radius:var(--rs-r-tag);padding:5px 12px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;line-height:1.2;background:var(--rs-white);color:var(--rs-ink)}
.chip.ink{border-color:var(--rs-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:48px;padding:12px 26px;border-radius:var(--rs-r-tag);border:1.5px solid var(--rs-garnet);background:var(--rs-garnet);color:#fff;font:600 .9375rem/1.2 var(--rs-text);text-decoration:none;white-space:nowrap;cursor:pointer;letter-spacing:.01em}
.btn:hover{background:var(--rs-garnet-deep);border-color:var(--rs-garnet-deep)}
.btn.ghost{background:var(--rs-white);color:var(--rs-ink);border-color:var(--rs-ink)}
.btn.ghost:hover{background:var(--rs-ink);color:#fff}
.btn .chev{font-size:1.15em;line-height:0;margin-inline-start:2px}
.tlink{font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;display:inline-flex;align-items:center;min-block-size:32px}
.plinth.photo{position:relative;background:var(--rs-dept);padding:12px 12px 22px}
.plinth.photo::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:10px;background:var(--rs-dept-ledge)}
.plinth.photo img{inline-size:100%;block-size:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rs-r-img)}
.sec-h{display:flex;flex-wrap:wrap;align-items:end;gap:10px 40px;margin-block-end:26px}
.sec-h h2{display:flex;align-items:center;gap:14px}
.sec-h .sub{color:var(--rs-mute);max-inline-size:58ch;margin:0 0 6px;font-size:1rem;line-height:1.5}

/* 6. hero: the counter, full width; the headline on a white plinth over the empty marble apron */
.hero{padding-block:16px 0}
.hero .wrap{position:relative}
.hero .photo{position:relative;aspect-ratio:1200/556;background:var(--rs-plinth);overflow:hidden}
.hero .photo picture{display:contents}
.hero .photo img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 25%}
.hero .panel{position:absolute;inset-inline-end:24px;inset-block-end:56px;inline-size:560px;padding:22px 28px 30px;background:var(--rs-white);border:1px solid var(--rs-line);display:flex;flex-direction:column}
.hero .panel::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:8px;background:var(--rs-plinth-ledge)}
.hero .panel .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-block-end:8px}
.hero .panel .kicker{margin:0}
.hero .panel .top .tlink{font-size:.9375rem;white-space:nowrap;min-block-size:0}
.hero .panel h1{font-size:clamp(2.2rem,3.2vw,2.875rem);margin-block-end:14px;max-inline-size:none}
.hero .panel .dek{font-size:1rem;line-height:1.5;margin:0;max-inline-size:none}
.hero .every{position:absolute;inset-inline-start:0;inset-block-end:60px;z-index:3}
.tickets{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;margin-block-start:-40px}
.ticket{position:relative;background:var(--rs-white);border:1px solid var(--rs-line);display:flex;flex-direction:column;min-inline-size:0;transition:border-color .15s}
.ticket::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:8px;background:var(--rs-dept-ledge);z-index:2}
.ticket:hover,.ticket:focus-within{border-color:var(--rs-ink)}
.ticket .head{margin:0;border-block-end:1px solid var(--rs-line);padding:0 16px;display:flex;align-items:center;gap:10px;font-family:var(--rs-display);font-size:1.15rem;font-weight:500;line-height:1.2;min-block-size:46px;text-wrap:balance}
.ticket .head a{text-decoration:none;display:flex;align-items:center;gap:10px;flex:1;align-self:stretch;min-block-size:100%}
.ticket .head a:hover{text-decoration:underline;text-decoration-color:var(--rs-garnet);text-underline-offset:.18em}
.ticket ol{padding:3px 16px 14px}
.ticket li+li{border-block-start:1px solid var(--rs-line-2)}
.ticket li a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-block-size:36px;padding-block:2px;font-size:.9063rem;font-weight:500;line-height:1.3;text-decoration:none}
.ticket li a::after{content:"›";color:var(--rs-mute);font-size:1.1em;line-height:0;flex:none;transition:color .15s}
.ticket li a:hover{text-decoration:underline;text-decoration-color:var(--rs-garnet);text-underline-offset:.2em}
.ticket li a:hover::after{color:var(--rs-garnet)}
/* the hair ticket's two rows leave the column short: its department scene fills the ticket to the row's bottom edge */
.ticket .ph{flex:1;min-block-size:0;position:relative;overflow:hidden;background:var(--rs-dept)}
.ticket .ph img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 58%}

/* 7. department sections */
.dept-sec{padding-block:76px 0}
.gcards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.gcards+.gcards{margin-block-start:20px}
.gcard{grid-column:span 3;background:var(--rs-white);border:1px solid var(--rs-line);text-decoration:none;display:flex;flex-direction:column;position:relative;min-inline-size:0;transition:border-color .15s}
.gcard:hover,.gcard:focus-visible{border-color:var(--rs-ink)}
.gcard .ph{background:var(--rs-dept);position:relative;aspect-ratio:4/3;overflow:hidden}
.gcard .ph img{inline-size:100%;block-size:100%;object-fit:cover}
.gcard .ph::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:8px;background:var(--rs-dept-ledge)}
.gcard .ph::before{content:"";position:absolute;inset-block-start:14px;inset-inline-start:14px;inline-size:28px;block-size:28px;background:var(--rs-tagmark) center/contain no-repeat;opacity:0;transition:opacity .15s;z-index:3}
.gcard:hover .ph::before,.gcard:focus-visible .ph::before{opacity:1}
.gcard .cbody{padding:20px 22px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.gcard h3{font-size:1.3rem;font-weight:500;display:flex;align-items:center;gap:10px;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color .15s}
.gcard:hover h3{text-decoration-color:var(--rs-garnet)}
.gcard h3 .dot{inline-size:9px;block-size:9px}
.gcard p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--rs-mute);flex:1}
.gcard .foot-row{display:flex;align-items:center;gap:12px;margin-block-start:8px;font-size:.875rem;font-weight:600}
.gcard .arrow{margin-inline-start:auto;inline-size:34px;block-size:34px;border-radius:50%;border:1px solid var(--rs-ink);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1;transition:background .15s,border-color .15s,color .15s}
.gcard:hover .arrow{background:var(--rs-garnet);border-color:var(--rs-garnet);color:#fff}
.gcard.lead{grid-column:1/-1;flex-direction:row}
.gcard.lead .ph{inline-size:46%;aspect-ratio:auto;min-block-size:340px;flex:none}
.gcard.lead .cbody{padding:36px 40px 32px;justify-content:center;gap:12px}
.gcard.lead h3{font-size:1.9rem}
.gcard.lead p{font-size:1.0625rem;line-height:1.55;flex:none;max-inline-size:52ch}
.gcard.lead .foot-row{margin-block-start:18px}
.gcard .crit-chips{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:8px}
.gcard .crit-chips .chip{font-size:.75rem;padding:4px 10px}
.gcard .crit-chips .lbl{inline-size:100%;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rs-mute);margin-block-end:2px}
.gcards.cols-3{grid-template-columns:repeat(6,minmax(0,1fr))}
.gcards.cols-3 .gcard{grid-column:span 2}
.gcards.cols-3 .gcard:nth-child(4){grid-column:2/span 2}
.gcards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gcards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gcards.cols-4 .gcard,.gcards.cols-2 .gcard{grid-column:auto}
.gcards.cols-3 .cbody{padding:22px 24px 20px}
.gcards.cols-3 h3{font-size:1.4rem}
.gcards.cols-3 p{font-size:.9688rem}
.gcards.cols-2 .gcard.lead{flex-direction:column}
.gcards.cols-2 .gcard .ph,.gcards.cols-2 .gcard.lead .ph{inline-size:100%;aspect-ratio:3/2;min-block-size:0}
.gcards.cols-2 .gcard.lead .cbody{justify-content:flex-start}
.gcards.cols-2 .gcard.lead h3{font-size:1.6rem}
.gcards.cols-2 .gcard.lead p{font-size:1rem;flex:none}
.gcards.cols-2 .cbody,.gcards.cols-2 .gcard.lead .cbody{padding:26px 28px 24px}
.gcards.cols-2 h3{font-size:1.6rem}
.gcards.cols-2 p{font-size:1rem}

/* 8. method: the plinth-grey band */
.method{background:var(--rs-plinth);border-block:1px solid var(--rs-line);padding-block:80px 84px;margin-block-start:92px;position:relative}
.method::before{content:"";position:absolute;inset-inline:0;inset-block-start:3px;border-block-start:1px solid var(--rs-white)}
.method .head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;margin-block-end:44px}
.method .head .sub{color:var(--rs-mute);margin:12px 0 0;font-size:1.0625rem;line-height:1.5;max-inline-size:52ch}
.method .still{background:var(--rs-white);padding:10px 10px 18px;position:relative;border:1px solid var(--rs-line)}
.method .still::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:8px;background:var(--rs-plinth-ledge)}
.method .still img{inline-size:100%;block-size:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rs-r-img)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-block:0 48px}
.steps li{position:relative;padding-block-start:18px;border-block-start:1px solid var(--rs-ink)}
.steps .n{font-family:var(--rs-display);font-size:1.9rem;color:var(--rs-garnet);line-height:1;margin-block-end:12px;font-weight:400}
.steps b{display:block;font-family:var(--rs-display);font-size:1.25rem;font-weight:500;margin-block-end:8px;line-height:1.2}
.steps p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--rs-mute)}
.scale-lbl{display:block;margin:0 0 14px}
.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-block:0 32px}
.scale li{background:var(--rs-white);border:1px solid var(--rs-line);padding:18px 20px 16px;min-inline-size:0}
.scale b{display:block;font-family:var(--rs-display);font-size:1.2rem;font-weight:500;line-height:1.15;margin-block-end:10px;padding-block-end:10px;border-block-end:1px solid var(--rs-line)}
.scale p{margin:0;font-size:.875rem;line-height:1.5;color:var(--rs-mute)}
.standards{font-size:.9375rem;color:var(--rs-mute);max-inline-size:78ch;margin:0;line-height:1.55}

/* 9. about */
.about{padding-block:92px 0}
.about .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.about h2{margin-block-end:16px}
.about .prose p{font-size:1.0625rem;line-height:1.6;max-inline-size:60ch}
.about .actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-block:22px 30px}
.about .actions .tlink{min-block-size:44px}
.corrections{background:var(--rs-white);border:1px solid var(--rs-line);padding:22px 26px}
.corrections .label{display:block}
.corrections p{margin:8px 0 14px;font-size:.9375rem;color:var(--rs-mute);line-height:1.5}
.corrections p a{color:var(--rs-ink)}
.about .art{padding-block-start:12px}

/* 10. footer */
.foot{background:var(--rs-plinth);margin-block-start:96px;border-block-start:1px solid var(--rs-line);position:relative}
.foot::before{content:"";position:absolute;inset-inline:0;inset-block-start:3px;border-block-start:1px solid var(--rs-white)}
.foot .cols{display:grid;grid-template-columns:1.9fr 2fr .9fr 1.1fr;gap:44px;padding-block:56px 40px}
.foot h4{font-family:var(--rs-text);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-mute);margin-block-end:14px}
.foot ul li{margin-block-end:4px;font-size:.9375rem}
.foot ul a{text-decoration:none;display:inline-block;padding-block:3px}
.foot ul a:hover{text-decoration:underline}
.foot .note{font-size:.875rem;color:var(--rs-mute);max-inline-size:44ch;margin-block:16px 12px;line-height:1.5}
.foot .pub{font-size:.8125rem;color:var(--rs-mute);line-height:1.6;margin:0}
.foot .langs a[aria-current]{color:var(--rs-garnet);font-weight:600}
.foot .copy{border-block-start:1px solid var(--rs-line);padding-block:14px 22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;font-size:.8125rem;color:var(--rs-mute)}
.foot .copy nav{display:flex;gap:18px;margin-inline-start:auto;flex-wrap:wrap}
.foot .copy a{text-decoration:none;display:inline-flex;align-items:center;min-block-size:44px}
.foot .copy a:hover{text-decoration:underline}
.foot .guides ul{columns:2;column-gap:20px}
.foot .guides li{break-inside:avoid}

/* 11. tablet */
@media (max-width:1180px){
  .hero .panel{inline-size:52%}
  .hero .panel h1{font-size:clamp(1.9rem,3vw,2.5rem)}
  .hero .panel .dek{font-size:.9375rem}
  .ticket li a{font-size:.875rem}
  .gcards.cols-3 h3{font-size:1.3rem}
  .gcards.cols-3 p{font-size:.9375rem}
  .foot .cols{grid-template-columns:1.4fr 1.6fr .8fr;gap:28px}
  .foot .langs{grid-column:1/-1}
}
@media (max-width:1023px){
  .mast .tag-line{display:none}
  .strip .date{display:none}
  .hero .photo{aspect-ratio:auto;overflow:visible;background:none}
  .hero .photo img{position:static;inline-size:100%;block-size:auto;aspect-ratio:4/3;background:var(--rs-plinth)}
  .hero .panel{position:relative;inset:auto;inline-size:auto;margin:-72px 24px 0;padding:22px 26px 28px}
  .hero .panel .top{flex-wrap:wrap}
  .hero .every{position:static;margin:22px 0 12px}
  .tickets{margin-block-start:0;grid-template-columns:1fr 1fr;align-items:stretch}
  .ticket li a{min-block-size:40px;font-size:.9063rem}
  .gcard{grid-column:span 6}
  .gcards.cols-3,.gcards.cols-4,.gcards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gcards.cols-3 .gcard,.gcards.cols-3 .gcard:nth-child(4){grid-column:auto}
  .gcard.lead .ph{inline-size:42%;min-block-size:280px}
  .gcard.lead .cbody{padding:28px 30px 26px}
  .gcard.lead h3{font-size:1.6rem}
  .method .head{grid-template-columns:1fr;gap:28px}
  .method .still{max-inline-size:560px}
  .steps{grid-template-columns:1fr 1fr}
  .scale{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about .wrap{grid-template-columns:1fr;gap:36px}
}

/* 12. phone */
@media (max-width:640px){
  .mast .wrap{min-block-size:58px;gap:12px}
  .mast .tag-line{display:none}
  .langsel .ln{display:none}
  .langsel summary{padding-inline:12px}
  .mast .tools{gap:12px}
  /* RS-M1 (RS_MOBILE_W2_V1 2026-10-24): the four widest one word labels (it 145, pt 142, es 128, fr 121 px tracked) drop the tracking under 640 px */
  html:lang(it) body.home .mast .adv,html:lang(pt) body.home .mast .adv,html:lang(es) body.home .mast .adv,html:lang(fr) body.home .mast .adv{letter-spacing:0}
  .brand{font-size:1.35rem}
  .brand .mark{inline-size:26px;block-size:26px}
  .strip .wrap{gap:20px;min-block-size:44px;padding-inline-end:56px}
  [dir="ltr"] .strip .wrap{mask-image:linear-gradient(to right,#000 86%,transparent);-webkit-mask-image:linear-gradient(to right,#000 86%,transparent)}
  [dir="rtl"] .strip .wrap{mask-image:linear-gradient(to left,#000 86%,transparent);-webkit-mask-image:linear-gradient(to left,#000 86%,transparent)}
  .strip .date{display:none}
  h1{font-weight:500}
  h2{font-size:1.75rem}
  .kicker{font-size:1.0625rem}
  .hero{padding-block:12px 0}
  .hero .photo img{aspect-ratio:3/2;object-position:50% 10%}
  .hero .panel{margin:-44px 12px 0;padding:16px 18px 20px}
  .hero .panel .kicker{font-size:1rem}
  .hero .panel .top{margin-block-end:4px}
  .hero .panel .top .tlink{font-size:.875rem}
  .hero .panel h1{font-size:1.85rem;margin-block-end:8px}
  .hero .panel .dek{font-size:.9375rem;line-height:1.45}
  .hero .every{margin:14px 0 8px}
  .tickets{grid-template-columns:1fr;gap:12px}
  .ticket .ph{display:none}
  .ticket .head{min-block-size:44px}
  .ticket ol{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;padding:4px 14px 14px}
  .ticket li+li{border:0}
  .ticket li a{min-block-size:44px;font-size:.875rem;padding-block:4px;border-block-end:1px solid var(--rs-line-2)}
  .ticket li:nth-last-child(-n+2) a{border:0}
  .dept-sec{padding-block:52px 0}
  .sec-h{margin-block-end:18px;gap:6px}
  .sec-h .sub{font-size:.9375rem}
  .gcards{gap:12px}
  .gcards+.gcards{margin-block-start:12px}
  .gcards.cols-3,.gcards.cols-4,.gcards.cols-2{grid-template-columns:1fr}
  .gcard,.gcards.cols-3 .gcard,.gcards.cols-3 .gcard:nth-child(4){grid-column:1/-1;flex-direction:row;align-items:stretch}
  .gcard .ph,.gcards.cols-2 .gcard .ph{inline-size:118px;flex:none;aspect-ratio:auto;min-block-size:0}
  .gcard .ph::before{display:none}
  .gcard .cbody,.gcards.cols-3 .cbody,.gcards.cols-2 .cbody{padding:14px 16px 12px;gap:6px}
  .gcard h3,.gcards.cols-3 h3,.gcards.cols-2 h3{font-size:1.1rem}
  .gcard h3 .dot{display:none}
  .gcard p,.gcards.cols-3 p,.gcards.cols-2 p{font-size:.8438rem;line-height:1.45}
  .gcard .foot-row{margin-block-start:4px;font-size:.8125rem}
  .gcard .arrow{inline-size:28px;block-size:28px;font-size:1.05rem}
  .gcard.lead{flex-direction:column}
  .gcard.lead .ph{inline-size:100%;aspect-ratio:3/2;min-block-size:0}
  .gcard.lead .cbody{padding:20px 18px 18px;gap:10px}
  .gcard.lead h3{font-size:1.45rem}
  .gcard.lead p{font-size:.9688rem;line-height:1.5}
  .gcard .crit-chips{gap:5px}
  .gcard .crit-chips .chip{font-size:.75rem;padding:4px 9px}
  .gcard.lead .foot-row{margin-block-start:8px}
  .method{padding-block:52px 56px;margin-block-start:56px}
  .method .head{margin-block-end:30px;gap:22px}
  .method .head .sub{font-size:1rem}
  .steps{grid-template-columns:1fr;gap:20px;margin-block-end:36px}
  .scale{grid-template-columns:1fr;gap:10px}
  .about{padding-block:56px 0}
  .about .prose p{font-size:1rem}
  .about .actions{margin-block:18px 22px}
  .corrections{padding:18px 18px}
  .foot{margin-block-start:56px}
  .foot .cols{grid-template-columns:1fr 1fr;gap:26px;padding-block:40px 28px}
  .foot ul li{margin:0}
  .foot ul a{display:block;padding-block:10px}
  .foot h4{margin-block-end:6px}
  .foot .guides ul{columns:1}
  .foot .brand-col{grid-column:1/-1}
  .foot .langs{grid-column:auto}
  .foot .copy nav{margin-inline-start:0;gap:0 18px}
}
@media (max-width:400px){
  .hero .panel h1{font-size:1.7rem}
  .hero .panel{margin-inline:8px}
  .foot .cols{grid-template-columns:1fr}
}
@media (max-width:374px){
  .hero .panel h1{font-size:1.6rem}
}

/* 13. motion and print */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{.strip,.langsel{display:none}.gcard,.ticket{break-inside:avoid}}

/* 14. the Hebrew edition (D3, 2026-09-16): RS Display (Bodoni Moda) and RS Text (Hanken Grotesk) carry no Hebrew glyphs, so the
   Hebrew homepage fell to the visitor's system faces while the guides load IBM Plex Sans Hebrew through rs-skin.css. The same
   three weights the page uses (400, 500, 600), the same files and unicode ranges as the skin's declarations (the Hebrew subset and
   its Latin companion, so digits and Latin words inside Hebrew text keep one face), then the guide theme's :lang(he) rules mirrored:
   both faces remapped for every Hebrew word, the wordmark and the step numerals (Latin) kept in the display face, the headings at
   letter-spacing 0 and weight 500, the italic kickers and the italic headline word upright (no synthesised oblique Hebrew).
   The mirrored layout comes from dir="rtl" and the logical properties above; nothing here is physical, nothing else moves. */
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-400-hebrew-de1a9c41ba.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-400-latin-37c470a135.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-500-hebrew-bec4404633.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-500-latin-ecfb8b5d13.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-600-hebrew-0446eb3ac1.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans Hebrew";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/rs/PlexSansHebrew-600-latin-3149c43d70.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
html:lang(he){--rs-display:"IBM Plex Sans Hebrew","Arial Hebrew",Arial,sans-serif;--rs-text:"IBM Plex Sans Hebrew","Arial Hebrew",Arial,sans-serif}
html:lang(he) :is(.brand,.steps .n){font-family:"RS Display","Bodoni Moda","Bodoni 72","Didot","Georgia",serif}
html:lang(he) :is(h1,h2,h3,h4){letter-spacing:0;font-weight:500}
html:lang(he) :is(.kicker,h1 em,h2 em){font-style:normal}

/* 15. the Greek edition's masthead label (D2, 2026-09-16): the Greek advertorial label is 209 px at 12 px with .14em tracking and
   pushed the masthead tools past the viewport under 400 px. Under 400 px the Greek label alone wraps to two lines at the end of the
   tools, uppercase and 12 px kept, untracked (its longest word is 89 px untracked and the masthead at 360 has 94 px for it beside
   the wordmark and the language button once the Greek phone tools sit 8 px apart with an 8 px button inset); no other language
   matches these rules. */
@media (max-width:400px){
  html:lang(el) .mast .adv{white-space:normal;max-inline-size:8.5em;line-height:1.15;text-align:end;letter-spacing:0}
  html:lang(el) .mast .tools{gap:8px}
  html:lang(el) .langsel summary{padding-inline:8px}
  /* RS-M1 (RS_MOBILE_W2_V1 2026-10-24, LEAD RULING RS-1): the Greek rule made general. The advertorial label plus the language pill did not fit beside the
     163 px wordmark on narrow phones (it and pt at 402 and 390 px, es fr it pl pt at 375, nine languages at 360, look/mast-home.tsv of the analysis):
     under 400 px every label is untracked, may take two lines and may break at a hyphenation point, with overflow-wrap anywhere as the guarantee that
     nothing pushes the page sideways; the tools 8 px apart, the pill at an 8 px inset. These rules follow the Greek rules on purpose (equal
     specificity, the cascade order decides; the shared values are identical and the 8.5em cap stays Greek only). */
  body.home .mast .adv{white-space:normal;min-inline-size:0;line-height:1.15;text-align:end;letter-spacing:0;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}
  body.home .mast .tools{gap:8px}
  body.home .langsel summary{padding-inline:8px}
}

/* 16. RS_SAFARI_TEXTWRAP_V1 (RS_MOBILE_W2_V1 2026-10-24; the fleet ruling w2/FLEET-RULING-TEXTWRAP.md and LEAD RULING RS-5): the Safari text-wrap pretty
   crash guard for this sheet's one pretty rule (section 2: p). Safari 26 class WebKit can crash while laying out a page whose text carries
   text-wrap: pretty at certain viewport widths (proven on the sister sites at 401 to 416 px). Inside @supports (hanging-punctuation: first), true
   in Safari and WebKit only, at every width, text-wrap: wrap by the id level override (three :not(#rs-none) on :root) without an important flag;
   the text-wrap: balance rules (the headings, the ticket head) are left alone. Removable in one edit when WebKit ships the fix.
   TW-A1 (the balance restraint, 2026-10-24; w2/FLEET-RULING-TEXTWRAP.md amendment TW-A1, w2tw2/rs/LEAD-RULINGS.md RS-TW2-1): the bare p of the wrap
   rule also reached the balanced .ticket .head paragraphs, so one id level balance re-assertion after the wrap rule gives them their balance back
   and leaves with the guard. */
@supports (hanging-punctuation:first){:root:not(#rs-none):not(#rs-none):not(#rs-none) p{text-wrap:wrap}
:root:not(#rs-none):not(#rs-none):not(#rs-none) body.home .ticket .head{text-wrap:balance}
}
