/*
  The Tiffelli room. Tokens and rules from the brand kit: ivory ground, onyx
  type, linen hairlines, champagne as hairlines, dots and labels only,
  Cormorant Garamond display, Jost light body. No drop shadows, no pills,
  2 px corners, one onyx panel, one italic champagne word per screen.
  Every selector carries the tf prefix.
*/
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2")}
/* Fallback faces sized to the web fonts, so the page does not jump when they arrive. */
@font-face{font-family:"TF Serif Fallback";font-style:normal;src:local("Georgia");size-adjust:87.6%}
@font-face{font-family:"TF Serif Fallback";font-style:italic;src:local("Georgia Italic"),local("Georgia");size-adjust:78%}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url("fonts/jost-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/jost-latin-500-normal.woff2") format("woff2")}

.tf-room{
  --tf-ivory:#F4EFE6;--tf-linen:#DFD6C7;--tf-onyx:#121110;--tf-graphite:#3A3733;--tf-ash:#6E6963;
  --tf-gold:#B8955A;--tf-gold-2:#D4B87C;--tf-gold-dark:#8C6E3B;--tf-bordeaux:#5B1F2B;--tf-moss:#3F4A3A;
  --tf-display:"Cormorant Garamond","TF Serif Fallback",Georgia,"Times New Roman",serif;
  --tf-body:"Jost","Helvetica Neue",system-ui,-apple-system,Arial,sans-serif;
  background:var(--tf-ivory);
}
.tf-room *,.tf-room *::before,.tf-room *::after{box-sizing:border-box}
.tf-room body{margin:0;background:var(--tf-ivory);color:var(--tf-onyx);font-family:var(--tf-body);font-weight:300;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
:where(.tf-room) :where(h1,h2,h3,p,ul,figure){margin:0}
:where(.tf-room) ul{padding:0;list-style:none}
.tf-room img{display:block;max-width:100%;height:auto}
.tf-room :focus-visible{outline:2px solid var(--tf-onyx);outline-offset:4px}
.tf-skip{position:absolute;left:16px;top:-80px;z-index:10;background:var(--tf-onyx);color:var(--tf-ivory);padding:12px 18px;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.tf-skip:focus{top:16px}

.tf-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.tf-label{font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tf-ash)}

.tf-hero{padding:64px 0 56px}
/* The wordmark, set in the kit's display face. */
.tf-room h1{font-family:var(--tf-display);font-weight:500;font-size:30px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--tf-onyx)}
.tf-tag{font-family:var(--tf-display);font-weight:500;font-size:52px;line-height:1.04;margin-top:56px}
.tf-tag em{font-style:italic;color:var(--tf-gold-dark)}
.tf-hair{width:38px;height:1px;background:var(--tf-gold);margin:26px 0 22px}
.tf-lede{font-family:var(--tf-display);font-weight:500;font-size:24px;line-height:1.35;color:var(--tf-graphite);max-width:22em}
.tf-meta{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:34px}
.tf-btn{display:inline-block;padding:16px 26px;border:1px solid var(--tf-onyx);border-radius:2px;background:var(--tf-onyx);color:var(--tf-ivory);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.tf-btn:hover{background:var(--tf-graphite)}
.tf-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tf-gold);margin-right:10px;vertical-align:middle}

.tf-section{padding:64px 0;border-top:1px solid var(--tf-linen)}
.tf-room h2{font-family:var(--tf-display);font-weight:500;font-size:34px;line-height:1.1;margin:12px 0 32px}

.tf-screens{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.tf-screens figcaption{margin-top:12px;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--tf-ash);text-align:center}

.tf-lanes{border-bottom:1px solid var(--tf-linen)}
.tf-lanes li{display:grid;gap:6px;padding:22px 0;border-top:1px solid var(--tf-linen)}
.tf-lanes h3{font-family:var(--tf-display);font-weight:500;font-size:26px;line-height:1.15}
.tf-lanes h3 i{display:inline-block;width:9px;height:9px;margin-right:14px;vertical-align:middle}
.tf-own i{background:var(--tf-moss)}
.tf-one i{background:var(--tf-gold)}
.tf-new i{background:var(--tf-bordeaux)}
.tf-lanes p{color:var(--tf-graphite);max-width:34em}

/* The one onyx panel. */
.tf-dark{background:var(--tf-onyx);color:var(--tf-ivory);border-radius:2px;padding:40px 28px 44px}
.tf-dark .tf-label{color:var(--tf-gold-2)}
.tf-dark p{font-family:var(--tf-display);font-weight:500;font-size:38px;line-height:1.1;margin-top:14px}
.tf-dark span{display:block;font-family:var(--tf-body);font-weight:300;font-size:17px;line-height:1.6;color:var(--tf-ivory);margin-top:16px;max-width:30em}

@media (min-width:768px){
  .tf-wrap{padding:0 40px}
  .tf-hero{padding:96px 0 88px}
  .tf-room h1{font-size:36px}
  .tf-tag{font-size:84px;margin-top:72px}
  .tf-lede{font-size:28px}
  .tf-meta{flex-direction:row;align-items:center;gap:26px}
  .tf-section{padding:96px 0}
  .tf-room h2{font-size:44px}
  .tf-screens{grid-template-columns:repeat(4,1fr);gap:24px}
  .tf-lanes li{grid-template-columns:320px 1fr;gap:32px;align-items:baseline}
  .tf-dark{padding:64px 56px 68px}
  .tf-dark p{font-size:56px}
}
@media (min-width:1200px){
  .tf-tag{font-size:104px}
}
