html { scroll-behavior: smooth; }
  body {
    font-family: 'Switzer', system-ui, sans-serif;
    background-color: #F7F5F0;
    color: #0A0A0A;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .font-serif-i { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; }
  .font-serif   { font-family: 'Instrument Serif', Georgia, serif; }
  .display-h    { font-family: 'Instrument Serif', Georgia, serif; letter-spacing: -0.02em; line-height: 0.95; }

  /* Subtle paper grain */
  .grain::before {
    content: '';
    position: fixed; inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0.035;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }

  /* Section number tag */
  .section-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    color: #737373;
    text-transform: uppercase;
  }

  /* Animated underline link */
  .ulink { position: relative; display: inline-block; }
  .ulink::after {
    content: ''; position: absolute; bottom: -2px; left: 0; height: 1px; width: 100%;
    background: currentColor; transform-origin: right; transform: scaleX(0);
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  }
  .ulink:hover::after { transform-origin: left; transform: scaleX(1); }

  /* Reveal animation */
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
  .reveal.in { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: 0.08s; }
  .reveal-delay-2 { transition-delay: 0.16s; }
  .reveal-delay-3 { transition-delay: 0.24s; }
  .reveal-delay-4 { transition-delay: 0.32s; }

  /* Hero status ticker */
  @keyframes blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }
  .blink { animation: blink 1.2s infinite; }

  /* Scroll-driven hero gradient */
  .hero-mesh {
    position: absolute; inset: 0; pointer-events: none;
    background:
      radial-gradient(60% 50% at 80% 20%, rgba(200,16,46,0.07) 0%, transparent 60%),
      radial-gradient(45% 40% at 10% 90%, rgba(10,10,10,0.05) 0%, transparent 60%);
  }

  /* Card hover */
  .card { transition: border-color 0.3s ease, transform 0.3s ease; }
  .card:hover { border-color: #0A0A0A; transform: translateY(-2px); }

  /* Marquee */
  @keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
  .marquee-track { animation: marquee 40s linear infinite; }

  /* Section divider */
  .rule { height: 1px; background: #E6E2D9; }

  /* Fancy first-letter for editorial pull */
  .lede::first-letter {
    font-family: 'Instrument Serif', serif;
    font-size: 3.4em;
    float: left;
    line-height: 0.85;
    margin-right: 0.08em;
    margin-top: 0.04em;
    color: #C8102E;
  }

  /* Numbered service cards */
  .service-num {
    font-family: 'Instrument Serif', serif;
    font-size: clamp(48px, 6vw, 88px);
    line-height: 1;
    color: #E6E2D9;
  }
  .card:hover .service-num { color: #C8102E; transition: color 0.4s ease; }

  /* Buttons */
  .btn-primary {
    display: inline-flex; align-items: center; gap: 12px;
    background: #0A0A0A; color: #F7F5F0;
    padding: 18px 28px; font-weight: 500; letter-spacing: -0.01em;
    border: 1px solid #0A0A0A; transition: all 0.3s ease;
  }
  .btn-primary:hover { background: #C8102E; border-color: #C8102E; }
  .btn-secondary {
    display: inline-flex; align-items: center; gap: 12px;
    background: transparent; color: #0A0A0A;
    padding: 18px 28px; font-weight: 500; letter-spacing: -0.01em;
    border: 1px solid #0A0A0A; transition: all 0.3s ease;
  }
  .btn-secondary:hover { background: #0A0A0A; color: #F7F5F0; }

  /* Mobile menu */
  .nav-link { font-size: 14px; letter-spacing: -0.01em; }
  
  /* Strip default list styles from footer menus */
    .footer-menu {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .footer-menu li {
        margin: 0;
        padding: 0;
    }

    /* Footer link — matches text-paper/80 hover:text-swiss transition */
    .footer-menu a {
        color: rgba(247, 245, 240, 0.8);
        text-decoration: none;
        font-size: 0.875rem;   /* text-sm */
        line-height: 1.5;
        transition: color 0.2s ease;
        display: inline-block;
    }
    .footer-menu a:hover {
        color: #D63D2C; /* text-swiss */
    }

    /* space-y-2 equivalent */
    .footer-menu li + li {
        margin-top: 0.5rem;
    }

    /* Footer logo — invert dark logo on dark background */
    footer .custom-logo-link img,
    footer .custom-logo {
        height: 2.25rem;
        width: auto;
        display: block;
        filter: brightness(0) invert(1);
    }
    
    /* swiss lp v4 */
    .sh-page-wrapper *{
    box-sizing:border-box;
}

.sh-page-wrapper{
    background:#F7F5EF;
    color:#111;
    font-family:'Inter',sans-serif;
}

.sh-container{
    width:min(1240px, calc(100% - 40px));
    margin:auto;
}

/* NAV */

.sh-nav{
    position:sticky;
    top:0;
    z-index:99;
    background:#F7F5EF;
    border-bottom:1px solid #ddd;
}

.sh-nav__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:80px;
}

.sh-nav__links{
    display:flex;
    gap:30px;
}

.sh-nav__links a{
    text-decoration:none;
    color:#111;
}

.sh-nav__logo{
    font-size:28px;
    font-weight:700;
    text-decoration:none;
    color:#111;
}

.sh-btn{
    display:inline-flex;
    padding:14px 24px;
    background:#111;
    color:#fff;
    text-decoration:none;
    transition:0.3s;
}

.sh-btn:hover{
    background:#E10600;
}

.sh-btn--ghost{
    background:transparent;
    border:1px solid #111;
    color:#111;
}

.sh-btn--ghost:hover{
    background:#111;
    color:#fff;
}

/* HERO */

.sh-hero{
    padding:120px 0;
}

.sh-hero__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
}

.sh-hero__title{
    font-size:90px;
    line-height:0.95;
    margin:0;
}

.sh-hero__title em{
    color:#E10600;
    font-style:italic;
}

.sh-hero__support p{
    font-size:20px;
    line-height:1.7;
}

.sh-hero__cta{
    margin-top:30px;
    display:flex;
    gap:20px;
}

.sh-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:3px;
    color:#E10600;
}

.sh-label--mute{
    color:#777;
}

/* SECTION */

.sh-section{
    padding:120px 0;
}

.sh-section-head{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:60px;
}

.sh-divider{
    flex:1;
    border:none;
    border-top:1px solid #ddd;
}

/* PILLARS */

.sh-pillars{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

.sh-pillar{
    padding:50px;
    border-right:1px solid #ddd;
}

.sh-pillar:last-child{
    border-right:none;
}

.sh-pillar h3{
    font-size:42px;
}

/* SERVICES */

.sh-services__list{
    border-top:1px solid #ddd;
}

/*.sh-srow{*/
/*    display:grid;*/
/*    grid-template-columns:120px 1fr;*/
/*    gap:40px;*/
/*    padding:40px 0;*/
/*    border-bottom:1px solid #ddd;*/
/*}*/

.sh-srow__num{
    font-size:50px;
    color:#ccc;
}

.sh-srow__title{
    font-size:40px;
    margin-bottom:20px;
}

/* FEATURED */

.sh-featured{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid #ddd;
}

.sh-featured__left,
.sh-featured__right{
    padding:60px;
}

.sh-featured__right{
    border-left:1px solid #ddd;
}

.sh-featured__title{
    font-size:72px;
}

.sh-featured__title em{
    color:#E10600;
}

.sh-featured__features{
    padding-left:20px;
}

/* CONTACT */

.sh-contact__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
}

.sh-contact__title{
    font-size:72px;
}

.sh-contact__title em{
    color:#E10600;
}

.sh-form{
    background:#fff;
    padding:40px;
    border:1px solid #ddd;
}

.sh-field{
    margin-bottom:24px;
}

.sh-field label{
    display:block;
    margin-bottom:10px;
}

.sh-field input,
.sh-field textarea{
    width:100%;
    padding:14px;
    border:1px solid #ddd;
}

.sh-form__submit{
    width:100%;
    padding:16px;
    background:#111;
    color:#fff;
    border:none;
    cursor:pointer;
}

/* FOOTER */

.sh-footer{
    padding:80px 0;
    border-top:1px solid #ddd;
}

.sh-footer__grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
}

.sh-footer__tag{
    font-size:40px;
}

.sh-footer__tag em{
    color:#E10600;
}

.sh-footer__bottom{
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid #ddd;
}

/* ANIMATION */

.sh-reveal{
    opacity:0;
    transform:translateY(40px);
    transition:all .8s ease;
}

.sh-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* MOBILE */

@media(max-width:991px){

    .sh-hero__grid,
    .sh-contact__grid,
    .sh-featured,
    .sh-pillars{
        grid-template-columns:1fr;
    }

    .sh-nav__links{
        display:none;
    }

    .sh-hero__title{
        font-size:54px;
    }

    .sh-contact__title{
        font-size:50px;
    }

    .sh-featured__title{
        font-size:50px;
    }

    .sh-srow{
        grid-template-columns:1fr;
    }

}