
.hor-root{
    --hor-black:#000000;
    --hor-bone:#faf6f1;
    --hor-bone-dim:#efe7db;
    --hor-stone:#b3a087;
    --hor-stone-dark:#7d7160;
    --hor-line:rgba(250,246,241,0.16);
    --hor-line-dark:rgba(0,0,0,0.1);
    --hor-serif:'Noto Serif Display', Georgia, serif;
    --hor-sans:'Glacial Indifference', Arial, Helvetica, sans-serif;
    --hor-accent:'Glacial Indifference', Arial, Helvetica, sans-serif;
    font-family:var(--hor-sans);
    color:var(--hor-black) !important;
    background:var(--hor-bone);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    font-size:16px;
    cursor:auto;
  }
  .hor-root *{box-sizing:border-box;}
  .hor-root img{max-width:100%;display:block;}
  .hor-root a{text-decoration:none;color:inherit !important;}
  .hor-root section{position:relative;}
  .hor-wrap{max-width:1280px;margin:0 auto;padding:0 22px;position:relative;}
  @media(min-width:700px){.hor-wrap{padding:0 40px;}}

  .hor-grain{
    position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.06;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .hor-eyebrow{
    font-family:var(--hor-accent);font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;
    color:var(--hor-stone-dark) !important;display:inline-flex;align-items:center;gap:12px;margin:0 0 20px;
  }
  .hor-eyebrow::before{content:"";width:26px;height:1px;background:var(--hor-stone-dark);flex:none;}

  .hor-btn{
    position:relative;display:inline-flex;align-items:center;gap:10px;
    font-family:var(--hor-accent);padding:17px 30px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
    border:1px solid currentColor;border-radius:2px;overflow:hidden;white-space:nowrap;
    transition:color .4s ease, letter-spacing .4s ease;
  }
  .hor-btn::before{
    content:"";position:absolute;inset:0;background:currentColor;transform:translateY(101%);
    transition:transform .45s cubic-bezier(.65,0,.35,1);z-index:0;
  }
  .hor-btn:hover::before{transform:translateY(0);}
  .hor-btn span, .hor-btn svg{position:relative;z-index:1;transition:color .4s ease, transform .35s ease;}
  .hor-btn--dark{color:var(--hor-bone) !important;}
  .hor-btn--dark::before{background:var(--hor-bone);}
  .hor-btn--dark:hover{letter-spacing:.2em;}
  .hor-btn--dark:hover span, .hor-btn--dark:hover svg{color:var(--hor-black) !important;}
  .hor-btn--light{color:var(--hor-black) !important;}
  .hor-btn--light::before{background:var(--hor-black);}
  .hor-btn--light:hover{letter-spacing:.2em;}
  .hor-btn--light:hover span, .hor-btn--light:hover svg{color:var(--hor-bone) !important;}
  .hor-btn--outline{color:var(--hor-bone) !important;opacity:.85;}
  .hor-btn--outline::before{display:none;}
  .hor-btn--outline:hover{opacity:1;border-color:var(--hor-stone);letter-spacing:.2em;}
  .hor-btn--white{
    background:var(--hor-bone);color:var(--hor-black) !important;border-color:var(--hor-bone);
    transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, letter-spacing .4s ease;
  }
  .hor-btn--white::before{display:none;}
  .hor-btn--white span, .hor-btn--white svg{color:var(--hor-black) !important;}
  .hor-btn--white:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.35);letter-spacing:.2em;}
  .hor-btn--white-solid-text{
    background:rgba(250,246,241,.1);color:var(--hor-bone) !important;border-color:var(--hor-bone);
    transition:background .35s ease, transform .35s cubic-bezier(.16,1,.3,1), letter-spacing .4s ease;
  }
  .hor-btn--white-solid-text::before{display:none;}
  .hor-btn--white-solid-text:hover{background:rgba(250,246,241,.2);transform:translateY(-2px);letter-spacing:.2em;}
  .hor-btn--white-outline{
    background:transparent;color:#faf6f1 !important;border-color:rgba(250,246,241,.85);
    transition:background .35s ease, color .35s ease, border-color .35s ease, letter-spacing .4s ease;
  }
  .hor-btn--white-outline span, .hor-btn--white-outline svg{color:#faf6f1 !important;stroke:#faf6f1;}
  .hor-btn--white-outline::before{display:none;}
  .hor-btn--white-outline:hover{background:#faf6f1;color:#000000 !important;border-color:#faf6f1;letter-spacing:.2em;}
  .hor-btn--white-outline:hover span, .hor-btn--white-outline:hover svg{color:#000000 !important;stroke:#000000;}
  .hor-btn svg{width:14px;height:14px;flex:none;}
  .hor-btn:hover svg{transform:translateX(4px);}

  .hor-fade{opacity:1;transform:none;transition:opacity 1s ease,transform 1s ease;}

  .hor-cursor{
    position:fixed;top:0;left:0;width:26px;height:26px;border:1px solid var(--hor-stone-dark);
    border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
    transition:width .25s ease,height .25s ease,border-color .25s ease,background .25s ease;
    mix-blend-mode:difference;
  }
  .hor-cursor.hor-cursor--big{width:60px;height:60px;background:var(--hor-bone);border-color:transparent;}

  .hor-stickynav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(0,0,0,.88);backdrop-filter:blur(10px);
    padding:16px 22px;display:flex;justify-content:space-between;align-items:center;
    opacity:0;transform:translateY(-100%);transition:opacity .4s ease,transform .4s ease;
    pointer-events:none;
  }
  .hor-stickynav.hor-show{opacity:1;transform:translateY(0);pointer-events:auto;}
  @media(min-width:700px){.hor-stickynav{padding:16px 40px;}}
  .hor-stickynav .hor-logo{font-size:15px;}

  .hor-float-book{
    position:fixed;right:16px;bottom:16px;z-index:90;
    background:var(--hor-black);color:var(--hor-bone) !important;
    padding:15px 22px;border-radius:2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
  }
  @media(min-width:900px){.hor-float-book{display:none;}}

  .hor-announce{background:var(--hor-black);color:var(--hor-bone) !important;text-align:center;padding:11px 16px;font-family:var(--hor-accent);font-size:11.5px;letter-spacing:.1em;font-weight:600;}
  .hor-announce a{border-bottom:1px solid var(--hor-stone);color:var(--hor-stone) !important;}

  .hor-hero{min-height:100svh;display:flex;align-items:flex-end;background:var(--hor-black);overflow:hidden;}
  .hor-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;}
  .hor-hero-mesh{position:absolute;inset:0;background:linear-gradient(160deg, #0a0a09, #1c1a17 55%, #050504);overflow:hidden;}
  .hor-hero-mesh::before{
    content:"";position:absolute;top:50%;left:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;
    background:conic-gradient(from 0deg, rgba(179,160,135,.5) 0deg, rgba(90,80,65,.15) 90deg, rgba(60,55,48,.35) 180deg, rgba(179,160,135,.1) 270deg, rgba(179,160,135,.5) 360deg);
    filter:blur(60px);animation:hor-aura-spin 40s linear infinite;
  }
  .hor-hero-mesh::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 105%, rgba(0,0,0,.9), transparent 55%);}
  @keyframes hor-aura-spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
  .hor-hero-video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;
    transition:opacity 1.2s ease;filter:saturate(1.05) contrast(1.06) brightness(.92);
    animation:hor-kenburns 28s ease-in-out infinite alternate;}
  .hor-hero-video.hor-has-src{opacity:1;}
  @keyframes hor-kenburns{0%{transform:scale(1.0);}100%{transform:scale(1.09);}}
  .hor-hero-media::after{
    content:"";position:absolute;inset:0;z-index:2;
    background:
      radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%),
      linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.05) 30%, rgba(0,0,0,.2) 55%, rgba(0,0,0,.96) 100%),
      linear-gradient(0deg, rgba(30,22,14,.35), rgba(30,22,14,.35));
    mix-blend-mode:multiply;
  }
  .hor-hero-glow{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 45% at 30% 100%, rgba(179,160,135,.28), transparent 70%);mix-blend-mode:screen;}
  .hor-hero-beam{
    position:absolute;z-index:2;top:-20%;left:-30%;width:60%;height:140%;pointer-events:none;
    background:linear-gradient(100deg, transparent 40%, rgba(255,255,255,.06) 48%, rgba(255,255,255,.1) 50%, rgba(255,255,255,.06) 52%, transparent 60%);
    animation:hor-beam-sweep 9s ease-in-out infinite;
  }
  @keyframes hor-beam-sweep{0%,100%{transform:translateX(0);}50%{transform:translateX(160%);}}
  .hor-hero-word{
    position:absolute;z-index:2;left:50%;top:44%;transform:translate(-50%,-50%);
    font-family:var(--hor-serif);font-style:italic;font-weight:300;
    font-size:clamp(120px,26vw,420px);color:rgba(250,246,241,0.05) !important;
    white-space:nowrap;pointer-events:none;letter-spacing:-.02em;
  }
  .hor-hero-side{
    position:absolute;z-index:3;right:26px;top:50%;transform:translateY(-50%) rotate(180deg);
    writing-mode:vertical-rl;font-family:var(--hor-accent);color:var(--hor-bone-dim) !important;font-size:10.5px;letter-spacing:.34em;
    text-transform:uppercase;font-weight:700;display:none;
  }
  @media(min-width:900px){.hor-hero-side{display:block;}}
  .hor-hero-content{position:relative;z-index:4;width:100%;padding:130px 0 60px;}
  @media(min-width:700px){.hor-hero-content{padding-bottom:80px;}}
  .hor-hero-inner{max-width:1280px;margin:0 auto;padding:0 22px;display:flex;flex-direction:column;gap:32px;}
  @media(min-width:700px){.hor-hero-inner{padding:0 40px;gap:38px;}}
  .hor-hero-top{
    display:flex;justify-content:space-between;align-items:flex-start;position:absolute;top:0;left:0;right:0;
    max-width:1280px;margin:0 auto;padding:26px 22px;z-index:5;
  }
  @media(min-width:700px){.hor-hero-top{padding:34px 40px;}}
  .hor-logo{font-family:var(--hor-serif);font-size:20px;letter-spacing:.08em;color:var(--hor-bone) !important;line-height:1.3;font-weight:340;}
  .hor-logo b{font-weight:600;}
  .hor-logo-tag{display:flex;align-items:center;gap:8px;font-family:var(--hor-accent);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--hor-stone) !important;font-weight:700;margin-top:6px;}
  .hor-logo-tag::before{content:"";width:12px;height:1px;background:var(--hor-stone);display:inline-block;}
  .hor-root a.hor-top-cta,
  .hor-root .hor-hero-top a.hor-top-cta{
    font-family:var(--hor-accent);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
    color:#faf6f1 !important;border-bottom:1px solid rgba(250,246,241,.4) !important;
    padding-bottom:4px;font-weight:700;margin-top:5px;
    background:transparent !important;-webkit-text-fill-color:#faf6f1 !important;
  }
  .hor-root a.hor-top-cta:hover,
  .hor-root a.hor-top-cta:visited,
  .hor-root a.hor-top-cta:active{color:#faf6f1 !important;-webkit-text-fill-color:#faf6f1 !important;}
  .hor-hero-eyebrow{color:var(--hor-stone) !important;font-family:var(--hor-accent);font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .hor-hero-title{
    font-family:var(--hor-serif);font-weight:340;color:var(--hor-bone) !important;
    font-size:clamp(46px,11.8vw,132px);line-height:0.97;letter-spacing:-.015em;max-width:1020px;
    text-shadow:0 8px 40px rgba(0,0,0,.45);
    animation:hor-title-in 1.3s cubic-bezier(.16,1,.3,1) both;animation-delay:.1s;
  }
  @keyframes hor-title-in{0%{opacity:0;transform:translateY(28px);}100%{opacity:1;transform:translateY(0);}}
  .hor-hero-title em{
    font-style:italic;font-weight:300;
    background:linear-gradient(100deg, #8f8067 0%, #d9c9ae 22%, #f4ead6 40%, #d9c9ae 58%, #8f8067 80%);
    background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent !important;
    animation:hor-gold-shimmer 7s ease-in-out infinite;
  }
  @keyframes hor-gold-shimmer{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
  .hor-hero-rule{width:64px;height:1px;background:linear-gradient(90deg, var(--hor-stone), transparent);margin:6px 0 2px;}
  .hor-hero-bottom{display:flex;flex-direction:column;gap:24px;border-top:1px solid var(--hor-line);padding-top:26px;}
  @media(min-width:700px){.hor-hero-bottom{flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;}}
  .hor-hero-sub{color:var(--hor-bone-dim) !important;font-size:16px;line-height:1.65;max-width:390px;font-weight:400;}
  .hor-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
  .hor-hero-scroll{
    position:absolute;left:22px;bottom:0;z-index:4;display:flex;align-items:center;gap:12px;
    font-family:var(--hor-accent);color:var(--hor-bone-dim) !important;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  }
  @media(min-width:700px){.hor-hero-scroll{left:40px;}}
  .hor-hero-scroll span{width:1px;height:44px;background:var(--hor-line);position:relative;overflow:hidden;display:block;}
  .hor-hero-scroll span::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--hor-stone);animation:hor-scrollline 2.4s ease-in-out infinite;}
  @keyframes hor-scrollline{0%{top:-100%;}50%{top:100%;}50.01%{top:-100%;}100%{top:100%;}}

  .hor-marquee{background:var(--hor-black);border-top:1px solid var(--hor-line);border-bottom:1px solid var(--hor-line);padding:18px 0;overflow:hidden;white-space:nowrap;position:relative;}
  .hor-marquee-track{display:inline-flex;animation:hor-marquee 34s linear infinite;}
  .hor-marquee-track span{font-family:var(--hor-serif);font-style:italic;font-size:19px;color:var(--hor-stone) !important;padding:0 22px;display:inline-flex;align-items:center;gap:22px;}
  @media(min-width:700px){.hor-marquee-track span{font-size:24px;padding:0 28px;gap:28px;}}
  .hor-marquee-track span::after{content:"—";color:var(--hor-bone-dim) !important;font-style:normal;}
  @keyframes hor-marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

  .hor-ghost{
    position:absolute;z-index:0;font-family:var(--hor-serif);font-weight:600;
    color:transparent !important;-webkit-text-stroke:1px rgba(0,0,0,.06);
    font-size:clamp(90px,18vw,280px);line-height:1;pointer-events:none;user-select:none;white-space:nowrap;
  }
  .hor-ghost--dark{-webkit-text-stroke:1px rgba(250,246,241,.1);}

  .hor-head{display:flex;flex-direction:column;gap:18px;margin-bottom:44px;position:relative;z-index:1;}
  @media(min-width:800px){.hor-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;}}
  .hor-head-title{font-family:var(--hor-serif);font-weight:500;font-size:clamp(32px,5vw,54px);margin:0;line-height:1.04;max-width:560px;}
  .hor-head-title em{font-style:italic;color:var(--hor-stone-dark) !important;font-weight:400;}
  .hor-head-note{font-size:15px;color:#4a453b !important;max-width:340px;line-height:1.7;margin:0;}

  .hor-about{background:var(--hor-bone);padding:150px 0;overflow:hidden;}
  @media(max-width:799px){.hor-about{padding:64px 0;}}
  .hor-ghost--about{top:2%;left:-2%;}
  .hor-about-grid{display:grid;grid-template-columns:1fr;gap:64px 0;align-items:center;position:relative;z-index:1;}
  @media(min-width:900px){.hor-about-grid{grid-template-columns:0.85fr 1fr;gap:0 100px;}}
  .hor-about-media{position:relative;max-width:440px;margin:0 auto;}
  @media(min-width:900px){.hor-about-media{max-width:none;margin:0;}}
  @media(max-width:699px){.hor-about-media{max-width:340px;}}
  .hor-img-frame{position:relative;overflow:hidden;border-radius:2px;}
  .hor-about-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
    transition:transform 1.1s cubic-bezier(.16,1,.3,1);
    background:linear-gradient(160deg, var(--hor-stone) 0%, var(--hor-bone-dim) 55%, var(--hor-stone) 120%);}
  .hor-img-frame:hover .hor-about-img{transform:scale(1.05);}
  .hor-img-frame::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%);
    transform:translateX(-140%);
  }
  .hor-img-frame:hover::after{transition:transform .9s cubic-bezier(.16,1,.3,1);transform:translateX(140%);}
  .hor-about-badge{position:absolute;left:16px;bottom:-30px;background:var(--hor-black);color:var(--hor-bone) !important;padding:24px 26px;max-width:220px;border-radius:2px;z-index:2;}
  @media(min-width:900px){.hor-about-badge{left:-40px;bottom:-40px;padding:28px 32px;max-width:240px;}}
  @media(max-width:699px){.hor-about-badge{padding:18px 20px;max-width:180px;bottom:-22px;}}
  .hor-about-badge .hor-num{font-family:var(--hor-serif);font-size:32px;color:var(--hor-stone) !important;line-height:1;margin-bottom:6px;display:block;}
  .hor-about-badge p{font-size:12px;letter-spacing:.02em;line-height:1.5;margin:0;color:var(--hor-bone-dim) !important;}
  .hor-about-inset{
    position:absolute;top:-26px;right:-22px;width:38%;aspect-ratio:1;
    border:6px solid var(--hor-bone);border-radius:2px;overflow:hidden;
    box-shadow:0 20px 40px rgba(0,0,0,.14);z-index:2;transform:rotate(3deg);
    transition:transform .5s cubic-bezier(.16,1,.3,1);
  }
  @media(min-width:900px){.hor-about-inset{right:-48px;top:-40px;width:42%;}}
  @media(max-width:699px){.hor-about-inset{width:34%;right:-14px;top:-18px;border-width:4px;}}
  .hor-about-media:hover .hor-about-inset{transform:rotate(0deg);}
  .hor-about-inset img{width:100%;height:100%;object-fit:cover;display:block;}
  .hor-about-title{font-family:var(--hor-serif);font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1.04;margin:0 0 26px;max-width:540px;}
  .hor-about-title em{font-style:italic;color:var(--hor-stone-dark) !important;font-weight:400;}
  .hor-about-text{font-size:16.5px;line-height:1.85;color:#3b362f !important;max-width:480px;margin:0 0 20px;}
  .hor-about-list{list-style:none;margin:0 0 34px;padding:0;display:grid;gap:13px;max-width:480px;}
  .hor-about-list li{display:flex;gap:14px;font-size:15px;line-height:1.6;color:#3b362f !important;}
  .hor-about-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--hor-stone-dark);margin-top:8px;flex:none;}
  .hor-signature{font-family:var(--hor-serif);font-style:italic;font-size:19px;color:var(--hor-black) !important;margin:0 0 36px;padding-left:22px;border-left:2px solid var(--hor-stone);line-height:1.5;position:relative;}
  .hor-signature span{display:block;font-family:var(--hor-sans);font-style:normal;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--hor-stone-dark) !important;margin-top:9px;font-weight:700;}

  .hor-pillars{background:var(--hor-black);color:var(--hor-bone) !important;padding:0;position:relative;}
  .hor-pillars-grid{display:grid;grid-template-columns:1fr;position:relative;z-index:1;}
  @media(min-width:700px){.hor-pillars-grid{grid-template-columns:repeat(3,1fr);}}
  .hor-pillar{padding:64px 40px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--hor-line);position:relative;transition:background .4s ease;}
  @media(min-width:700px){.hor-pillar{border-top:none;border-left:1px solid var(--hor-line);}}
  @media(max-width:699px){.hor-pillar{padding:36px 24px;gap:10px;}}
  .hor-pillar:first-child{border:none;}
  .hor-pillar:hover{background:rgba(250,246,241,.03);}
  .hor-pillar-head{display:flex;flex-direction:column;gap:14px;}
  @media(max-width:699px){
    .hor-pillar-head{flex-direction:row;align-items:center;gap:16px;}
    .hor-pillar-num{display:none;}
    .hor-pillar-head h3{margin:0;}
  }
  .hor-pillar-icon{width:34px;height:34px;color:var(--hor-stone) !important;margin-bottom:6px;}
  @media(max-width:699px){.hor-pillar-icon{width:30px;height:30px;margin-bottom:0;flex:none;}}
  .hor-pillar-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;}
  .hor-pillar span.hor-pillar-num{font-family:var(--hor-serif);font-style:italic;font-size:15px;color:var(--hor-stone) !important;}
  .hor-pillar h3{font-family:var(--hor-serif);font-size:26px;font-weight:500;margin:0;}
  .hor-pillar p{font-size:14.5px;line-height:1.75;color:var(--hor-bone-dim) !important;margin:0;max-width:320px;}

  .hor-classes{background:var(--hor-bone);padding:150px 0;overflow:hidden;position:relative;}
  @media(max-width:799px){.hor-classes{padding:64px 0;}}
  .hor-ghost--classes{top:6%;right:-3%;}

  /* .hor-classes-list is rendered inline here by the shortcode,
     nested inside .hor-wrap. Kept as a single scroll-snap row at
     every breakpoint — a real carousel, not a grid that wraps to
     multiple rows once there are more than 3-4 classes.

     Specificity is stacked (repeated class) on the layout-critical
     properties — this exact site has repeatedly shown a theme rule
     that beats a normal single-class !important rule for flex/grid
     display, so the safe fix is out-specificity-ing it directly. */
  .hor-classes-carousel { position: relative !important; }
  .hor-classes-list.hor-classes-list.hor-classes-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    margin: 0 -22px !important;
    padding: 0 22px 6px 22px !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
  }
  .hor-classes-list::-webkit-scrollbar { display: none !important; }
  @media(min-width:700px){
    .hor-classes-list.hor-classes-list.hor-classes-list { gap: 20px !important; margin: 0 !important; padding: 0 4px 6px 4px !important; }
    /* exactly 4 on screen, rest reachable via scroll/arrows */
    .hor-class-list-item.hor-class-list-item.hor-class-list-item { flex: 0 0 calc(25% - 15px) !important; }
  }

  /* carousel arrows — desktop/tablet only, touch swipe already
     covers mobile perfectly well on its own */
  .hor-classes-nav {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    border: 1px solid var(--hor-line-dark) !important;
    background: var(--hor-bone) !important;
    color: var(--hor-black) !important;
    cursor: pointer !important;
    position: absolute !important;
    top: 40% !important;
    z-index: 5 !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.1) !important;
    transition: background .3s ease, transform .3s ease, border-color .3s ease !important;
  }
  .hor-classes-nav:hover { background: var(--hor-black) !important; color: var(--hor-bone) !important; border-color: var(--hor-black) !important; }
  .hor-classes-nav:active { transform: translateY(-50%) scale(.94) !important; }
  .hor-classes-nav svg { width: 17px !important; height: 17px !important; }
  .hor-classes-nav--prev { left: -23px !important; transform: translateY(-50%) !important; }
  .hor-classes-nav--next { right: -23px !important; transform: translateY(-50%) !important; }
  @media(min-width:900px){ .hor-classes-nav { display: flex !important; } }
  @media(min-width:1340px){
    .hor-classes-nav--prev { left: -56px !important; }
    .hor-classes-nav--next { right: -56px !important; }
  }

  /* the whole card is a raw <a> — reset link-blue proactively */
  .hor-class-list-item,
  .hor-class-list-item *,
  .hor-class-list-item:hover,
  .hor-class-list-item:visited {
    color: inherit !important;
    text-decoration: none !important;
    -webkit-text-fill-color: currentColor !important;
  }
  .hor-class-list-item.hor-class-list-item{flex:0 0 82% !important;scroll-snap-align:start !important;}
  @media(min-width:700px){
    .hor-class-list-item.hor-class-list-item{flex:none !important;}
  }

  /* Dynamic class card — output by [hor_classes_list], works for any
     number of items the shortcode returns. Same visual language as
     the rest of the site: photo, dark gradient, gold hover stripe.
     !important + stacked specificity throughout — this theme has
     repeatedly shown rules that beat a plain single-class !important,
     so the safe fix is out-specificity-ing it directly. */
  .hor-class-list-item.hor-class-list-item.hor-class-list-item{
    position:relative !important;overflow:hidden !important;border-radius:2px !important;
    aspect-ratio:4/5 !important;width:100% !important;max-width:100% !important;
    display:flex !important;flex-direction:column !important;justify-content:flex-end !important;
    padding:26px !important;gap:10px !important;margin:0 !important;
    transition:transform .4s ease, box-shadow .4s ease !important;isolation:isolate !important;
    color:#faf6f1 !important;text-decoration:none !important;
  }
  @media(min-width:700px){.hor-class-list-item.hor-class-list-item.hor-class-list-item{aspect-ratio:4/5 !important;}}
  .hor-class-list-item:hover{transform:translateY(-6px) !important;box-shadow:0 24px 50px rgba(0,0,0,.18) !important;}
  .hor-class-list-photo.hor-class-list-photo.hor-class-list-photo{
    position:absolute !important;inset:0 !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
    width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;
    object-fit:cover !important;object-position:center !important;
    z-index:0 !important;margin:0 !important;display:block !important;
    transition:transform 1.1s cubic-bezier(.16,1,.3,1) !important;
    background:linear-gradient(160deg, var(--hor-stone), var(--hor-bone-dim)) !important;
  }
  .hor-class-list-item:hover .hor-class-list-photo{transform:scale(1.07) !important;}
  .hor-class-list-item::before{
    content:"" !important;position:absolute !important;inset:0 !important;z-index:1 !important;
    background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.92) 100%) !important;
  }
  .hor-class-list-item::after{
    content:"" !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:3px !important;z-index:3 !important;
    background:linear-gradient(90deg, var(--hor-stone-dark), #f4ead6 50%, var(--hor-stone-dark)) !important;
    transform:scaleX(0) !important;transform-origin:left !important;transition:transform .5s cubic-bezier(.22,1,.36,1) !important;
  }
  .hor-class-list-item:hover::after{transform:scaleX(1) !important;}
  .hor-class-list-level{
    order:1 !important;position:relative !important;z-index:2 !important;align-self:flex-start !important;
    font-family:var(--hor-accent) !important;font-size:10px !important;letter-spacing:.16em !important;text-transform:uppercase !important;
    font-weight:700 !important;color:#faf6f1 !important;background:rgba(250,246,241,.14) !important;backdrop-filter:blur(6px) !important;
    border:1px solid rgba(250,246,241,.3) !important;padding:5px 12px !important;border-radius:999px !important;
    margin:0 !important;
  }
  .hor-class-list-name{
    order:2 !important;position:relative !important;z-index:2 !important;
    font-family:var(--hor-serif) !important;font-size:25px !important;font-weight:500 !important;
    line-height:1.15 !important;color:#faf6f1 !important;margin:0 !important;display:block !important;
  }
  /* Next-class date(s) — its own pill, gold-tinted so it reads as
     distinct information from the level badge above it */
  .hor-class-list-times{
    order:3 !important;position:relative !important;z-index:2 !important;align-self:flex-start !important;
    display:inline-flex !important;align-items:center !important;
    font-family:var(--hor-accent) !important;font-size:10.5px !important;font-weight:700 !important;
    letter-spacing:.02em !important;line-height:1.4 !important;
    color:var(--hor-black) !important;background:var(--hor-stone) !important;
    border-radius:999px !important;padding:6px 13px !important;margin:2px 0 0 !important;
  }

  .hor-offer{background:var(--hor-bone-dim);padding:130px 0;overflow:hidden;position:relative;}
  @media(max-width:799px){.hor-offer{padding:56px 0;}}
  .hor-offer-card{
    background:var(--hor-bone);border:1px solid var(--hor-line-dark);border-radius:4px;
    padding:56px 40px;position:relative;box-shadow:0 40px 80px rgba(0,0,0,.06);overflow:hidden;
  }
  @media(min-width:800px){.hor-offer-card{padding:64px 60px;}}
  @media(max-width:699px){.hor-offer-card{padding:36px 24px;text-align:center;}}
  .hor-offer-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg, var(--hor-stone-dark), #f4ead6 50%, var(--hor-stone-dark));
  }
  .hor-offer-tag{
    position:absolute;top:24px;right:24px;
    font-family:var(--hor-accent);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
    color:var(--hor-bone) !important;background:var(--hor-black);padding:7px 14px;border-radius:999px;
  }
  @media(max-width:699px){.hor-offer-tag{position:static;display:inline-block;margin-bottom:18px;}}
  .hor-offer-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;text-align:center;position:relative;z-index:1;}
  @media(min-width:800px){.hor-offer-grid{grid-template-columns:auto 1px 1fr auto;gap:44px;text-align:left;}}
  @media(max-width:699px){.hor-offer-grid{gap:22px;}}
  .hor-offer-divider{display:none;}
  @media(min-width:800px){.hor-offer-divider{display:block;width:1px;height:80px;background:var(--hor-line-dark);}}
  .hor-offer-price{font-family:var(--hor-serif);font-style:italic;font-size:clamp(64px,10vw,104px);line-height:.85;color:var(--hor-black) !important;}
  .hor-offer-price small{display:block;font-family:var(--hor-sans);font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--hor-stone-dark) !important;margin-top:12px;font-weight:700;}
  .hor-offer-copy h3{font-family:var(--hor-serif);font-weight:500;font-size:clamp(26px,3.6vw,34px);margin:0 0 10px;}
  .hor-offer-copy p{font-size:15.5px;line-height:1.75;color:#3b362f !important;margin:0;max-width:420px;}
  @media(min-width:800px){.hor-offer-copy p{margin:0 auto;}}
  .hor-offer-cta{display:flex;justify-content:center;}
  @media(min-width:800px){.hor-offer-cta{justify-content:flex-end;}}

  .hor-gallery-section{background:var(--hor-bone);padding:150px 0 170px;}
  @media(max-width:799px){.hor-gallery-section{padding:64px 0;}}
  .hor-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -22px;padding:0 22px 6px;scrollbar-width:none;}
  .hor-gallery::-webkit-scrollbar{display:none;}
  .hor-gallery a{flex:0 0 68%;scroll-snap-align:start;aspect-ratio:3/4 !important;}
  @media(min-width:700px){
    .hor-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;overflow:visible;margin:0;padding:0;}
    .hor-gallery a{flex:none;}
  }
  .hor-gallery a{position:relative;display:block;overflow:hidden;border-radius:2px;background:linear-gradient(160deg,#c9bca8,#8f8371);}
  .hor-gallery a:nth-child(1){aspect-ratio:3/4;}
  .hor-gallery a:nth-child(2){aspect-ratio:3/4;}
  .hor-gallery a:nth-child(3){aspect-ratio:3/4;grid-column:span 2;}
  @media(min-width:700px){.hor-gallery a:nth-child(3){grid-column:span 1;}}
  .hor-gallery a:nth-child(4){aspect-ratio:3/4;grid-column:span 2;}
  @media(min-width:700px){.hor-gallery a:nth-child(4){grid-column:span 1;}}
  .hor-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
  .hor-gallery a:hover img{transform:scale(1.07);}
  .hor-gallery a::before{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.4) 50%, transparent 60%);
    transform:translateX(-140%);
  }
  .hor-gallery a:hover::before{transition:transform .9s cubic-bezier(.16,1,.3,1);transform:translateX(140%);}
  .hor-gallery a::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.3) 100%);pointer-events:none;}

  .hor-reviews{background:var(--hor-bone-dim);padding:170px 0;overflow:hidden;position:relative;}
  @media(max-width:799px){.hor-reviews{padding:64px 0;}}
  .hor-ghost--reviews{bottom:-4%;right:-2%;}
  .hor-reviews-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px;margin:0 -22px;padding-left:22px;padding-right:22px;position:relative;z-index:1;}
  .hor-reviews-strip::-webkit-scrollbar{display:none;}
  @media(min-width:700px){.hor-reviews-strip{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:24px;}}
  .hor-review-card{flex:0 0 82%;scroll-snap-align:start;background:var(--hor-bone);border:1px solid var(--hor-line-dark);border-radius:2px;padding:34px 30px 28px;display:flex;flex-direction:column;gap:16px;position:relative;}
  @media(min-width:700px){.hor-review-card{flex:none;}}
  .hor-review-card::before{
    content:"\201C";position:absolute;top:6px;left:20px;font-family:var(--hor-serif);font-size:70px;
    color:var(--hor-stone) !important;opacity:.35;line-height:1;
  }
  .hor-stars{display:flex;gap:4px;color:var(--hor-stone-dark) !important;position:relative;z-index:1;margin-top:26px;}
  .hor-stars svg{width:14px;height:14px;fill:currentColor;flex:none;}
  .hor-review-card p{font-size:15.5px;line-height:1.75;color:#2c2820 !important;margin:0;flex:1;font-family:var(--hor-serif);font-style:italic;position:relative;z-index:1;}
  .hor-review-meta{display:flex;align-items:center;gap:11px;font-family:var(--hor-accent);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hor-stone-dark) !important;font-weight:700;}
  .hor-review-avatar{
    width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(160deg, var(--hor-stone), #8f8067);color:#faf6f1 !important;font-family:var(--hor-serif);font-size:13px;font-weight:500;
  }
  .hor-review-meta-text{display:flex;flex-direction:column;gap:2px;}
  .hor-review-meta-text span:last-child{color:var(--hor-stone-dark) !important;opacity:.7;font-weight:600;}
  .hor-reviews-foot{margin-top:40px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;position:relative;z-index:1;}
  @media(min-width:700px){.hor-reviews-foot{flex-direction:row;justify-content:space-between;align-items:center;}}
  .hor-reviews-agg{font-size:14.5px;color:#4a453b !important;}
  .hor-reviews-agg b{color:var(--hor-black) !important;}

  .hor-tour{background:var(--hor-black);color:var(--hor-bone) !important;padding:170px 0;text-align:center;overflow:hidden;position:relative;}
  @media(max-width:799px){.hor-tour{padding:64px 0;}}
  .hor-tour-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%, rgba(179,160,135,.18), transparent 60%);}
  .hor-tour::before{content:"";position:absolute;width:680px;height:680px;border-radius:50%;border:1px solid var(--hor-line);top:50%;left:50%;transform:translate(-50%,-50%);}
  .hor-tour::after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;border:1px solid var(--hor-line);top:50%;left:50%;transform:translate(-50%,-50%);}
  @media(max-width:699px){
    .hor-tour::before{width:360px;height:360px;}
    .hor-tour::after{width:240px;height:240px;}
  }
  .hor-tour-inner{position:relative;z-index:1;max-width:660px;margin:0 auto;}
  .hor-tour .hor-eyebrow{color:var(--hor-stone) !important;justify-content:center;}
  .hor-tour .hor-eyebrow::before{background:var(--hor-stone);}
  .hor-tour-title{font-family:var(--hor-serif);font-weight:500;font-size:clamp(36px,7vw,72px);line-height:1.02;margin:0 0 22px;}
  .hor-tour-title em{font-style:italic;color:var(--hor-stone) !important;font-weight:300;}
  .hor-tour-sub{font-size:16px;line-height:1.8;color:var(--hor-bone-dim) !important;max-width:460px;margin:0 auto 38px;}
  @media(max-width:699px){.hor-tour-sub{margin-bottom:26px;}}
  .hor-tour-actions{display:flex;flex-direction:column;gap:14px;align-items:center;}
  @media(min-width:520px){.hor-tour-actions{flex-direction:row;justify-content:center;}}

  .hor-blocks{background:var(--hor-bone);padding:170px 0;}
  @media(max-width:799px){.hor-blocks{padding:64px 0;}}
  .hor-card-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -22px;padding:0 22px 6px;scrollbar-width:none;}
  .hor-card-grid::-webkit-scrollbar{display:none;}
  .hor-card{flex:0 0 78%;scroll-snap-align:start;}
  @media(min-width:700px){
    .hor-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;overflow:visible;margin:0;padding:0;}
    .hor-card{flex:none;}
  }
  .hor-card{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;display:flex;align-items:flex-end;background-size:cover;background-position:center;isolation:isolate;}
  @media(min-width:700px){.hor-card{aspect-ratio:3/4.3;}}
  .hor-card--tour{background-image:linear-gradient(160deg,#8f8371,#d8cfbf);}
  .hor-card--events{background-image:linear-gradient(160deg,#2a2825,#6d6355);}
  .hor-card--team{background-image:linear-gradient(160deg,#c9bca8,#8f8371);}
  .hor-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.9) 100%);z-index:1;transition:opacity .4s ease;}
  .hor-card-content{position:relative;z-index:2;padding:28px;width:100%;color:var(--hor-bone) !important;}
  .hor-card-num{font-family:var(--hor-accent);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--hor-stone) !important;font-weight:700;display:block;margin-bottom:12px;}
  .hor-card-title{font-family:var(--hor-serif);font-size:29px;font-weight:500;margin:0 0 14px;line-height:1.08;}
  .hor-card-link{display:inline-flex;align-items:center;gap:9px;font-family:var(--hor-accent);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--hor-line);padding-bottom:5px;}
  .hor-card-link svg{width:12px;height:12px;transition:transform .35s ease;}
  .hor-card:hover .hor-card-link svg{transform:translateX(4px);}
  .hor-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.2s cubic-bezier(.16,1,.3,1);}
  .hor-card:hover img{transform:scale(1.08);}
  .hor-card-shine{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.3) 50%, transparent 60%);
    transform:translateX(-140%);
  }
  .hor-card:hover .hor-card-shine{transition:transform 1s cubic-bezier(.16,1,.3,1);transform:translateX(140%);}

  .hor-locations{background:var(--hor-bone-dim);padding:140px 0;}
  @media(max-width:799px){.hor-locations{padding:56px 0;}}
  .hor-loc-grid{display:grid;grid-template-columns:1fr;gap:20px;}
  @media(min-width:700px){.hor-loc-grid{grid-template-columns:repeat(2,1fr);gap:24px;}}
  @media(max-width:699px){.hor-loc-grid{gap:14px;}}
  .hor-loc-card{background:var(--hor-bone);border:1px solid var(--hor-line-dark);border-radius:2px;padding:34px 32px;display:flex;flex-direction:column;gap:14px;transition:transform .4s ease, box-shadow .4s ease;}
  @media(max-width:699px){.hor-loc-card{padding:26px 24px;}}
  .hor-loc-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.08);}
  .hor-loc-card .hor-tag{font-family:var(--hor-accent);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--hor-stone-dark) !important;font-weight:700;}
  .hor-loc-card h3{font-family:var(--hor-serif);font-size:28px;font-weight:500;margin:0;}
  .hor-loc-card p{font-size:14.5px;line-height:1.7;color:#4a453b !important;margin:0;}
  .hor-loc-card a{font-family:var(--hor-accent);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--hor-black);padding-bottom:3px;align-self:flex-start;margin-top:4px;}

  .hor-faq{background:var(--hor-bone);padding:140px 0;}
  @media(max-width:799px){.hor-faq{padding:64px 0;}}
  .hor-faq-list{max-width:820px;position:relative;z-index:1;}
  .hor-faq-item{border-bottom:1px solid var(--hor-line-dark);padding:26px 0;}
  .hor-faq-item:first-child{border-top:1px solid var(--hor-line-dark);}
  .hor-faq-item summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
    font-family:var(--hor-serif);font-size:clamp(18px,2.4vw,22px);font-weight:500;color:var(--hor-black) !important;
  }
  .hor-faq-item summary::-webkit-details-marker{display:none;}
  .hor-faq-plus{
    flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--hor-stone-dark);position:relative;
    transition:transform .4s cubic-bezier(.22,1,.36,1), background .3s ease;
  }
  .hor-faq-plus::before,.hor-faq-plus::after{
    content:"";position:absolute;top:50%;left:50%;background:var(--hor-stone-dark);transition:transform .4s ease, opacity .3s ease;
  }
  .hor-faq-plus::before{width:10px;height:1px;transform:translate(-50%,-50%);}
  .hor-faq-plus::after{width:1px;height:10px;transform:translate(-50%,-50%);}
  .hor-faq-item[open] .hor-faq-plus{background:var(--hor-black);border-color:var(--hor-black);}
  .hor-faq-item[open] .hor-faq-plus::before,.hor-faq-item[open] .hor-faq-plus::after{background:var(--hor-bone);}
  .hor-faq-item[open] .hor-faq-plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
  .hor-faq-answer{font-size:15.5px;line-height:1.8;color:#3b362f !important;max-width:640px;margin-top:16px;}

  .hor-footer{background:var(--hor-black);color:var(--hor-bone-dim) !important;padding:80px 0 30px;position:relative;overflow:hidden;}
  @media(max-width:699px){.hor-footer{padding:64px 0 26px;}}
  .hor-footer-top{display:grid;grid-template-columns:1fr;gap:44px;margin-bottom:64px;position:relative;z-index:1;}
  @media(min-width:700px){.hor-footer-top{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:24px;}}
  @media(max-width:699px){.hor-footer-top{gap:34px;margin-bottom:40px;}}
  .hor-footer-brand .hor-logo{margin-bottom:16px;}
  .hor-footer-brand p{font-size:14px;line-height:1.7;max-width:280px;color:var(--hor-bone-dim) !important;}
  .hor-footer-social{display:flex;gap:12px;margin-top:22px;}
  .hor-footer-social a{
    width:36px;height:36px;border-radius:50%;border:1px solid var(--hor-line);
    display:flex;align-items:center;justify-content:center;color:var(--hor-bone-dim) !important;
    transition:border-color .3s ease, color .3s ease, transform .3s ease;
  }
  .hor-footer-social a:hover{border-color:var(--hor-stone);color:var(--hor-bone) !important;transform:translateY(-2px);}
  .hor-footer-social svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;}
  .hor-footer-col h4{font-family:var(--hor-accent);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--hor-stone) !important;margin:0 0 18px;font-weight:700;}
  .hor-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
  .hor-footer-col a{font-size:14px;color:var(--hor-bone-dim) !important;transition:color .3s ease, padding-left .3s ease;}
  .hor-footer-col a:hover{color:var(--hor-bone) !important;padding-left:4px;}
  .hor-footer-bottom{border-top:1px solid var(--hor-line);padding-top:26px;display:flex;flex-direction:column;gap:12px;font-size:12px;color:var(--hor-stone-dark) !important;position:relative;z-index:1;}
  @media(min-width:700px){.hor-footer-bottom{flex-direction:row;justify-content:space-between;}}

  @media (prefers-reduced-motion: reduce){
    .hor-fade{transition:none;opacity:1;transform:none;}
    .hor-marquee-track,.hor-hero-mesh,.hor-hero-scroll span::after,.hor-hero-video,.hor-hero-beam{animation:none;}
    .hor-hero-title{animation:none;opacity:1;transform:none;}
  }
  @media (pointer:coarse){ .hor-cursor{display:none;} }

  .hor-hero-left{display:flex;flex-direction:column;gap:16px;}
  .hor-hero-trust{display:flex;align-items:center;gap:10px;}
  .hor-hero-trust-stars{display:flex;gap:2px;}
  .hor-hero-trust-stars svg{width:11px;height:11px;fill:var(--hor-stone);}
  .hor-hero-trust-text{font-family:var(--hor-accent);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--hor-bone-dim) !important;font-weight:700;}

  @media(max-width:699px){
    .hor-hero-top{padding:20px 18px;}
    .hor-logo{font-size:16px;}
    .hor-logo-tag{font-size:8px;letter-spacing:.18em;}
    .hor-top-cta{display:none;}

    .hor-hero-content{padding:0 0 30px;}
    .hor-hero-inner{gap:22px;}
    .hor-hero-eyebrow{
      background:rgba(250,246,241,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
      border:1px solid rgba(250,246,241,.16);border-radius:999px;
      padding:9px 16px;width:fit-content;font-size:9.5px;letter-spacing:.18em;
    }
    .hor-hero-title{font-size:clamp(42px,13vw,58px);letter-spacing:-.02em;}
    .hor-hero-rule{display:none;}
    .hor-hero-bottom{padding-top:20px;gap:20px;}
    .hor-hero-sub{font-size:14.5px;max-width:none;}
    .hor-hero-actions{width:100%;flex-direction:column;gap:10px;}
    .hor-hero-actions .hor-btn{width:100%;justify-content:center;padding:17px 22px;}
    .hor-hero-scroll{display:none;}
    .hor-hero-word{font-size:clamp(90px,34vw,180px);top:38%;opacity:.7;}

    .hor-announce{font-size:10.5px;letter-spacing:.04em;padding:10px 16px;line-height:1.4;}
    .hor-head{margin-bottom:30px;gap:12px;}
    .hor-about-grid{gap:44px 0;}
  }

.hor-float-book{padding-bottom:calc(15px + env(safe-area-inset-bottom, 0px));}

/* Connected-page reset: keeps the plugin homepage full-bleed inside ordinary page templates. */
body.hor-homepage-connected .entry-header,
body.hor-homepage-connected .page-header,
body.hor-homepage-connected .wp-block-post-title { display:none !important; }
body.hor-homepage-connected .entry-content,
body.hor-homepage-connected .page-content,
body.hor-homepage-connected main .entry-content {
  width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body.hor-homepage-connected .hor-root {
  width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
}

/* Live locations can grow beyond the two cards in the original homepage. */
.hor-root .hor-loc-grid { align-items:stretch; }
.hor-root .hor-loc-card { height:100%; }

/* Empty optional links/sections are simply not rendered by PHP. */

/* ==================================================================
   HOMEPAGE HEADER + RIGHT-HAND NAVIGATION DRAWER — v0.66.2
   Homepage only. Menu structure comes from the Menu Builder.
   ================================================================== */

.hor-root{
  --hor-wordmark:'Cormorant Garamond', 'Noto Serif Display', Georgia, serif;
}

/* Distinctive House of Reformer wordmark — intentionally different
   from editorial section headings. */
.hor-root .hor-home-wordmark,
.hor-root a.hor-home-wordmark{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
  color:var(--hor-bone) !important;
  -webkit-text-fill-color:currentColor !important;
  text-decoration:none !important;
  line-height:1 !important;
}
.hor-root .hor-home-wordmark > span{
  display:block !important;
  font-family:var(--hor-wordmark) !important;
  font-size:clamp(24px,2.25vw,31px) !important;
  font-weight:500 !important;
  line-height:.92 !important;
  letter-spacing:-.018em !important;
  white-space:nowrap !important;
}
.hor-root .hor-logo-tag{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-top:9px !important;
  font-family:var(--hor-accent) !important;
  font-size:8.5px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:.23em !important;
  text-transform:uppercase !important;
  color:var(--hor-stone) !important;
  -webkit-text-fill-color:var(--hor-stone) !important;
}
.hor-root .hor-logo-tag::before{
  content:"" !important;
  width:14px !important;
  height:1px !important;
  background:currentColor !important;
  flex:none !important;
}
.hor-stickynav .hor-home-wordmark > span{
  font-size:24px !important;
}
.hor-stickynav .hor-logo-tag{display:none !important;}

/* Cleaner homepage header */
.hor-stickynav{
  z-index:780 !important;
  min-height:68px !important;
  padding:14px 22px !important;
  background:rgba(8,8,7,.82) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  border-bottom:1px solid rgba(250,246,241,.10) !important;
}
@media(min-width:700px){
  .hor-stickynav{padding:14px 40px !important;}
}

.hor-home-menu-trigger{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
  min-height:42px !important;
  padding:8px 0 8px 14px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--hor-bone) !important;
  font-family:var(--hor-accent) !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.20em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
.hor-home-menu-trigger > span{color:inherit !important;}
.hor-home-menu-trigger > i{
  display:grid !important;
  align-content:center !important;
  gap:6px !important;
  width:34px !important;
  height:34px !important;
  padding:0 6px !important;
  border:1px solid rgba(250,246,241,.28) !important;
  border-radius:50% !important;
  transition:border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1) !important;
}
.hor-home-menu-trigger > i b{
  display:block !important;
  width:100% !important;
  height:1px !important;
  background:currentColor !important;
  transform-origin:center !important;
  transition:transform .35s ease, width .35s ease !important;
}
.hor-home-menu-trigger > i b:last-child{width:68% !important;margin-left:auto !important;}
.hor-home-menu-trigger:hover > i{
  border-color:var(--hor-stone) !important;
  transform:rotate(4deg) !important;
}
.hor-home-menu-trigger:hover > i b:last-child{width:100% !important;}
.hor-home-menu-trigger--hero{
  margin-top:-3px !important;
}

/* The whole overlay exists only on the plugin-managed homepage. */
.hor-home-menu-shell{
  position:fixed !important;
  inset:0 !important;
  z-index:1200 !important;
  pointer-events:none !important;
  visibility:hidden !important;
  transition:visibility 0s linear .55s !important;
}
.hor-home-menu-shell.is-open{
  pointer-events:auto !important;
  visibility:visible !important;
  transition-delay:0s !important;
}
.hor-home-menu-backdrop{
  -webkit-appearance:none !important;
  appearance:none !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(0,0,0,.55) !important;
  -webkit-backdrop-filter:blur(5px) !important;
  backdrop-filter:blur(5px) !important;
  opacity:0 !important;
  cursor:pointer !important;
  transition:opacity .45s ease !important;
}
.hor-home-menu-shell.is-open .hor-home-menu-backdrop{opacity:1 !important;}

.hor-home-menu-drawer{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:min(560px,92vw) !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  color:var(--hor-black) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(179,160,135,.19), transparent 32%),
    var(--hor-bone) !important;
  border-left:1px solid rgba(0,0,0,.10) !important;
  box-shadow:-34px 0 90px rgba(0,0,0,.18) !important;
  transform:translate3d(102%,0,0) !important;
  transition:transform .55s cubic-bezier(.16,1,.3,1) !important;
  outline:none !important;
}
.hor-home-menu-shell.is-open .hor-home-menu-drawer{
  transform:translate3d(0,0,0) !important;
}

.hor-home-menu-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  flex:none !important;
  min-height:88px !important;
  padding:20px clamp(22px,5vw,42px) !important;
  border-bottom:1px solid var(--hor-line-dark) !important;
}
.hor-home-menu-head .hor-home-wordmark,
.hor-home-menu-head a.hor-home-wordmark{
  color:var(--hor-black) !important;
  -webkit-text-fill-color:var(--hor-black) !important;
}
.hor-home-menu-head .hor-home-wordmark > span{
  font-size:27px !important;
}

.hor-home-menu-close{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:none !important;
  padding:8px 0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--hor-black) !important;
  font-family:var(--hor-accent) !important;
  font-size:9.5px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}
.hor-home-menu-close i{
  position:relative !important;
  display:block !important;
  width:31px !important;
  height:31px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  border-radius:50% !important;
  transition:transform .35s ease, border-color .3s ease !important;
}
.hor-home-menu-close i::before,
.hor-home-menu-close i::after{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:13px !important;
  height:1px !important;
  background:currentColor !important;
}
.hor-home-menu-close i::before{transform:translate(-50%,-50%) rotate(45deg) !important;}
.hor-home-menu-close i::after{transform:translate(-50%,-50%) rotate(-45deg) !important;}
.hor-home-menu-close:hover i{transform:rotate(8deg) !important;border-color:var(--hor-stone-dark) !important;}

.hor-home-menu-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  padding:clamp(36px,7vh,68px) clamp(22px,5vw,46px) 36px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(0,0,0,.22) transparent !important;
}
.hor-home-menu-kicker{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 22px !important;
  font-family:var(--hor-accent) !important;
  font-size:9.5px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.26em !important;
  text-transform:uppercase !important;
  color:var(--hor-stone-dark) !important;
}
.hor-home-menu-kicker::before{
  content:"" !important;
  width:26px !important;
  height:1px !important;
  background:currentColor !important;
}

/* Raw Menu Builder markup, styled only when it is inside the homepage drawer. */
.hor-home-drawer-menu,
.hor-home-drawer-menu ul,
.hor-home-drawer-menu li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.hor-home-drawer-menu .hor-menu-list{
  counter-reset:hor-home-nav !important;
  border-top:1px solid var(--hor-line-dark) !important;
}
.hor-home-drawer-menu .hor-menu-level-0 > .hor-menu-item{
  counter-increment:hor-home-nav !important;
  border-bottom:1px solid var(--hor-line-dark) !important;
}
.hor-home-drawer-menu .hor-menu-item-inner{
  position:relative !important;
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) 38px !important;
  align-items:center !important;
  min-height:72px !important;
  gap:10px !important;
}
.hor-home-drawer-menu .hor-menu-level-0 > .hor-menu-item > .hor-menu-item-inner::before{
  content:counter(hor-home-nav, decimal-leading-zero) !important;
  align-self:center !important;
  font-family:var(--hor-accent) !important;
  font-size:8.5px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  color:var(--hor-stone-dark) !important;
}
.hor-home-drawer-menu .hor-menu-link,
.hor-home-drawer-menu .hor-menu-label{
  grid-column:2 !important;
  display:block !important;
  padding:15px 0 !important;
  font-family:var(--hor-serif) !important;
  font-size:clamp(27px,4.2vw,43px) !important;
  font-weight:400 !important;
  font-style:italic !important;
  line-height:1.03 !important;
  letter-spacing:-.02em !important;
  color:var(--hor-black) !important;
  -webkit-text-fill-color:var(--hor-black) !important;
  text-decoration:none !important;
  transition:color .25s ease, transform .35s cubic-bezier(.16,1,.3,1) !important;
}
.hor-home-drawer-menu .hor-menu-link:hover{
  color:var(--hor-stone-dark) !important;
  -webkit-text-fill-color:var(--hor-stone-dark) !important;
  transform:translateX(5px) !important;
}
.hor-home-drawer-menu .hor-menu-submenu-toggle{
  -webkit-appearance:none !important;
  appearance:none !important;
  grid-column:3 !important;
  display:grid !important;
  place-items:center !important;
  width:32px !important;
  height:32px !important;
  padding:0 !important;
  border:1px solid rgba(0,0,0,.16) !important;
  border-radius:50% !important;
  background:transparent !important;
  color:var(--hor-black) !important;
  font-family:var(--hor-sans) !important;
  cursor:pointer !important;
  transition:background .25s ease,color .25s ease,transform .35s ease,border-color .25s ease !important;
}
.hor-home-drawer-menu .hor-menu-submenu-toggle span{
  display:block !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  transform:translateY(-1px) !important;
  transition:transform .35s ease !important;
}
.hor-home-drawer-menu .hor-menu-item.is-open > .hor-menu-item-inner .hor-menu-submenu-toggle{
  background:var(--hor-black) !important;
  border-color:var(--hor-black) !important;
  color:var(--hor-bone) !important;
  transform:rotate(45deg) !important;
}
.hor-home-drawer-menu .hor-menu-submenu{
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  padding:0 0 0 44px !important;
  transition:max-height .45s cubic-bezier(.16,1,.3,1),opacity .3s ease,padding-bottom .4s ease !important;
}
.hor-home-drawer-menu .hor-menu-item.is-open > .hor-menu-submenu{
  max-height:900px !important;
  opacity:1 !important;
  padding-bottom:16px !important;
}
.hor-home-drawer-menu .hor-menu-submenu .hor-menu-item-inner{
  grid-template-columns:minmax(0,1fr) 34px !important;
  min-height:44px !important;
  border-top:1px solid rgba(0,0,0,.065) !important;
}
.hor-home-drawer-menu .hor-menu-submenu .hor-menu-link,
.hor-home-drawer-menu .hor-menu-submenu .hor-menu-label{
  grid-column:1 !important;
  padding:12px 0 !important;
  font-family:var(--hor-sans) !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#3b362f !important;
  -webkit-text-fill-color:#3b362f !important;
}
.hor-home-drawer-menu .hor-menu-submenu .hor-menu-submenu-toggle{grid-column:2 !important;width:28px !important;height:28px !important;}
.hor-home-drawer-menu .hor-menu-submenu .hor-menu-submenu{padding-left:20px !important;}

.hor-home-menu-foot{
  flex:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:76px !important;
  padding:18px clamp(22px,5vw,46px) !important;
  border-top:1px solid var(--hor-line-dark) !important;
  background:rgba(239,231,219,.45) !important;
  font-family:var(--hor-accent) !important;
  font-size:9px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:var(--hor-stone-dark) !important;
}
.hor-home-menu-foot a{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:var(--hor-black) !important;
  -webkit-text-fill-color:var(--hor-black) !important;
  white-space:nowrap !important;
}
.hor-home-menu-foot a b{font-size:16px !important;font-weight:400 !important;transition:transform .25s ease !important;}
.hor-home-menu-foot a:hover b{transform:translateX(4px) !important;}

body.hor-home-menu-open{overflow:hidden !important;}
body.hor-home-menu-open .hor-float-book{opacity:0 !important;pointer-events:none !important;}

@media(max-width:699px){
  .hor-hero-top{padding:22px 18px !important;align-items:flex-start !important;}
  .hor-root .hor-home-wordmark > span{font-size:23px !important;}
  .hor-root .hor-logo-tag{font-size:7.7px !important;letter-spacing:.18em !important;max-width:210px !important;}
  .hor-home-menu-trigger{padding-left:8px !important;gap:8px !important;}
  .hor-home-menu-trigger > span{display:none !important;}
  .hor-home-menu-trigger > i{width:38px !important;height:38px !important;}
  .hor-home-menu-drawer{width:100vw !important;}
  .hor-home-menu-head{min-height:78px !important;padding:18px 20px !important;}
  .hor-home-menu-head .hor-home-wordmark > span{font-size:25px !important;}
  .hor-home-menu-close > span{display:none !important;}
  .hor-home-menu-body{padding:38px 22px 28px !important;}
  .hor-home-drawer-menu .hor-menu-item-inner{grid-template-columns:28px minmax(0,1fr) 36px !important;min-height:66px !important;}
  .hor-home-drawer-menu .hor-menu-link,
  .hor-home-drawer-menu .hor-menu-label{font-size:clamp(29px,9vw,40px) !important;}
  .hor-home-drawer-menu .hor-menu-submenu{padding-left:38px !important;}
  .hor-home-menu-foot{padding:17px 22px !important;}
  .hor-home-menu-foot > span{max-width:48% !important;}
}

@media(prefers-reduced-motion:reduce){
  .hor-home-menu-drawer,
  .hor-home-menu-backdrop,
  .hor-home-menu-trigger > i,
  .hor-home-drawer-menu .hor-menu-link,
  .hor-home-drawer-menu .hor-menu-submenu,
  .hor-home-drawer-menu .hor-menu-submenu-toggle{transition:none !important;}
}

/* Keep the homepage footer wordmark in the same new identity. */
.hor-footer .hor-logo{
  font-family:var(--hor-wordmark) !important;
  font-size:26px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:-.018em !important;
}
.hor-footer .hor-logo b{font-weight:500 !important;}

/* ================================================================
   v0.66.4 — VISUAL HOMEPAGE HEADER BUILDER
   Values are supplied as safe CSS variables on .hor-root.
   ================================================================ */
.hor-root{
  --hor-header-bg:#080807;
  --hor-header-text:#faf6f1;
  --hor-header-accent:#b3a087;
  --hor-header-book-bg:#faf6f1;
  --hor-header-book-text:#000000;
  --hor-header-drawer-bg:#faf6f1;
  --hor-header-drawer-text:#000000;
  --hor-header-drawer-width:560px;
  --hor-header-wordmark-size:30px;
}
.hor-root.hor-wordmark-font-cormorant{--hor-wordmark:'Cormorant Garamond','Noto Serif Display',Georgia,serif;}
.hor-root.hor-wordmark-font-noto{--hor-wordmark:'Noto Serif Display',Georgia,serif;}
.hor-root.hor-wordmark-font-classic{--hor-wordmark:Georgia,'Times New Roman',serif;}
.hor-root.hor-wordmark-font-sans{--hor-wordmark:'Glacial Indifference',Arial,Helvetica,sans-serif;}
.hor-root .hor-home-wordmark > span{
  font-size:var(--hor-header-wordmark-size) !important;
}
.hor-stickynav .hor-home-wordmark > span{
  font-size:clamp(21px, calc(var(--hor-header-wordmark-size) * .82), 34px) !important;
}
.hor-stickynav{
  background:color-mix(in srgb, var(--hor-header-bg) 88%, transparent) !important;
  color:var(--hor-header-text) !important;
  border-bottom-color:color-mix(in srgb, var(--hor-header-text) 12%, transparent) !important;
}
.hor-home-header-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  min-width:0 !important;
}
.hor-home-header-actions--hero{align-self:flex-start !important;}
.hor-home-book-cta,
.hor-root a.hor-home-book-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:10px 18px !important;
  border:1px solid var(--hor-header-book-bg) !important;
  border-radius:2px !important;
  background:var(--hor-header-book-bg) !important;
  color:var(--hor-header-book-text) !important;
  -webkit-text-fill-color:var(--hor-header-book-text) !important;
  font-family:var(--hor-accent) !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
  transition:transform .25s ease, box-shadow .25s ease, letter-spacing .3s ease, background .25s ease !important;
}
.hor-root a.hor-home-book-cta:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.2) !important;
  letter-spacing:.19em !important;
}
.hor-home-book-label-mobile{display:none !important;}
.hor-home-menu-trigger{
  color:var(--hor-header-text) !important;
}
.hor-home-menu-trigger > i{
  border-color:color-mix(in srgb, var(--hor-header-text) 30%, transparent) !important;
}
.hor-home-menu-trigger:hover > i{border-color:var(--hor-header-accent) !important;}
.hor-home-menu-trigger--icon-only > span{display:none !important;}
.hor-home-menu-drawer{
  width:min(var(--hor-header-drawer-width),92vw) !important;
  color:var(--hor-header-drawer-text) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--hor-header-accent) 20%, transparent), transparent 32%),
    var(--hor-header-drawer-bg) !important;
}
.hor-root.hor-drawer-side-left .hor-home-menu-drawer{
  left:0 !important;
  right:auto !important;
  border-left:0 !important;
  border-right:1px solid rgba(0,0,0,.10) !important;
  box-shadow:34px 0 90px rgba(0,0,0,.18) !important;
  transform:translate3d(-102%,0,0) !important;
}
.hor-root.hor-drawer-side-left .hor-home-menu-shell.is-open .hor-home-menu-drawer{transform:translate3d(0,0,0) !important;}
.hor-home-menu-head,
.hor-home-menu-body,
.hor-home-menu-foot{color:var(--hor-header-drawer-text) !important;}
.hor-home-menu-head .hor-home-wordmark,
.hor-home-menu-head a.hor-home-wordmark,
.hor-home-menu-close,
.hor-home-drawer-menu .hor-menu-link,
.hor-home-drawer-menu .hor-menu-label,
.hor-home-menu-foot a{
  color:var(--hor-header-drawer-text) !important;
  -webkit-text-fill-color:var(--hor-header-drawer-text) !important;
}
.hor-home-menu-kicker,
.hor-home-menu-foot{color:color-mix(in srgb, var(--hor-header-drawer-text) 56%, var(--hor-header-accent)) !important;}
.hor-home-menu-kicker::before{background:var(--hor-header-accent) !important;}

@media(max-width:699px){
  .hor-hero-top{
    align-items:center !important;
    gap:10px !important;
  }
  .hor-root .hor-home-wordmark > span{
    font-size:clamp(20px, calc(var(--hor-header-wordmark-size) * .78), 28px) !important;
  }
  .hor-home-header-actions{gap:7px !important;}
  .hor-home-book-cta,
  .hor-root a.hor-home-book-cta{
    min-height:38px !important;
    padding:9px 12px !important;
    font-size:8.5px !important;
    letter-spacing:.12em !important;
  }
  .hor-home-book-label{display:none !important;}
  .hor-home-book-label-mobile{display:inline !important;}
  .hor-home-menu-trigger{
    min-height:38px !important;
    padding:0 !important;
  }
  .hor-home-menu-trigger > span{display:none !important;}
  .hor-home-menu-trigger > i{width:38px !important;height:38px !important;}
  .hor-home-menu-drawer{width:100vw !important;}
}

@media(max-width:390px){
  .hor-root .hor-logo-tag{display:none !important;}
  .hor-home-book-cta,
  .hor-root a.hor-home-book-cta{padding-left:10px !important;padding-right:10px !important;}
}
.hor-hero-top .hor-home-wordmark,
.hor-hero-top a.hor-home-wordmark,
.hor-stickynav .hor-home-wordmark,
.hor-stickynav a.hor-home-wordmark{
  color:var(--hor-header-text) !important;
  -webkit-text-fill-color:var(--hor-header-text) !important;
}
.hor-hero-top .hor-logo-tag{color:var(--hor-header-accent) !important;}
.hor-home-book-cta--outline,
.hor-root a.hor-home-book-cta--outline{
  background:transparent !important;
  color:var(--hor-header-text) !important;
  -webkit-text-fill-color:var(--hor-header-text) !important;
  border-color:var(--hor-header-text) !important;
  box-shadow:none !important;
}
.hor-root a.hor-home-book-cta--outline:hover{
  background:var(--hor-header-text) !important;
  color:var(--hor-header-bg) !important;
  -webkit-text-fill-color:var(--hor-header-bg) !important;
}


/* v0.93 — canonical House of Reformer wordmark. */
.logo{
  font-family:'Bodoni Moda',Didot,'Times New Roman',serif!important;
  font-weight:400!important;
  font-style:normal!important;
  font-size:40px!important;
  line-height:.9!important;
  letter-spacing:-.05em!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.logo em{font-style:italic!important;font-weight:400!important;text-transform:none!important;margin:0 .28em!important;}
.hor-root .hor-home-wordmark>.logo,
.hor-root .hor-footer-brand .logo{
  font-family:'Bodoni Moda',Didot,'Times New Roman',serif!important;
  font-weight:400!important;
  font-size:40px!important;
  letter-spacing:-.05em!important;
  line-height:.9!important;
  white-space:nowrap!important;
}
.hor-root .hor-home-wordmark>.logo em,
.hor-root .hor-footer-brand .logo em{font-style:italic!important;margin:0 .28em!important;}


/* v0.99.3 — compact mobile wordmark. The canonical 40px rule above is
   desktop-only in practice; these higher-specificity rules deliberately win
   on phones so the logo never collides with Book/Menu controls. */
@media(max-width:699px){
  .hor-root .hor-hero-top .hor-home-wordmark>.logo,
  .hor-root .hor-stickynav .hor-home-wordmark>.logo{
    font-size:18px!important;line-height:.92!important;letter-spacing:-.055em!important;
    max-width:44vw!important;overflow:hidden!important;text-overflow:clip!important;
  }
  .hor-root .hor-hero-top .hor-logo-tag{font-size:6.5px!important;letter-spacing:.14em!important;margin-top:6px!important;max-width:42vw!important;}
  .hor-home-menu-head .hor-home-wordmark>.logo{font-size:20px!important;}
}
@media(max-width:390px){
  .hor-root .hor-hero-top .hor-home-wordmark>.logo,
  .hor-root .hor-stickynav .hor-home-wordmark>.logo{font-size:16px!important;max-width:41vw!important;}
}

/* HOMEPAGE TITLE CLEANUP — hide the WordPress/theme site/page title only.
   Keep the House homepage's own header, announcement bar and navigation intact. */
body.hor-homepage-connected :is(
  h1.site-title,
  h2.site-title,
  .site-title,
  .site-branding .site-title,
  .wp-block-site-title,
  .wp-block-site-title > a,
  .site-header .site-title,
  .header-main .site-title
){
  display:none !important;
}


/* Customer utility links in the homepage fallback menu drawer. */
.hor-home-menu-utility{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px 18px!important;flex-wrap:wrap!important}
.hor-home-menu-utility>a{font-size:9px!important}
.hor-home-menu-utility .hor-home-menu-book{color:var(--hor-black)!important;-webkit-text-fill-color:var(--hor-black)!important}
@media(max-width:699px){.hor-home-menu-foot{align-items:flex-start!important}.hor-home-menu-utility{justify-content:flex-end!important;max-width:68%!important}}
