/* =========================================================
   FEMME CREATIVE — GLOBAL STYLES
========================================================= */

:root{
  --black:#050505;
  --white:#fff;
  --burgundy:#670505;
  --soft:#efe6dc;
  --text:#111;
  --muted:rgba(0,0,0,.65);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',Arial,sans-serif;
}

*{
  box-sizing:border-box;
}

/* No CSS scroll-behavior:smooth: it stops ScrollTrigger re-measuring correctly
   (refreshes while scrolled put the Femme Method pin in the wrong place).
   In-page links scroll smoothly via main.js instead. */

body{
  margin:0;
  font-family:var(--sans);
  background:var(--black);
  color:var(--text);
  overflow-x:hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

.fc-main{
  min-height:100vh;
}


/* =========================================================
   HERO VISIBILITY
========================================================= */


/* =====================================================
   FEMME CREATIVE — EDITORIAL HEADER
===================================================== */


/* SLIM EDITORIAL HEADER */

.fc-header{
  --fc-header-height:68px;
  position:relative;
  z-index:1000;
  width:100%;
  height:var(--fc-header-height);
  padding:0 clamp(25px,4vw,75px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:#050505;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.13);
  font-family:var(--sans,Inter,Arial,sans-serif);
}

/* SMALLER LOGO */

.fc-logo img{
  display:block;
  width:clamp(155px,13vw,205px);
  height:auto;
}

/* NAVIGATION SPACING */

.fc-menu > li > a{
  padding:24px 0;
}

/* MOBILE */

@media(max-width:1100px){
  .fc-header{
    --fc-header-height:64px;
    padding:0 20px;
  }

  .fc-logo img{
    width:155px;
  }

  .fc-nav{
    max-height:calc(100dvh - 64px);
  }
}


/* NAVIGATION */

.fc-nav{
  margin-left:auto;
}

.fc-menu{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.1vw,38px);
  list-style:none;
  padding:0;
  margin:0;
}

.fc-menu li{
  position:relative;
  list-style:none;
}

.fc-menu > li > a{
  display:block;
  padding:35px 0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#fff;
  transition:color .25s ease;
}

.fc-menu > li > a:hover,
.fc-menu > li.current-menu-item > a{
  color:#d4b9b0;
}

/* REMOVE OLD WORDPRESS DROPDOWNS ON DESKTOP */

@media(min-width:1101px){
  .fc-menu .sub-menu{
    display:none!important;
  }
}

/* BOOKING CTA */

.fc-header-actions{
  display:flex;
  align-items:center;
  gap:20px;
  flex-shrink:0;
}

.fc-header-book{
  display:inline-flex;
  align-items:center;
  gap:28px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.7);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s,border-color .25s;
}

.fc-header-book:hover{
  color:#d4b9b0;
  border-color:#d4b9b0;
}

.fc-header-book span:last-child{
  font-size:18px;
  font-weight:400;
}


/* =====================================================
   FEMME CREATIVE — EDITORIAL MEGA MENU
===================================================== */

.fc-mega{
  position:absolute;
  top:100%;
  right:clamp(25px,4vw,75px);

  width:min(820px,calc(100vw - 60px));

  background:#f4eee7;
  color:#050505;

  box-shadow:0 24px 55px rgba(0,0,0,.13);

  opacity:0;
  visibility:hidden;
  transform:translateY(8px);

  transition:
    opacity .25s ease,
    visibility .25s ease,
    transform .25s ease;

  pointer-events:none;
  z-index:1001;
}

.fc-mega.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* PANEL */

.fc-mega-panel{
  display:none;

  grid-template-columns:minmax(0,42%) minmax(0,58%);
  gap:0;

  min-height:320px;
  padding:30px;
}

.fc-mega-panel.is-active{
  display:grid;
}

/* IMAGE COLUMN */

.fc-mega-image{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;

  min-width:0;
  padding-right:28px;
}

.fc-mega-image img{
  display:block;
  width:100%;
  height:230px;

  object-fit:cover;
  object-position:center;
}

.fc-mega-image span{
  font-family:var(--sans,Arial,sans-serif);
  font-size:8px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* LINK COLUMN */

.fc-mega-links{
  display:flex;
  flex-direction:column;
  justify-content:center;

  min-width:0;
  padding:0 8px 0 28px;

  border-left:1px solid rgba(0,0,0,.12);
}

.fc-mega-eyebrow{
  margin:0 0 18px;

  color:#670505;
  font-family:var(--sans,Arial,sans-serif);
  font-size:9px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.fc-mega-links a{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 18px;
  align-items:center;
  column-gap:12px;

  width:100%;
  padding:17px 0;

  border-bottom:1px solid rgba(0,0,0,.15);

  color:#050505;
  font-family:var(--serif,Georgia,serif);
  font-size:clamp(17px,1.45vw,23px);
  font-weight:400;
  line-height:1.15;

  transition:color .25s ease;
}

.fc-mega-links a:hover{
  color:#670505;
}

.fc-mega-links a span{
  font-family:var(--sans,Arial,sans-serif);
  font-size:8px;
  font-weight:500;
  letter-spacing:.1em;
}

.fc-mega-links a b{
  justify-self:end;

  font-family:Arial,sans-serif;
  font-size:17px;
  font-weight:400;
}

/* PORTFOLIO — TWO LINKS */

.fc-mega-panel[data-panel="portfolio"] .fc-mega-links{
  justify-content:center;
}

/* CONTACT — THREE LINKS */

.fc-mega-panel[data-panel="contact"] .fc-mega-links{
  justify-content:center;
}


/* =====================================================
   MENU TOGGLE
===================================================== */

.fc-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:8px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
}

.fc-menu-toggle span{
  display:block;
  width:19px;
  height:1px;
  background:#fff;
  transition:transform .25s ease;
}

/* =====================================================
   TABLET & MOBILE
===================================================== */

@media(max-width:1100px){

  .fc-header{
    --fc-header-height:76px;
    padding:0 22px;
  }

  .fc-logo img{
    width:190px;
  }

  .fc-header-book{
    font-size:9px;
    gap:10px;
  }

  .fc-menu-toggle{
    display:flex;
  }

  .fc-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100dvh - 76px);
    overflow-y:auto;
    background:#050505;
    padding:22px;
    border-top:1px solid #333;
  }

  .fc-header.is-menu-open .fc-nav{
    display:block;
  }

  .fc-menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }

  .fc-menu > li{
    border-bottom:1px solid rgba(255,255,255,.15);
  }

  .fc-menu > li > a{
    padding:18px 0;
    font-size:12px;
  }

  .fc-menu .sub-menu{
    display:block;
    position:static;
    width:100%;
    padding:0 0 12px 18px;
    margin:0;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    list-style:none;
    box-shadow:none;
  }

  .fc-menu .sub-menu a{
    display:block;
    padding:11px 0;
    color:#ddd;
    font-size:11px;
    letter-spacing:.05em;
  }

  .fc-mega{
    display:none!important;
  }

  .fc-header.is-menu-open .fc-menu-toggle span:first-child{
    transform:translateY(3.5px) rotate(45deg);
  }

  .fc-header.is-menu-open .fc-menu-toggle span:last-child{
    transform:translateY(-3.5px) rotate(-45deg);
  }
}

@media(max-width:480px){
  .fc-header{
    gap:12px;
    padding:0 18px;
  }

  .fc-logo img{
    width:150px;
  }

  .fc-header-actions{
    gap:12px;
  }

  .fc-header-book{
    font-size:8px;
    letter-spacing:.08em;
  }
}

@media(max-width:360px){
  .fc-header-book{
    display:none;
  }
}


/* =========================================================
   FEMME CREATIVE — EDITORIAL HOME HERO
   COMPLETE REPLACEMENT
   Desktop / Tablet / Mobile
========================================================= */

.fc-editorial-home{
  --fc-hero-burgundy:#670505;
  --fc-hero-ink:#050505;
  --fc-hero-paper:#ffffff;
  --fc-footer-height:140px;

  position:relative;
  isolation:isolate;

  width:100%;
  height:calc(100svh - 68px);
  min-height:690px;

  overflow:hidden;

  background:var(--fc-hero-paper);
  color:var(--fc-hero-ink);

  font-family:var(--sans,Inter,Arial,sans-serif);
  box-sizing:border-box;
}

.fc-editorial-home *,
.fc-editorial-home *::before,
.fc-editorial-home *::after{
  box-sizing:border-box;
}


/* =========================================================
   BACKGROUND — NARROW ARCHITECTURAL PANEL
========================================================= */

.fc-editorial-home__background{
  position:absolute;
  z-index:1;

  top:0;
  left:0;
  right:0;

  width:100%;
  height:calc(100% - var(--fc-footer-height));

  display:flex;
  align-items:flex-end;
  justify-content:center;

  margin:0;
  pointer-events:none;
}

.fc-editorial-home__background img{
  display:block;

  width:76%;
  height:88%;

  object-fit:cover;
  object-position:center center;
}


/* =========================================================
   PORTRAIT — IN FRONT OF TYPOGRAPHY
========================================================= */

.fc-editorial-home__portrait{
  position:absolute;
  z-index:5;

  left:50%;
  right:auto;
  bottom:var(--fc-footer-height);

  display:block;

  width:48%;
  height:77%;

  margin:0;

  transform:translateX(-50%);
  pointer-events:none;
}

.fc-editorial-home__portrait img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:bottom center;
}


/* =========================================================
   EDITORIAL TYPOGRAPHY
========================================================= */

.fc-editorial-home__type{
  position:absolute;
  inset:0;

  z-index:3;
  pointer-events:none;

  font-family:var(--serif,Georgia,serif);
  font-weight:500;

  color:var(--fc-hero-burgundy);
}

.fc-editorial-home__word{
  position:absolute;
  display:block;

  margin:0;
  padding:0;

  white-space:nowrap;
  line-height:.78;
  letter-spacing:-.085em;
}

/* FEMME */

.fc-editorial-home__word--one{
  top:20%;
  left:5%;

  font-size:clamp(105px,16vw,315px);
}

/* CREATIVE */

.fc-editorial-home__word--two{
  top:46%;
  right:4%;

  font-size:clamp(100px,13vw,260px);
}


/* =========================================================
   TOP EDITORIAL DETAILS
========================================================= */

.fc-editorial-home__topline{
  position:absolute;
  z-index:8;

  top:28px;
  left:clamp(24px,4vw,75px);
  right:clamp(24px,4vw,75px);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  font-size:10px;
  font-weight:700;
  line-height:1.4;

  letter-spacing:.15em;
  text-transform:uppercase;
}

.fc-editorial-home__topline > *{
  font-size:inherit;
}


/* =========================================================
   BOTTOM EDITORIAL STRIP
========================================================= */

.fc-editorial-home__footer{
  position:absolute;
  z-index:10;

  bottom:0;
  left:0;
  right:0;

  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:35px;

  width:100%;
  min-height:var(--fc-footer-height);

  padding:24px clamp(30px,5vw,90px) 28px;

  background:#fff;
  border-top:1px solid rgba(0,0,0,.10);
}


/* =========================================================
   FOOTER — LEFT CONTENT
========================================================= */

.fc-editorial-home__footer-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;

  gap:9px;
  min-width:0;
}

.fc-editorial-home__edition{
  display:block;

  font-size:10px;
  font-weight:700;
  line-height:1.4;

  letter-spacing:.15em;
  text-transform:uppercase;
}

.fc-editorial-home__footer-left p{
  margin:0;

  font-family:var(--serif,Georgia,serif);
  font-size:clamp(23px,2.2vw,35px);
  font-weight:400;

  line-height:1.08;
}

.fc-editorial-home__footer-left p em{
  display:block;

  color:var(--fc-hero-burgundy);
  font-weight:400;
}

.fc-editorial-home__services{
  display:block;

  margin-top:4px;

  font-family:var(--sans,Inter,Arial,sans-serif);
  font-size:10px;
  font-weight:600;

  line-height:1.5;
  letter-spacing:.10em;
  text-transform:uppercase;

  color:#555;
}


/* =========================================================
   START A PROJECT — RIGHT SIDE
========================================================= */

.fc-editorial-home__cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;

  justify-self:end;
  align-self:center;

  gap:45px;
  min-width:220px;

  padding:12px 0;

  border:0;
  border-bottom:1px solid var(--fc-hero-ink);

  background:transparent;
  color:var(--fc-hero-ink);

  font-family:var(--sans,Inter,Arial,sans-serif);
  font-size:10px;
  font-weight:800;

  line-height:1.4;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;

  transition:
    color .3s ease,
    border-color .3s ease;
}

.fc-editorial-home__cta:hover{
  color:var(--fc-hero-burgundy);
  border-color:var(--fc-hero-burgundy);
}

.fc-editorial-home__cta-arrow{
  display:inline-block;

  font-size:22px;
  font-weight:400;
  line-height:1;

  transition:transform .3s ease;
}

.fc-editorial-home__cta:hover
.fc-editorial-home__cta-arrow{
  transform:translate(3px,-3px);
}


/* =========================================================
   BARCODE — HIDDEN
========================================================= */


/* =========================================================
   ACCESSIBLE H1
========================================================= */

.fc-editorial-home__sr{
  position:absolute;

  width:1px;
  height:1px;

  padding:0;
  margin:-1px;

  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;

  border:0;
}


/* =========================================================
   ENTRANCE ANIMATION
========================================================= */

@keyframes fcEditorialHomeEnter{
  from{
    opacity:0;
  }

  to{
    opacity:1;
  }
}

.fc-editorial-home__background,
.fc-editorial-home__type,
.fc-editorial-home__portrait{
  animation:fcEditorialHomeEnter 1s ease-out both;
}


/* =========================================================
   TABLET
========================================================= */

@media(min-width:768px) and (max-width:1100px){

  .fc-editorial-home{
    --fc-footer-height:145px;

    height:calc(100svh - 64px);
    min-height:650px;
  }

  .fc-editorial-home__background img{
    width:82%;
    height:86%;
  }

  .fc-editorial-home__word--one{
    top:23%;
    left:4%;
    font-size:17vw;
  }

  .fc-editorial-home__word--two{
    top:46%;
    right:3%;
    font-size:13vw;
  }

  .fc-editorial-home__portrait{
    width:55%;
    height:73%;
  }

  .fc-editorial-home__footer{
    gap:25px;
    padding-left:35px;
    padding-right:35px;
  }

  .fc-editorial-home__footer-left p{
    font-size:clamp(22px,2.6vw,30px);
  }

  .fc-editorial-home__cta{
    min-width:185px;
    gap:20px;
  }
}


/* =========================================================
   FEMME CREATIVE — MOBILE EDITORIAL HERO
   COMPLETE MOBILE REPLACEMENT
========================================================= */

@media(max-width:767px), (min-width:768px) and (max-width:1100px) and (orientation:portrait){

  .fc-editorial-home{
    --fc-mobile-panel-gap:30px;
    --fc-mobile-top-space:78px;
    --fc-mobile-panel-height:460px;
    --fc-mobile-portrait-height:410px;

    position:relative;
    height:auto;
    min-height:0;

    display:flex;
    flex-direction:column;

    overflow:hidden;
    background:#fff;
  }


  /* =======================================================
     BACKGROUND — WHITE EDITORIAL BORDER
  ======================================================= */

  .fc-editorial-home__background{
    position:relative;
    inset:auto;

    display:block;
    flex:none;

    width:100%;
    height:var(--fc-mobile-panel-height);

    padding:0 var(--fc-mobile-panel-gap);
    margin:var(--fc-mobile-top-space) 0 0;

    pointer-events:none;
  }

  .fc-editorial-home__background img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center center;
  }


  /* =======================================================
     FEMME CREATIVE — EDITORIAL MASTHEAD
  ======================================================= */

  .fc-editorial-home__type{
    position:absolute;
    inset:0;
    z-index:3;

    pointer-events:none;
    color:#670505;

    font-family:var(--serif,Georgia,serif);
    font-weight:500;
  }

  .fc-editorial-home__word{
    position:absolute;

    left:50%;
    right:auto;

    display:block;
    width:max-content;
    max-width:none;

    margin:0;
    padding:0;

    white-space:nowrap;
    line-height:.85;
    letter-spacing:-.075em;

    transform:translateX(-50%);
  }

  /* FEMME — BIG, HIGHER, CENTRED */

  .fc-editorial-home__word--one{
    top:calc(var(--fc-mobile-top-space) + 43px);

    font-size:clamp(78px,22vw,105px);
  }

  /* CREATIVE — CLOSE BUT ABOVE YOUR FACE */

  .fc-editorial-home__word--two{
    top:calc(var(--fc-mobile-top-space) + 123px);

    font-size:clamp(54px,14vw,72px);
  }


  /* =======================================================
     PORTRAIT — ALIGNED WITH BOTTOM OF BACKGROUND
  ======================================================= */

  .fc-editorial-home__portrait{
    position:absolute;
    z-index:5;

    inset:auto;

    left:50%;
    right:auto;

    top:calc(var(--fc-mobile-top-space) + var(--fc-mobile-panel-height) - var(--fc-mobile-portrait-height));

    bottom:auto;

    display:block;

    width:110%;
    height:var(--fc-mobile-portrait-height);

    margin:0;

    transform:translateX(-50%);
    pointer-events:none;
  }

  .fc-editorial-home__portrait img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
    object-position:bottom center;
  }


  /* =======================================================
     TOP DETAILS — MINIMUM 10PX
  ======================================================= */

  .fc-editorial-home__topline{
    position:absolute;
    z-index:8;

    top:20px;
    left:17px;
    right:17px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:10px;

    font-size:10px;
    line-height:1.4;
    letter-spacing:.04em;
  }

  .fc-editorial-home__topline > *{
    font-size:inherit;
  }


  /* =======================================================
     FOOTER — CLEAN WHITE EDITORIAL SECTION
  ======================================================= */

  .fc-editorial-home__footer{
    position:relative;
    inset:auto;
    z-index:10;

    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;

    gap:20px;

    width:100%;
    min-height:0;

    padding:25px 22px 32px;

    background:#fff;
    border-top:1px solid rgba(0,0,0,.10);
  }

  .fc-editorial-home__footer-left{
    display:flex;
    flex-direction:column;
    align-items:flex-start;

    gap:10px;
  }

  .fc-editorial-home__edition{
    font-size:10px;
    letter-spacing:.12em;
  }

  .fc-editorial-home__footer-left p{
    font-size:clamp(25px,6vw,32px);
    line-height:1.08;
  }

  .fc-editorial-home__services{
    margin-top:3px;

    font-size:10px;
    line-height:1.6;
    letter-spacing:.07em;
  }


  /* =======================================================
     START A PROJECT — RIGHT ALIGNED
  ======================================================= */

  .fc-editorial-home__cta{
    align-self:flex-end;
    justify-self:auto;

    min-width:190px;
    gap:28px;

    margin-top:2px;
    padding:10px 0;

    font-size:10px;
    letter-spacing:.12em;
  }

  .fc-editorial-home__cta-arrow{
    font-size:20px;
  }

  .fc-editorial-home__barcode{
    display:none;
  }
}


/* =========================================================
   SMALL MOBILE — 390PX AND BELOW
========================================================= */

@media(max-width:390px){

  .fc-editorial-home{
    --fc-mobile-panel-gap:24px;
    --fc-mobile-top-space:74px;
    --fc-mobile-panel-height:430px;
    --fc-mobile-portrait-height:385px;
  }

  /* FEMME */

  .fc-editorial-home__word--one{
    top:calc(var(--fc-mobile-top-space) + 45px);
    font-size:21vw;
  }

  /* CREATIVE */

  .fc-editorial-home__word--two{
    top:calc(var(--fc-mobile-top-space) + 115px);
    font-size:13.5vw;
  }

  /* PORTRAIT */

  .fc-editorial-home__portrait{
    width:112%;
  }

  /* FOOTER */

  .fc-editorial-home__footer{
    padding:23px 20px 30px;
  }

  .fc-editorial-home__footer-left p{
    font-size:clamp(23px,6vw,28px);
  }

  .fc-editorial-home__cta{
    min-width:180px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .fc-editorial-home__background,
  .fc-editorial-home__type,
  .fc-editorial-home__portrait{
    animation:none;
  }

  .fc-editorial-home__cta,
  .fc-editorial-home__cta-arrow{
    transition:none;
  }
}


/* =========================================================
   FOOTER
========================================================= */

.fc-footer{
  display:grid;
  grid-template-columns:
    minmax(240px,.9fr)
    minmax(500px,1.8fr)
    auto;

  align-items:center;
  gap:60px;

  min-height:190px;

  padding:
    45px
    clamp(40px,7vw,130px);

  background:
    radial-gradient(
      circle at 15% 45%,
      rgba(255,255,255,.18),
      transparent 28%
    ),
    linear-gradient(
      100deg,
      #ded3c7 0%,
      #e7ddd2 52%,
      #d2c5b7 100%
    );

  color:#050505;

  border-top:1px solid rgba(5,5,5,.12);
}


/* =========================================================
   BRAND
========================================================= */

.fc-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}


.fc-footer-brand img{
  display:block;

  width:min(250px,100%);
  height:auto;

  margin:0 0 9px;
}


.fc-footer-brand p{
  margin:0;

  font-family:var(--sans);

  font-size:12px;
  line-height:1.3;

  font-weight:700;

  text-transform:uppercase;
  letter-spacing:.24em;

  color:rgba(5,5,5,.58);
}


/* =========================================================
   NAV
========================================================= */

.fc-footer-nav{
  display:flex;
  align-items:center;
  justify-content:center;

  gap:clamp(28px,3.2vw,58px);
}


.fc-footer-nav a{
  position:relative;

  margin:0;

  color:rgba(5,5,5,.72);

  font-family:var(--sans);

  font-size:12px;
  line-height:1;

  font-weight:700;

  text-transform:uppercase;
  letter-spacing:.22em;

  transition:
    color .3s ease,
    transform .3s ease;
}


.fc-footer-nav a::after{
  content:"";

  position:absolute;

  left:0;
  bottom:-7px;

  width:100%;
  height:1px;

  background:#670505;

  transform:scaleX(0);
  transform-origin:left center;

  transition:
    transform .35s cubic-bezier(.19,1,.22,1);
}


.fc-footer-nav a:hover{
  color:#670505;
  transform:translateY(-2px);
}


.fc-footer-nav a:hover::after{
  transform:scaleX(1);
}


/* =========================================================
   SOCIAL
========================================================= */

.fc-footer-social{
  display:flex;
  align-items:center;
  justify-content:flex-end;

  gap:4px;
}


.fc-footer-social a{
  margin:0;

  /* 44px tap target around the small labels */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;

  color:rgba(5,5,5,.72);

  font-family:var(--sans);

  font-size:12px;
  line-height:1;

  font-weight:700;

  letter-spacing:.18em;

  transition:
    color .3s ease,
    transform .3s ease;
}


.fc-footer-social a:hover{
  color:#670505;
  transform:translateY(-2px);
}


.fc-footer-mail{
  display:flex!important;
  align-items:center;
  justify-content:center;

  width:22px;
  height:22px;
}


.fc-footer-mail svg{
  display:block;

  width:19px;
  height:19px;

  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1050px){

  .fc-footer{
    grid-template-columns:1fr;
    gap:34px;

    min-height:auto;

    padding:
      52px
      35px;

    text-align:center;
  }


  .fc-footer-brand{
    align-items:center;
  }


  .fc-footer-brand img{
    width:230px;
  }


  .fc-footer-nav{
    flex-wrap:wrap;
    gap:22px 34px;
  }


  .fc-footer-social{
    justify-content:center;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .fc-footer{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:38px;

    padding:
      48px
      22px
      42px;

    text-align:left;
  }


  .fc-footer-brand{
    align-items:flex-start;
  }


  .fc-footer-brand img{
    width:215px;
    margin-bottom:10px;
  }


  .fc-footer-brand p{
    font-size:10px;
    letter-spacing:.22em;
  }


  .fc-footer-nav{
    width:100%;

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:22px 25px;

    justify-content:flex-start;
  }


  .fc-footer-nav a{
    font-size:12px;
    letter-spacing:.18em;
  }


  .fc-footer-social{
    width:100%;

    justify-content:flex-start;

    gap:4px;
    margin-left:-14px;

    padding-top:2px;
  }


  .fc-footer-social a{
    font-size:12px;
  }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media(max-width:390px){

  .fc-footer{
    padding:
      42px
      18px
      38px;
  }


  .fc-footer-brand img{
    width:195px;
  }


  .fc-footer-nav{
    grid-template-columns:1fr;
    gap:18px;
  }

}


.fc-logo-marquee{
  background:#fff;
  padding:48px 0;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.fc-logo-kicker{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  font-weight:800;
  margin:0 0 34px;
  color:#050505;
}

.fc-logo-track{
  display:flex;
  align-items:center;
  width:max-content;
  animation:fcLogoScroll 38s linear infinite;
}

.fc-logo-track:hover{
  animation-play-state:paused;
}

.fc-logo-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:210px;
  padding:0 34px;
  border-right:1px solid rgba(0,0,0,.12);
}

.fc-logo-item img{
  max-width:150px;
  max-height:72px;
  width:auto;
  height:auto;
  display:block;
  filter:grayscale(1) contrast(1.1);
  transition:.3s ease;
}

.fc-logo-item:hover img{
  filter:grayscale(0) contrast(1);
  transform:translateY(-2px);
}

@keyframes fcLogoScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:767px){

  .fc-logo-marquee{
    padding:42px 0;
    background:#fff !important;
  }

  .fc-logo-kicker{
    font-size:12px;
    margin-bottom:28px;
  }

  .fc-logo-track{
    background:#fff !important;
  }

  .fc-logo-item{
    width:220px;
    padding:0 28px;
    background:#fff !important;
  }

  .fc-logo-item img{
    max-width:175px;
    max-height:85px;
    width:auto;
    height:auto;
  }

}

.fc-design-section{
    background:#fff;
    padding:110px 7%;
}

.fc-design-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:start;
}

/* =========================================================
   BUILT TO PERFORM SECTION
========================================================= */

.fc-design-section{
  background:#fff;
  color:#050505;
  padding:110px 7%;
}

/* phones: the logo strip above already provides breathing room */
@media(max-width:767px){
  .fc-design-section{
    padding-top:64px;
  }
}


.fc-design-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start;
}

/* IMAGE GRID */

.fc-design-images{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 170px 260px;
    grid-template-areas:
        "car cherries"
        "car website"
        "you website";
    gap:18px;
}

.img-car{grid-area:car;}
.img-cherries{grid-area:cherries;}
.img-you{grid-area:you;}
.img-website{grid-area:website;}

.fc-design-images img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.45s ease;
}

.fc-design-images img:hover{
    transform:scale(1.03);
}

/* TEXT */

.fc-overline{
    display:block;
    margin-bottom:20px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.25em;
    text-transform:uppercase;
}

.fc-design-copy h2{
    font-family:"Playfair Display";
    font-size:62px;
    line-height:.95;
    font-weight:500;
    margin:0 0 22px;
}

.fc-design-copy h2 em{
    font-style:italic;
    font-weight:400;
}

.fc-design-copy h2 span{
    color:#670505;
}

.fc-intro{
    max-width:620px;
    font-size:16px;
    line-height:1.6;
    margin-bottom:28px;
}

/* ACCORDION */

.fc-accordion details{
    border-top:1px solid #ececec;
    padding:18px 0;
}

.fc-accordion details:last-child{
    border-bottom:1px solid #ececec;
}

.fc-accordion summary{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:18px;
    cursor:pointer;
    list-style:none;
}

.fc-accordion summary::-webkit-details-marker{
    display:none;
}

.fc-accordion span{
    font-family:"Playfair Display";
    font-size:32px;
    color:#670505;
}

.fc-accordion h4{
    margin:0 0 6px;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fc-accordion p{
    max-width:500px;
    margin:0;
    font-size:13px;
    line-height:1.55;
    color:#666;
}

/* MOBILE */

@media (max-width:991px){

    .fc-design-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .fc-design-images{
        grid-template-rows:220px 150px 220px;
    }

    .fc-design-copy h2{
        font-size:50px;
    }

}


.fc-process{
  background:#050505;
  color:#fff;
  padding:140px 0 120px;
  overflow:hidden;
}

.fc-process-heading{
  text-align:center;
  max-width:1050px;
  margin:0 auto 80px;
  padding:0 24px;
}

.fc-process-heading span{
  display:block;
  font-size:12px;
  letter-spacing:.35em;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:24px;
}

.fc-process-heading h2{
  font-family:var(--serif);
  font-size:clamp(64px,8vw,132px);
  line-height:.86;
  font-weight:500;
  margin:0 0 30px;
}

.fc-process-heading em{
  font-style:italic;
  font-weight:400;
}

.fc-process-heading p{
  max-width:720px;
  margin:0 auto;
  color:rgba(255,255,255,.62);
  font-size:19px;
  line-height:1.6;
}

.fc-process-pin{
  height:100vh;
  min-height:0;
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
}

.fc-process-nav{
  display:flex;
  flex-direction:column;
  gap:34px;
  padding-top:18px;
}

.fc-process-nav button{
  background:none;
  border:0;
  color:rgba(255,255,255,.35);
  text-align:left;
  cursor:pointer;
  transition:.3s ease;
}

.fc-process-nav strong{
  display:block;
  font-family:var(--serif);
  font-size:38px;
  font-weight:400;
}

.fc-process-nav span{
  display:block;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  margin-top:6px;
}

.fc-process-nav button.is-active{
  color:#fff;
}

.fc-process-nav button.is-active strong{
  color:#8b0d0d;
}

.fc-process-track{
  display:flex;
  gap:28px;
  width:max-content;
  will-change:transform;
}

.fc-process-card{
  position:relative;
  flex:0 0 480px;
  width:480px;
  height:620px;

  border-radius:24px;
  overflow:hidden;

  background-image:
    linear-gradient(
      to top,
      rgba(0,0,0,.94),
      rgba(0,0,0,.55),
      rgba(0,0,0,.18)
    ),
    var(--bg);

  background-size:cover;
  background-position:center;

  border:1px solid rgba(255,255,255,.12);

  padding:44px;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  transform:scale(.88);
  opacity:.52;

  transform-origin:center center;

  transition:
    transform .45s cubic-bezier(.19,1,.22,1),
    opacity .45s ease,
    border-color .45s ease,
    box-shadow .45s ease;
}


.fc-process-card.is-active{
  flex:0 0 480px;
  width:480px;

  transform:scale(1);
  opacity:1;

  border-color:rgba(255,255,255,.3);

  box-shadow:
    0 40px 100px rgba(0,0,0,.45);
}
.fc-process-card span{
  position:absolute;
  top:42px;
  left:44px;
  font-family:var(--serif);
  font-size:48px;
  color:#8b0d0d;
}

.fc-process-card h3{
  font-family:var(--serif);
  font-size:clamp(42px,4vw,68px);
  line-height:.92;
  font-weight:500;
  margin:0 0 22px;
}

.fc-process-card p{
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.7;
  max-width:390px;
}


.fc-process-heading{
  margin-bottom:120px;
}

.fc-process-pin{
  height:100vh;
  min-height:0;
  align-items:center;
}


@media (max-width:900px){

  .fc-process{
    padding:90px 0;
    overflow:hidden;
  }

  .fc-process-heading{
    text-align:left;
    margin:0 auto 60px;
    padding:0 24px;
  }

  .fc-process-heading h2{
    font-size:40px;
    line-height:.9;
  }

  .fc-process-heading p{
    font-size:15px;
    line-height:1.6;
  }

  .fc-process-pin{
    display:block;
    /* no scroll-pinning below 901px, so the box only needs to fit the cards */
    height:auto;
    min-height:auto;
    padding:0;
  }

  .fc-process-nav{
    display:none;
  }

  .fc-process-track{
    display:flex;
    width:auto;
    overflow-x:auto;
    overflow-y:hidden;
    gap:18px;
    padding:0 22px 20px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    transform:none !important;
  }

  .fc-process-track::-webkit-scrollbar{
    display:none;
  }

  .fc-process-card,
  .fc-process-card.is-active{
    flex:0 0 min(84vw,420px);
    height:560px;
    padding:32px;
    opacity:1;
    transform:none !important;
    scroll-snap-align:start;
    border-color:rgba(255,255,255,.18);
    box-shadow:none;
  }

  .fc-process-card span{
    top:30px;
    left:32px;
    font-size:42px;
  }

  .fc-process-card h3{
    font-size:42px;
    line-height:.92;
  }

  .fc-process-card p{
    font-size:15px;
    line-height:1.7;
  }

}


@media(max-width:900px){
  .fc-audit-section{
    grid-template-columns:1fr;
    padding:90px 22px;
    gap:50px;
  }

  .fc-audit-copy h2{
    font-size:54px;
  }

  .fc-audit-copy span{
    font-size:15px;
  }

  .fc-envelope-scene{
    width:100%;
    margin:0 auto;
  }
}

@media(min-width:901px){
  .fc-process{
    overflow:hidden;
  }

  .fc-process-pin{
    min-height:100vh;
    display:grid;
    grid-template-columns:150px 1fr;
    align-items:center;
  }

  .fc-process-track{
    display:flex;
    width:max-content;
    will-change:transform;
  }
}


.fc-feel-section{
  background:#f5f0e9;
  color:#050505;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:720px;
  overflow:hidden;
}

.fc-feel-content{
  padding:80px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(103,5,5,.055),
      transparent 34%
    ),
    #f5f0e9;
}

.fc-feel-kicker{
  margin:0 0 34px;
  font-size:12px;
  letter-spacing:.38em;
  text-transform:uppercase;
  font-weight:800;
  color:#9b1212;
}

.fc-feel-content h2{
  font-family:var(--serif);
  font-size:clamp(42px,4.5vw,76px);
  line-height:.92;
  font-weight:500;
  margin:0 0 22px;
}

.fc-feel-content h2 em{
  font-style:italic;
  font-weight:400;
}

.fc-feel-content h2 span{
  display:block;
  color:#8b0d0d;
  font-style:italic;
  font-weight:400;
}

.fc-feel-copy{
  max-width:520px;
}

.fc-feel-copy p{
  font-size:18px;
  line-height:1.75;
  color:rgba(5,5,5,.68);
  margin:0 0 24px;
}

.fc-feel-copy strong{
  display:block;
  font-size:20px;
  margin-bottom:10px;
  color:#050505;
}

.fc-feel-copy em{
  font-family:var(--serif);
  font-size:22px;
  color:rgba(5,5,5,.72);
}

.fc-feel-line{
  width:100%;
  height:1px;
  background:rgba(139,13,13,.75);
  margin:35 0 28;
}

.fc-feel-points{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:34px;
}

.fc-feel-points span{
  display:block;
  font-size:30px;
  color:#8b0d0d;
  margin-bottom:18px;
}

.fc-feel-points p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:rgba(5,5,5,.62);
}

.fc-feel-points h4{
  margin:0 0 12px;
  font-size:12px;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:#050505;
}

.fc-feel-signoff{
  font-family:var(--serif);
  font-style:italic;
  font-size:32px;
  line-height:1.15;
  color:rgba(5,5,5,.68);
  margin:35px 0 0;
}

.fc-feel-image{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:#050505;
}

.fc-feel-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;

  background:
    linear-gradient(
      90deg,
      rgba(245,240,233,.28) 0%,
      rgba(245,240,233,.06) 22%,
      transparent 55%
    );

  pointer-events:none;
}

.fc-feel-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.9) contrast(1.04) saturate(.82);
  transform:scale(1.04);
}

@media(max-width:1000px){
  .fc-feel-section{
    grid-template-columns:1fr;
  }

  .fc-feel-content{
    padding:90px 24px 70px;
  }

  .fc-feel-image{
    min-height:560px;
  }

  .fc-feel-points{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .fc-feel-content h2{
    font-size:52px;
  }

  .fc-feel-points{
    grid-template-columns:1fr;
  }

  .fc-feel-image{
    min-height:480px;
  }

  .fc-feel-signoff{
    font-size:26px;
  }
}

.fc-process-track{
  transform:translate3d(0,0,0);
}

.fc-process-card{
  backface-visibility:hidden;
}

/* =========================================================
   CLIENT NOTES — EDITORIAL TESTIMONIALS
========================================================= */

.fc-testimonials{
  position:relative;
  overflow:hidden;

  background:#fff;
  color:#050505;

  padding:
    clamp(80px,8vw,135px)
    clamp(30px,7vw,120px)
    clamp(75px,7vw,115px);

  min-height:680px;
}


/* =========================================================
   TOP EDITORIAL LINE
========================================================= */

.fc-testimonials-topline{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding-bottom:18px;
  margin-bottom:70px;

  border-bottom:1px solid rgba(5,5,5,.22);

  font-family:var(--sans);
  font-size:11px;
  line-height:1;

  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.25em;

  color:rgba(5,5,5,.68);
}


/* =========================================================
   SLIDER
========================================================= */

.fc-testimonial-slider{
  position:relative;

  width:100%;
  max-width:1450px;

  margin:0 auto;
}


.fc-testimonial-track{
  position:relative;

  min-height:390px;
}


/* =========================================================
   INDIVIDUAL REVIEW
========================================================= */

.fc-testimonial{
  position:absolute;
  inset:0;

  display:flex;
  flex-direction:column;

  opacity:0;
  visibility:hidden;

  transform:translateY(18px);

  pointer-events:none;

  transition:
    opacity .55s ease,
    transform .65s cubic-bezier(.19,1,.22,1),
    visibility .55s ease;
}


.fc-testimonial.is-active{
  position:relative;

  opacity:1;
  visibility:visible;

  transform:translateY(0);

  pointer-events:auto;
}


/* =========================================================
   REVIEW NUMBER
========================================================= */

.fc-testimonial-index{
  display:flex;
  align-items:baseline;
  gap:6px;

  margin-bottom:30px;

  font-family:var(--serif);
}


.fc-testimonial-index span{
  font-size:22px;
  line-height:1;

  font-style:italic;

  color:#670505;
}


.fc-testimonial-index small{
  font-family:var(--sans);

  font-size:10px;
  line-height:1;

  font-weight:700;
  letter-spacing:.15em;

  color:rgba(5,5,5,.38);
}


/* =========================================================
   MASSIVE EDITORIAL QUOTE
========================================================= */

.fc-testimonial blockquote{
  width:min(1180px,92%);

  margin:0;

  font-family:var(--serif);

  font-size:clamp(44px,4.8vw,82px);
  line-height:.98;

  font-weight:500;
  letter-spacing:-.045em;

  color:#080808;
}


.fc-testimonial blockquote em{
  color:#670505;

  font-weight:400;
  font-style:italic;
}


/* =========================================================
   META / CLIENT INFORMATION
========================================================= */

.fc-testimonial-footer{
  width:100%;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;

  margin-top:58px;
  padding-top:20px;

  border-top:1px solid rgba(5,5,5,.2);
}


.fc-testimonial-meta{
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;

  gap:0;
}


.fc-testimonial-meta strong,
.fc-testimonial-meta span,
.fc-testimonial-meta small{
  display:block;

  font-family:var(--sans);

  text-transform:uppercase;
}


.fc-testimonial-meta strong{
  padding-right:24px;

  font-size:12px;
  line-height:1;

  font-weight:800;
  letter-spacing:.18em;

  color:#050505;
}


.fc-testimonial-meta span{
  padding:0 24px;

  border-left:1px solid rgba(5,5,5,.22);

  font-size:11px;
  line-height:1;

  font-weight:600;
  letter-spacing:.18em;

  color:rgba(5,5,5,.62);
}


.fc-testimonial-meta small{
  padding-left:24px;

  border-left:1px solid rgba(5,5,5,.22);

  font-size:10px;
  line-height:1;

  font-weight:600;
  letter-spacing:.17em;

  color:rgba(5,5,5,.42);
}


/* =========================================================
   VIEW PROJECT
========================================================= */

.fc-testimonial-read{
  display:flex;
  align-items:center;
  gap:14px;

  flex-shrink:0;

  color:#050505;

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;

  transition:color .3s ease;
}


.fc-testimonial-read i{
  font-style:normal;
  font-size:18px;

  transition:transform .35s cubic-bezier(.19,1,.22,1);
}


.fc-testimonial-read:hover{
  color:#670505;
}


.fc-testimonial-read:hover i{
  transform:translateX(6px);
}


/* =========================================================
   CONTROLS
========================================================= */

.fc-testimonial-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;

  gap:18px;

  margin-top:35px;
}


.fc-testimonial-arrow{
  appearance:none;

  width:auto;
  height:auto;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:5px;

  border:0;
  border-radius:0;

  background:transparent;

  color:#050505;

  font-family:var(--sans);
  font-size:24px;
  line-height:1;

  cursor:pointer;

  transition:
    color .3s ease,
    transform .3s ease;
}


.fc-testimonial-prev:hover{
  color:#670505;
  transform:translateX(-4px);
}


.fc-testimonial-next:hover{
  color:#670505;
  transform:translateX(4px);
}


/* =========================================================
   PAGINATION
========================================================= */

.fc-testimonial-pagination{
  min-width:60px;

  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:5px;

  font-family:var(--sans);

  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;

  color:rgba(5,5,5,.38);
}


.fc-testimonial-current{
  font-family:var(--serif);

  font-size:19px;
  font-style:italic;
  letter-spacing:0;

  color:#670505;
}


/* =========================================================
   REMOVE OLD KIND WORDS MARQUEE
========================================================= */


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

  .fc-testimonials{
    min-height:620px;

    padding:
      85px
      45px
      80px;
  }


  .fc-testimonials-topline{
    margin-bottom:55px;
  }


  .fc-testimonial blockquote{
    width:100%;

    font-size:clamp(46px,6.5vw,68px);
  }


  .fc-testimonial-footer{
    margin-top:48px;
  }


  .fc-testimonial-meta{
    grid-template-columns:auto auto;
    row-gap:12px;
  }


  .fc-testimonial-meta small{
    grid-column:1 / -1;

    padding-left:0;

    border-left:0;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .fc-testimonials{
    min-height:0;

    padding:
      68px
      22px
      58px;
  }


  /* TOP LINE */

  .fc-testimonials-topline{
    margin-bottom:45px;
    padding-bottom:14px;

    font-size:11px;
    letter-spacing:.19em;
  }


  .fc-testimonials-topline span:last-child{
    color:rgba(5,5,5,.38);
  }


  /* SLIDER */

  .fc-testimonial-track{
    min-height:0;
  }


  .fc-testimonial-index{
    margin-bottom:24px;
  }


  .fc-testimonial-index span{
    font-size:18px;
  }


  .fc-testimonial-index small{
    font-size:11px;
  }


  /* QUOTE */

  .fc-testimonial blockquote{
    width:100%;

    font-size:clamp(37px,10.6vw,48px);
    line-height:.98;

    letter-spacing:-.042em;
  }


  /* CLIENT DETAILS */

  .fc-testimonial-footer{
    display:block;

    margin-top:42px;
    padding-top:17px;
  }


  .fc-testimonial-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;

    gap:7px;
  }


  .fc-testimonial-meta strong,
  .fc-testimonial-meta span,
  .fc-testimonial-meta small{
    padding:0;
    border:0;
  }


  .fc-testimonial-meta strong{
    font-size:11px;
  }


  .fc-testimonial-meta span{
    font-size:11px;
  }


  .fc-testimonial-meta small{
    font-size:11px;
  }


  /* VIEW PROJECT */

  .fc-testimonial-read{
    width:max-content;

    margin-top:25px;

    padding-bottom:5px;

    border-bottom:1px solid rgba(5,5,5,.35);

    font-size:11px;
  }


  /* CONTROLS */

  .fc-testimonial-controls{
    justify-content:space-between;

    width:100%;

    margin-top:32px;
    padding-top:17px;

    border-top:1px solid rgba(5,5,5,.12);
  }


  .fc-testimonial-arrow{
    font-size:22px;
  }


  .fc-testimonial-pagination{
    order:2;
  }


  .fc-testimonial-prev{
    order:1;
  }


  .fc-testimonial-next{
    order:3;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .fc-testimonials{
    padding:
      58px
      18px
      52px;
  }


  .fc-testimonial blockquote{
    font-size:36px;
  }


  .fc-testimonials-topline{
    font-size:10px;
  }

}


.fc-cursor-glow{
  position:fixed;
  top:0;
  left:0;
  width:28px;
  height:28px;
  border-radius:50%;
  pointer-events:none;
  z-index:999999;
  opacity:0;
  transform:translate(-50%,-50%);

 background:
radial-gradient(circle at 50% 50%,
#a61111 0%,
#7b0808 22%,
#4b0303 55%,
#240000 85%);
	
	backdrop-filter: blur(10px);

    radial-gradient(circle at 72% 78%,
      rgba(103,5,5,.9) 0%,
      rgba(103,5,5,.45) 22%,
      transparent 42%),

    linear-gradient(135deg,
      #ffffff 0%,
      #d9d9d9 18%,
      #5b5b5b 34%,
      #f7f7f7 48%,
      #151515 62%,
      #7b0808 82%,
      #ffffff 100%);

  box-shadow:
0 0 10px rgba(120,0,0,.35),
0 0 28px rgba(120,0,0,.18);

  filter:contrast(1.18) saturate(1.08);
  transition:
    opacity .35s ease,
    width .32s cubic-bezier(.19,1,.22,1),
    height .32s cubic-bezier(.19,1,.22,1),
    border-radius .32s cubic-bezier(.19,1,.22,1);
}


/* Legacy homepage museum gallery CSS removed — superseded by .fc-home-work namespace. */

/* =========================================================
   FEMME WEBSITE AUDIT — MUSEUM
========================================================= */

.fc-museum-audit{
  position:relative;
  min-height:760px;
  overflow:hidden;

  background-image:url('/wp-content/uploads/2026/08/website-audit-plinth.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  color:#050505;
  isolation:isolate;
}

.fc-museum-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(247,242,234,.40) 0%,
      rgba(247,242,234,.08) 34%,
      transparent 58%
    );
}


/* LEFT COPY */

.fc-museum-copy{
  position:absolute;
  z-index:5;

  left:7%;
  top:50%;

  transform:translateY(-50%);

  width:min(28vw,430px);
}

.fc-museum-kicker{
  margin:0 0 20px;

  font-size:12px;
  font-weight:800;
  letter-spacing:.25em;
  text-transform:uppercase;
}

.fc-museum-copy h2{
  margin:0;

  font-family:var(--serif);
  font-size:clamp(58px,5.2vw,94px);
  line-height:.84;
  letter-spacing:-.045em;
  font-weight:500;
}

.fc-museum-copy h2 em{
  color:var(--burgundy);
  font-weight:400;
}

.fc-museum-description{
  max-width:310px;
  margin:30px 0;

  font-size:14px;
  line-height:1.65;
}

.fc-museum-book{
  display:inline-flex;
  align-items:center;
  gap:35px;

  padding:17px 24px;

  border:0;
  background:#050505;
  color:#fff;

  font-family:var(--sans);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;

  cursor:pointer;

  transition:
    transform .4s cubic-bezier(.19,1,.22,1),
    background .3s ease;
}

.fc-museum-book:hover{
  background:var(--burgundy);
  transform:translateY(-4px);
}

.fc-museum-book span{
  font-size:18px;
}


/* =========================================================
   ENVELOPE
========================================================= */

.fc-museum-envelope{
  position:absolute;

  z-index:8;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  width:min(30vw,500px);

  padding:0;
  border:0;
  background:none;

  cursor:pointer;
}

.fc-museum-envelope-scene{
  position:relative;

  width:100%;
  aspect-ratio:1.45 / 1;

  perspective:1500px;
  transform-style:preserve-3d;

  transition:transform .6s cubic-bezier(.19,1,.22,1);
}

.fc-museum-envelope:hover .fc-museum-envelope-scene{
  transform:translateY(-10px) scale(1.025);
}

.fc-museum-envelope-scene img{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:contain;

  pointer-events:none;
  user-select:none;
}


/* CLOSED */

.fc-museum-env-start{
  z-index:10;
  opacity:1;

  filter:drop-shadow(0 26px 24px rgba(0,0,0,.20));

  transition:opacity .25s ease;
}


/* OPEN LAYERS */

.fc-museum-env-back{
  z-index:1;
  opacity:0;
}

.fc-museum-env-letter{
  z-index:2;
  opacity:0;

  transform:translateY(60%);

  transition:
    opacity .2s ease,
    transform 1.15s cubic-bezier(.19,1,.22,1) .18s;
}

.fc-museum-env-front{
  z-index:3;
  opacity:0;
}

.fc-museum-env-seal{
  z-index:4;
  opacity:0;
}


/* OPEN STATE */

.fc-museum-envelope.is-open{
  z-index:20;
}

.fc-museum-envelope.is-open .fc-museum-env-start{
  opacity:0;
}

.fc-museum-envelope.is-open .fc-museum-env-back,
.fc-museum-envelope.is-open .fc-museum-env-letter,
.fc-museum-envelope.is-open .fc-museum-env-front,
.fc-museum-envelope.is-open .fc-museum-env-seal{
  opacity:1;
}

.fc-museum-envelope.is-open .fc-museum-env-letter{
  transform:translateY(-36%);
}


/* CLICK LABEL */

.fc-museum-open-label{
  display:inline-block;

  margin-top:10px;

  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;

  color:#050505;

  transition:.3s ease;
}

.fc-museum-envelope.is-open .fc-museum-open-label{
  opacity:0;
}


/* =========================================================
   MUSEUM PLAQUE
========================================================= */

.fc-museum-plaque{
  position:absolute;

  z-index:6;

  right:7%;
  top:50%;

  transform:translateY(-50%);

  width:min(20vw,300px);

  padding:30px 27px;

  text-align:center;

  background:rgba(242,233,220,.88);

  border:1px solid #aa8a55;

  box-shadow:
    0 0 0 5px rgba(120,88,43,.16),
    0 15px 40px rgba(0,0,0,.12);

  backdrop-filter:blur(4px);
}

.fc-museum-plaque-no{
  display:block;

  margin-bottom:14px;

  font-size:11px;
  font-weight:800;
  letter-spacing:.25em;
  text-transform:uppercase;

  color:#8a6c40;
}

.fc-museum-plaque h3{
  margin:0;

  font-family:var(--serif);
  font-size:27px;
  line-height:1;
  font-weight:500;

  text-transform:uppercase;
}

.fc-museum-plaque-rule{
  width:45px;
  height:1px;

  margin:19px auto;

  background:#aa8a55;
}

.fc-museum-plaque p{
  margin:0 auto 18px;

  font-size:11px;
  line-height:1.65;
}

.fc-museum-plaque small{
  font-family:var(--serif);
  font-size:11px;
  line-height:1.5;
}


/* =========================================================
   AUDIT MODAL
========================================================= */

body.fc-audit-modal-open{
  overflow:hidden;
}

.fc-audit-modal{
  position:fixed;
  inset:0;

  z-index:9999999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:25px;

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .35s ease,
    visibility .35s ease;
}

.fc-audit-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.fc-audit-modal-backdrop{
  position:absolute;
  inset:0;

  background:rgba(5,5,5,.78);
  backdrop-filter:blur(12px);
}

.fc-audit-modal-panel{
  position:relative;
  z-index:2;

  width:min(100%,920px);
  max-height:92vh;

  overflow-y:auto;

  padding:
    clamp(45px,6vw,80px)
    clamp(28px,6vw,75px);

  background:#f5f0e9;

  box-shadow:0 50px 150px rgba(0,0,0,.5);

  transform:translateY(25px) scale(.98);

  transition:transform .5s cubic-bezier(.19,1,.22,1);
}

.fc-audit-modal.is-open .fc-audit-modal-panel{
  transform:none;
}

.fc-audit-modal-close{
  position:absolute;

  top:22px;
  right:26px;

  width:40px;
  height:40px;

  border:0;
  background:none;

  font-family:var(--serif);
  font-size:34px;
  line-height:1;

  cursor:pointer;
}


/* MODAL HEADING */

.fc-audit-modal-heading{
  max-width:650px;
  margin-bottom:48px;
}

.fc-audit-modal-heading > span{
  display:block;

  margin-bottom:18px;

  color:var(--burgundy);

  font-size:11px;
  font-weight:800;
  letter-spacing:.3em;
  text-transform:uppercase;
}

.fc-audit-modal-heading h2{
  margin:0 0 22px;

  font-family:var(--serif);
  font-size:clamp(45px,5vw,72px);
  line-height:.9;
  letter-spacing:-.035em;
  font-weight:500;
}

.fc-audit-modal-heading h2 em{
  color:var(--burgundy);
  font-weight:400;
}

.fc-audit-modal-heading p{
  max-width:500px;

  margin:0;

  font-size:14px;
  line-height:1.7;

  color:rgba(5,5,5,.62);
}


/* =========================================================
   FORM
========================================================= */

.fc-audit-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.fc-audit-field{
  margin-bottom:30px;
}

.fc-audit-field label{
  display:block;

  margin-bottom:10px;

  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.fc-audit-field input,
.fc-audit-field textarea{
  display:block;

  width:100%;

  padding:13px 0;

  border:0;
  border-bottom:1px solid rgba(5,5,5,.28);
  border-radius:0;

  outline:none;

  background:transparent;
  color:#050505;

  font-family:var(--serif);
  font-size:20px;

  transition:border-color .3s ease;
}

.fc-audit-field textarea{
  resize:vertical;
  min-height:90px;
}

.fc-audit-field input:focus,
.fc-audit-field textarea:focus{
  border-color:var(--burgundy);
}

.fc-audit-hp{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.fc-audit-submit{
  display:flex;
  justify-content:space-between;
  align-items:center;

  width:100%;

  margin-top:12px;
  padding:19px 22px;

  border:0;

  background:#050505;
  color:#fff;

  font-family:var(--sans);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;

  cursor:pointer;

  transition:
    background .3s ease,
    transform .3s ease;
}

.fc-audit-submit:hover{
  background:var(--burgundy);
}

.fc-audit-submit:disabled{
  opacity:.55;
  cursor:wait;
}

.fc-audit-form-status{
  min-height:20px;

  margin:15px 0 0;

  color:var(--burgundy);

  font-size:12px;
  line-height:1.5;
}


/* =========================================================
   SUCCESS
========================================================= */

.fc-audit-success{
  text-align:center;

  padding:25px 0;
}

.fc-audit-success-small{
  display:block;

  margin-bottom:28px;

  color:var(--burgundy);

  font-size:11px;
  font-weight:800;
  letter-spacing:.35em;
  text-transform:uppercase;
}

.fc-audit-success-seal{
  display:flex;
  align-items:center;
  justify-content:center;

  width:88px;
  height:88px;

  margin:0 auto 35px;

  border-radius:50%;

  background:
    radial-gradient(
      circle at 35% 25%,
      #b32222,
      #670505 55%,
      #330000
    );

  color:#e8c9a2;

  font-family:var(--serif);
  font-size:30px;

  border:3px double #b98163;

  box-shadow:0 12px 30px rgba(103,5,5,.25);
}

.fc-audit-success h3{
  margin:0 0 24px;

  font-family:var(--serif);
  font-size:clamp(42px,5vw,70px);
  line-height:.92;
  font-weight:500;
}

.fc-audit-success h3 em{
  color:var(--burgundy);
  font-weight:400;
}

.fc-audit-success p{
  max-width:440px;

  margin:0 auto 30px;

  font-size:14px;
  line-height:1.7;

  color:rgba(5,5,5,.65);
}

.fc-audit-success-close{
  padding:16px 24px;

  border:0;

  background:#050505;
  color:#fff;

  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;

  cursor:pointer;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

  .fc-museum-audit{
    min-height:950px;
    background-position:center;
  }

  .fc-museum-copy{
    top:100px;
    left:7%;
    transform:none;

    width:40%;
  }

  .fc-museum-envelope{
    top:62%;
    width:min(43vw,470px);
  }

  .fc-museum-plaque{
    right:5%;
    top:22%;

    transform:none;

    width:240px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){

  /* Section is sized to the artwork (864 x 1821, ratio 2.1076), with the
     empty ceiling cropped off the top (--crop, more on wider phones) and the
     floor cropped just below the plinth.
     --env-s = height of the envelope PNG square; the visible envelope is 78%
     of it wide and its bottom edge sits 89.3% down it. */
  .fc-museum-audit{
    --art-h:calc(100vw * 2.1076);
    --crop:max(0px, 98.5vw - 323px);
    --env-s:calc(46vw / .78);

    position:relative;
    min-height:0;
    height:calc(var(--art-h) * .855 - var(--crop));

    background-image:url('/wp-content/uploads/2026/08/mobile-bg.png');
    background-size:100% auto;
    background-position:center calc(-1 * var(--crop));
    background-repeat:no-repeat;
  }


  .fc-museum-copy{
    position:relative;
    z-index:5;

    top:auto;
    left:auto;
    width:100%;

    padding:44px 24px 0;
  }


  .fc-museum-copy h2{
    font-size:58px;
    line-height:.84;
  }


  .fc-museum-description{
    max-width:310px;
    font-size:13px;
    line-height:1.65;
  }


  .fc-museum-book{
    display:none;
  }


  /* ENVELOPE SITS ON THE PLINTH TOP (61% down the artwork). The scene box is
     1.45:1, so its height equals --env-s; the visible envelope is 46vw wide. */
  .fc-museum-envelope{
    position:absolute;

    top:calc(var(--art-h) * .61 - var(--crop) - var(--env-s) * .893 + .6vw);
    left:50%;

    width:calc(var(--env-s) * 1.45);

    transform:translateX(-50%);

    z-index:10;
  }


  .fc-museum-envelope-scene{
    width:100%;
  }


  /* "Click to open" on the floor just below the plinth (plinth face = 18% of the artwork) */
  .fc-museum-open-label{
    display:block;
    position:absolute;

    left:50%;
    top:calc(var(--env-s) * .893 - .6vw + var(--art-h) * .18 + 3vw);

    transform:translateX(-50%);

    margin:0;

    font-size:11px;
    letter-spacing:.30em;

    white-space:nowrap;
    text-align:center;
  }


  .fc-museum-plaque{
    display:none;
  }

}
	
	@media(max-width:700px){

  .fc-audit-modal{
    padding:0;
    align-items:flex-end;
  }


  .fc-audit-modal-panel{
    width:100%;
    max-height:94svh;

    padding:58px 22px 34px;

    border-radius:22px 22px 0 0;
  }


  .fc-audit-modal-close{
    top:15px;
    right:17px;
  }


  .fc-audit-modal-heading{
    margin-bottom:32px;
  }


  .fc-audit-modal-heading > span{
    font-size:11px;
    margin-bottom:15px;
  }


  .fc-audit-modal-heading h2{
    font-size:42px;
    line-height:.91;

    max-width:330px;
  }


  .fc-audit-modal-heading p{
    font-size:13px;
    line-height:1.6;
  }


  .fc-audit-form-row{
    grid-template-columns:1fr;
    gap:0;
  }


  .fc-audit-field{
    margin-bottom:23px;
  }


  .fc-audit-field label{
    margin-bottom:6px;
    font-size:11px;
  }


  .fc-audit-field input,
  .fc-audit-field textarea{
    font-size:17px;
    padding:10px 0;
  }


  .fc-audit-field textarea{
    min-height:75px;
  }


  .fc-audit-submit{
    padding:17px 18px;
  }

}
	
	.fc-audit-field input:-webkit-autofill,
.fc-audit-field input:-webkit-autofill:hover,
.fc-audit-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#050505;
  -webkit-box-shadow:0 0 0 1000px #f5f0e9 inset;
  box-shadow:0 0 0 1000px #f5f0e9 inset;

  transition:background-color 9999s ease-out 0s;
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

body{
  position:relative;
}

.fc-main,
.fc-logo-marquee,
.fc-design-section,
.fc-feel-section,
.fc-process,
.fc-testimonials,
.fc-museum-audit,
.fc-footer{
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
}

@supports (overflow:clip){

  html,
  body{
    overflow-x:clip !important;
  }

}

/* =========================================================
   FEMME SERVICES — EDITORIAL INDEX
========================================================= */

.fc-services-editorial{
  position:relative;
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(650px,1.5fr);
  gap:clamp(70px,8vw,150px);

  padding:
    clamp(90px,8vw,135px)
    clamp(32px,7vw,120px);

  background:
    radial-gradient(
      circle at 8% 35%,
      rgba(103,5,5,.22),
      transparent 28%
    ),
    linear-gradient(
      105deg,
      #110202 0%,
      #070707 32%,
      #050505 100%
    );

  color:#fff;
  overflow:hidden;
}


/* =========================================================
   LEFT SIDE
========================================================= */

.fc-services-intro{
  position:relative;
  align-self:start;
  padding-top:5px;
}


.fc-services-kicker{
  display:block;

  margin-bottom:30px;

  font-family:var(--sans);
  font-size:12px;
  line-height:1;

  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.32em;

  color:rgba(255,255,255,.65);
}


.fc-services-intro h2{
  margin:0;

  font-family:var(--serif);
  font-size:clamp(68px,6.5vw,116px);
  line-height:.78;

  font-weight:500;
  letter-spacing:-.055em;

  color:#fff;
}


.fc-services-intro h2 em{
  display:block;

  margin-top:12px;

  color:#a30d0d;

  font-style:italic;
  font-weight:400;
}


/* =========================================================
   SERVICES LIST
========================================================= */

.fc-services-list{
  border-top:1px solid rgba(255,255,255,.18);
}


/* =========================================================
   INDIVIDUAL ROW
========================================================= */

.fc-service-row{
  position:relative;

  display:grid;
  grid-template-columns:60px minmax(220px,.85fr) minmax(280px,1.2fr) 105px;
  gap:28px;

  align-items:center;

  min-height:138px;

  padding:30px 18px 30px 0;

  border-bottom:1px solid rgba(255,255,255,.15);

  color:#fff;
  overflow:hidden;

  transition:
    padding .45s cubic-bezier(.19,1,.22,1),
    border-color .35s ease;
}


/* RED HOVER PANEL */

.fc-service-row::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(103,5,5,.78) 0%,
      rgba(86,3,3,.42) 56%,
      rgba(45,0,0,.14) 100%
    );

  opacity:0;
  transform:translateX(-20px);

  transition:
    opacity .45s ease,
    transform .55s cubic-bezier(.19,1,.22,1);

  z-index:0;
}


.fc-service-row > *{
  position:relative;
  z-index:2;
}


.fc-service-row:hover{
  padding-left:25px;
  padding-right:25px;

  border-color:rgba(255,255,255,.28);
}


.fc-service-row:hover::before{
  opacity:1;
  transform:translateX(0);
}


/* =========================================================
   NUMBER
========================================================= */

.fc-service-number{
  font-family:var(--serif);

  font-size:34px;
  line-height:1;

  font-weight:400;

  color:rgba(255,255,255,.5);

  transition:
    color .35s ease,
    transform .45s cubic-bezier(.19,1,.22,1);
}


.fc-service-row:hover .fc-service-number{
  color:#fff;
  transform:translateX(3px);
}


/* =========================================================
   SERVICE TITLE
========================================================= */

.fc-service-row h3{
  margin:0;

  font-family:var(--serif);

  font-size:clamp(23px,1.7vw,31px);
  line-height:1;

  font-weight:500;
  letter-spacing:-.02em;

  text-transform:none;

  color:#fff;

  transition:
    transform .45s cubic-bezier(.19,1,.22,1);
}


.fc-service-row:hover h3{
  transform:translateX(3px);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.fc-service-row p{
  margin:0;

  max-width:440px;

  font-family:var(--sans);

  font-size:12px;
  line-height:1.65;

  color:rgba(255,255,255,.56);

  transition:color .35s ease;
}


.fc-service-row:hover p{
  color:rgba(255,255,255,.82);
}


/* =========================================================
   EXPLORE
========================================================= */

.fc-service-explore{
  display:flex;
  justify-content:flex-end;
  align-items:center;

  gap:15px;

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;

  color:rgba(255,255,255,.62);

  transition:color .35s ease;
}


.fc-service-explore i{
  font-style:normal;
  font-size:19px;

  transition:
    transform .45s cubic-bezier(.19,1,.22,1);
}


.fc-service-row:hover .fc-service-explore{
  color:#fff;
}


.fc-service-row:hover .fc-service-explore i{
  transform:translateX(8px);
}


/* =========================================================
   SUBTLE CURRENT / FINAL ROW EMPHASIS
========================================================= */

.fc-service-row:last-child{
  background:
    linear-gradient(
      90deg,
      rgba(103,5,5,.18),
      rgba(103,5,5,.02)
    );
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1050px){

  .fc-services-editorial{
    grid-template-columns:1fr;

    gap:60px;

    padding:
      90px
      42px;
  }


  .fc-services-intro{
    max-width:600px;
  }


  .fc-services-intro h2{
    font-size:84px;
  }


  .fc-service-row{
    grid-template-columns:
      55px
      minmax(180px,.8fr)
      minmax(250px,1fr)
      90px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .fc-services-editorial{
    display:block;

    padding:
      72px
      22px
      70px;

    background:
      radial-gradient(
        circle at 0% 15%,
        rgba(103,5,5,.26),
        transparent 34%
      ),
      #050505;
  }


  .fc-services-intro{
    margin-bottom:55px;
  }


  .fc-services-kicker{
    margin-bottom:18px;

    font-size:11px;
    letter-spacing:.26em;
  }


  .fc-services-intro h2{
    font-size:61px;
    line-height:.82;
  }


  .fc-services-intro h2 em{
    margin-top:8px;
  }


  /* SERVICE ROW */

  .fc-service-row{
    display:grid;

    grid-template-columns:42px 1fr;
    gap:10px 16px;

    min-height:0;

    padding:
      25px
      0;

    overflow:visible;
  }


  .fc-service-row:hover{
    padding:
      25px
      0;
  }


  .fc-service-row::before{
    display:none;
  }


  /* NUMBER */

  .fc-service-number{
    grid-column:1;
    grid-row:1 / span 3;

    padding-top:3px;

    font-size:25px;
  }


  /* TITLE */

  .fc-service-row h3{
    grid-column:2;

    font-size:24px;
  }


  /* DESCRIPTION */

  .fc-service-row p{
    grid-column:2;

    max-width:320px;

    font-size:11px;
    line-height:1.6;
  }


  /* EXPLORE */

  .fc-service-explore{
    grid-column:2;

    justify-content:flex-start;

    width:max-content;

    margin-top:7px;

    padding-bottom:5px;

    border-bottom:1px solid rgba(255,255,255,.28);

    font-size:11px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .fc-services-editorial{
    padding:
      62px
      18px;
  }


  .fc-services-intro h2{
    font-size:55px;
  }


  .fc-service-row h3{
    font-size:22px;
  }

}
/* =========================================================
   FINAL CTA — EDITORIAL IVORY
========================================================= */

.fc-final-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  min-height:265px;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:80px;

  padding:
    58px
    clamp(40px,9vw,170px);

  background:#efe6dc;
  color:#050505;

  border-top:1px solid rgba(5,5,5,.12);
}


/* SUBTLE EDITORIAL LIGHT */

.fc-final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  background:
    radial-gradient(
      circle at 14% 45%,
      rgba(103,5,5,.07),
      transparent 30%
    ),
    linear-gradient(
      110deg,
      rgba(255,255,255,.15) 0%,
      rgba(255,255,255,.5) 48%,
      rgba(255,255,255,.08) 100%
    );

  pointer-events:none;
}


/* VERY SUBTLE PAPER DEPTH */

.fc-final-cta::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.18) 50%,
      transparent
    );

  pointer-events:none;
}


/* =========================================================
   COPY
========================================================= */

.fc-final-cta-text{
  position:relative;
  z-index:2;
}


.fc-final-cta-kicker{
  display:block;

  margin-bottom:14px;

  font-family:var(--sans);
  font-size:11px;
  line-height:1;

  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.28em;

  color:#670505;
}


.fc-final-cta h2{
  margin:0;

  font-family:var(--serif);

  font-size:clamp(43px,4vw,72px);
  line-height:.88;

  font-weight:500;
  letter-spacing:-.045em;

  color:#050505;
}


.fc-final-cta h2 em{
  color:#670505;

  font-style:italic;
  font-weight:400;
}


/* =========================================================
   BUTTON
========================================================= */

.fc-final-cta-button{
  position:relative;
  z-index:3;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:45px;
  min-width:270px;

  padding:20px 24px;

  border:1px solid #050505;

  background:#050505;
  color:#fff;

  font-family:var(--sans);
  font-size:11px;
  line-height:1;

  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.15em;

  transition:
    background .35s ease,
    border-color .35s ease,
    transform .4s cubic-bezier(.19,1,.22,1),
    box-shadow .4s ease;
}


.fc-final-cta-button i{
  font-style:normal;
  font-size:18px;

  transition:
    transform .4s cubic-bezier(.19,1,.22,1);
}


.fc-final-cta-button:hover{
  background:#670505;
  border-color:#670505;

  transform:translateY(-4px);

  box-shadow:
    0 20px 45px rgba(0,0,0,.16);
}


.fc-final-cta-button:hover i{
  transform:translateX(7px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:900px){

  .fc-final-cta{
    min-height:250px;

    grid-template-columns:1fr auto;

    gap:40px;

    padding:
      48px
      45px;
  }


  .fc-final-cta h2{
    font-size:54px;
  }


  .fc-final-cta-button{
    min-width:220px;
    gap:25px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .fc-final-cta{
    min-height:auto;

    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:30px;

    padding:
      52px
      22px
      55px;

    background:
      radial-gradient(
        circle at 15% 25%,
        rgba(103,5,5,.06),
        transparent 38%
      ),
      #efe6dc;

    border-top:1px solid rgba(5,5,5,.12);
  }


  .fc-final-cta-kicker{
    font-size:11px;
    margin-bottom:13px;
  }


  .fc-final-cta h2{
    font-size:49px;
    line-height:.89;

    max-width:330px;
  }


  .fc-final-cta-button{
    width:100%;

    min-width:0;

    padding:18px 20px;

    font-size:11px;
  }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media(max-width:390px){

  .fc-final-cta{
    padding:
      46px
      18px
      48px;
  }


  .fc-final-cta h2{
    font-size:44px;
  }

}

/* ======================================================
   FEMME ELEVATOR INTRO
   Every piece sits on .fc-elevator-canvas, a box with the
   artwork's own proportions that covers the screen. Labels are
   positioned in % of the artwork, so they stay on the doors at
   every screen size. Door geometry measured from the artwork:
   desktop Door-1/Door-2 (1600x1067): doors 29.7–49.8% / 49.8–69.9%
   mobile Mobile-Door-4/5 (940x1672): visible doors 26.6–49.8% / 50–73.3%
====================================================== */

.fc-elevator-intro {
  position: fixed;
  inset: 0;
  bottom: auto;
  width: 100%;
  /* Large-viewport height: reaches under iOS/Android translucent browser
     toolbars, so nothing of the page shows until the doors open. */
  height: 100vh;
  height: 100lvh;
  z-index: 99999999;
  overflow: hidden;
  background: transparent;
}

.fc-elevator-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform: scale(1.008);
}

/* the artwork-shaped box (desktop/tablet art: 1600 x 1067) */
.fc-elevator-canvas {
  --fc-art-ratio: 1.49953;

  position: absolute;
  left: 50%;
  top: 50%;
  width: max(100vw, 100vh * var(--fc-art-ratio));
  width: max(100vw, 100lvh * var(--fc-art-ratio));
  aspect-ratio: 1600 / 1067;
  transform: translate(-50%, -50%);
  container-type: inline-size;
}

#fc-elevator-intro,
#fc-elevator-intro * {
  box-sizing: border-box;
}

/* ---------- artwork ---------- */

.fc-elevator-art {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
}

.fc-elevator-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  pointer-events: none;
}

.fc-elevator-art-left,
.fc-elevator-art-right {
  z-index: 2;
  will-change: transform;
}

.fc-elevator-art-surround {
  z-index: 4;
}

/* ---------- FEMME / CREATIVE (one per door) ---------- */

.fc-elevator-door-brand {
  position: absolute;
  z-index: 3;
  top: 39%;
  left: 29.7%;
  width: 20.1%;

  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  color: #d0a45d;
  pointer-events: none;
  will-change: transform, opacity;
}

.fc-elevator-door-brand-right {
  left: 49.8%;
}

#fc-elevator-intro .fc-elevator-door-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(18px, 2.15cqw, 44px);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.19em;
  /* letter-spacing adds space after the last letter; pull it back so the word is truly centred */
  margin-right: -0.19em;
  line-height: 1;
  white-space: nowrap;
}

#fc-elevator-intro .fc-elevator-door-sub {
  margin-top: 1.1cqw;
  font-family: "Inter", Arial, sans-serif;
  font-size: clamp(7px, 0.62cqw, 11px);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.29em;
  margin-right: -0.29em;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.85;
}

/* ---------- FC monogram ---------- */

#fc-elevator-intro .fc-elevator-monogram {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -50%);

  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(22px, 2.05cqw, 40px);
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  color: #d0a45d;
  pointer-events: none;
}

/* ---------- floor indicator ---------- */

.fc-elevator-indicator {
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 14.8%; /* inside the half-moon window of Elevator-Bg-1 (window spans 11–18.5%) */
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

#fc-elevator-intro .fc-elevator-floor {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(22px, 2.1cqw, 40px);
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  color: #f0d19a;
  text-shadow:
    0 0 8px rgba(240, 209, 154, 0.35),
    0 0 22px rgba(240, 209, 154, 0.13);
}

/* ---------- light through the door seam ---------- */

.fc-elevator-intro::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 12%;
  bottom: 5%;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(255, 244, 222, 0);
  pointer-events: none;
}

/* page stays still while the intro plays */
body.fc-elevator-active {
  overflow: hidden;
}

/* ======================================================
   PHONES — portrait artwork (Mobile-Door-*, 940 x 1672)
====================================================== */

@media (max-width: 767px) {

  .fc-elevator-canvas {
    --fc-art-ratio: 0.56220;
    aspect-ratio: 940 / 1672;
  }

  .fc-elevator-door-brand {
    top: 43%;
    left: 26.6%;
    width: 23.2%;
  }

  .fc-elevator-door-brand-right {
    left: 50%;
    width: 23.3%;
  }

  #fc-elevator-intro .fc-elevator-door-name {
    font-size: 3.2cqw;
    letter-spacing: 0.12em;
    margin-right: -0.12em;
  }

  #fc-elevator-intro .fc-elevator-door-sub {
    margin-top: 1.6cqw;
    max-width: 92%;
    font-size: max(6.5px, 1.45cqw);
    letter-spacing: 0.14em;
    margin-right: -0.14em;
    white-space: normal;
  }

  #fc-elevator-intro .fc-elevator-monogram {
    top: 58.5%;
    font-size: 6cqw;
  }

  /* optical centre of the half-moon window in Mobile-Door-2 (window spans 7.4–12.7%) */
  .fc-elevator-indicator {
    top: 10.4%;
  }

  #fc-elevator-intro .fc-elevator-floor {
    font-size: 6cqw;
  }
}

/* Visitors who ask for less motion skip the intro (main.js removes it);
   this hides it before the script runs. */
@media (prefers-reduced-motion: reduce) {
  .fc-elevator-intro {
    display: none !important;
  }
}

/* =========================================================
   MOBILE HERO — FINAL COMPOSITION
========================================================= */

/* (empty @media block removed) */

/* =========================================================
   MOBILE WHITE EDITORIAL SECTIONS
========================================================= */

@media screen and (max-width:767px){

  /* CLIENT / BRAND LOGO BAR */
  .fc-logo-marquee,
  .fc-logo-track,
  .fc-logo-item{
    background:#ffffff !important;
  }


  /* BUILT TO PERFORM SECTION */
  .fc-design-section,
  .fc-design-grid{
    background:#ffffff !important;
  }

}

.fc-philosophy-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:16px;
}

.fc-philosophy-icon img{
  display:block;
  width:32px;
  height:32px;
  object-fit:contain;
}


/* MOBILE */
@media(max-width:767px){

  .fc-philosophy-icon{
    width:34px;
    height:34px;
    margin-bottom:12px;
  }

  .fc-philosophy-icon img{
    width:29px;
    height:29px;
  }

}


/* =========================================================
   WEB DESIGN — EDITORIAL COVER
========================================================= */

.fc-cover-hero{
  position:relative;
  width:100%;
  min-height:100svh;
  background:#fff;
  overflow:hidden;
  color:#050505;
}


/* =========================================================
   DESKTOP MAGAZINE COMPOSITION
========================================================= */


.fc-cover-shell{
  width:min(82vw,1500px);

  height:calc(100svh - 70px);

  margin:0 auto;

  /* WAS ~70–92px — push editorial artwork lower */
  padding-top:clamp(105px,10vh,135px);
  padding-bottom:clamp(18px,2.5vh,30px);

  display:grid;
  grid-template-rows:minmax(0,1fr) auto;

  box-sizing:border-box;
}


/* =========================================================
   PHOTO
========================================================= */

.fc-cover-stage{
  position:relative;

  width:100%;
  height:100%;

  min-height:0;

  overflow:hidden;
  isolation:isolate;

  opacity:0;

  animation:
    fcCoverStageIn
    1s
    cubic-bezier(.16,1,.3,1)
    .05s
    forwards;
}


.fc-cover-main-image{
  position:absolute;
  inset:0;

  z-index:1;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center 52%;

  display:block;

  transform-origin:center;

  animation:
    fcCoverBreath
    12s
    ease-in-out
    1.1s
    infinite
    alternate;
}


/* =========================================================
   EDITORIAL TYPE
========================================================= */

.fc-cover-masthead{
  position:absolute;
  inset:0;

  z-index:3;

  font-family:var(--serif);
  font-weight:500;
  text-transform:uppercase;

  color:#670505;

  pointer-events:none;
  user-select:none;
}


/* WEB — TOP LEFT */
.fc-cover-masthead span:first-child{
  position:absolute;

  top:3%;
  left:2.5%;

  /* MUCH BIGGER */
  font-size:clamp(175px,15vw,285px);
  line-height:.72;

  letter-spacing:-.075em;

  opacity:0;

  animation:
    fcCoverWebIn
    1.15s
    cubic-bezier(.16,1,.3,1)
    .25s
    forwards;
}


/* DESIGN — RIGHT / LOWER */
.fc-cover-masthead span:last-child{
  position:absolute;

  right:-1%;
  top:46%;

  font-size:clamp(145px,12.3vw,235px);
  line-height:.72;

  letter-spacing:-.075em;

  text-align:right;

  opacity:0;

  animation:
    fcCoverDesignIn
    1.2s
    cubic-bezier(.16,1,.3,1)
    .38s
    forwards;
}


/* =========================================================
   ELLIE CUTOUT
========================================================= */

.fc-cover-person{
  position:absolute;
  inset:0;

  z-index:5;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center 52%;

  display:block;

  pointer-events:none;

  transform-origin:center;

  opacity:0;

  animation:
    fcCoverPersonIn
      1.15s
      cubic-bezier(.16,1,.3,1)
      .48s
      forwards,

    fcCoverBreath
      12s
      ease-in-out
      1.7s
      infinite
      alternate;
}


/* =========================================================
   BOTTOM EDITORIAL STRIP
========================================================= */

.fc-cover-info{
  width:100%;

  min-height:104px;

  padding-top:16px;

  display:flex;
  justify-content:space-between;
  align-items:flex-end;

  gap:40px;

  opacity:0;

  animation:
    fcCoverDetailsIn
    .9s
    cubic-bezier(.16,1,.3,1)
    .8s
    forwards;
}


/* =========================================================
   LEFT DETAILS
========================================================= */

.fc-cover-info-left{
  display:grid;

  grid-template-columns:auto auto;
  grid-template-rows:auto auto;

  column-gap:32px;
  row-gap:8px;

  align-items:end;
}


.fc-cover-tagline{
  grid-column:1;
  grid-row:1 / span 2;

  margin:0;

  font-family:var(--serif);

  font-size:clamp(23px,1.7vw,32px);
  line-height:.88;

  font-style:italic;
  font-weight:400;

  color:#8d0000;
}


.fc-cover-tagline em{
  font-style:italic;

  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}


.fc-cover-services{
  grid-column:2;
  grid-row:1;

  margin:0;

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:600;

  letter-spacing:.17em;
  text-transform:uppercase;

  color:rgba(5,5,5,.45);
}


/* =========================================================
   CTA
========================================================= */

.fc-cover-cta{
  grid-column:2;
  grid-row:2;

  width:185px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:7px 0 6px;

  border-bottom:1px solid rgba(5,5,5,.28);

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:800;

  letter-spacing:.14em;
  text-transform:uppercase;

  color:#050505;

  transition:
    color .3s ease,
    border-color .3s ease,
    transform .35s cubic-bezier(.16,1,.3,1);
}


.fc-cover-cta i{
  font-style:normal;

  font-size:13px;

  color:#8d0000;

  transition:transform .35s cubic-bezier(.16,1,.3,1);
}


.fc-cover-cta:hover{
  color:#8d0000;
  border-color:#8d0000;

  transform:translateY(-2px);
}


.fc-cover-cta:hover i{
  transform:translateX(6px);
}


/* =========================================================
   BARCODE
========================================================= */

.fc-cover-info-right{
  display:flex;
  align-items:flex-end;

  gap:12px;
}


.fc-cover-issue{
  margin-bottom:5px;

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:600;

  letter-spacing:.17em;
  text-transform:uppercase;

  color:rgba(5,5,5,.45);

  white-space:nowrap;
}


.fc-cover-barcode{
  display:block;

  width:clamp(75px,5.2vw,94px);
  height:auto;
}


/* =========================================================
   MOVEMENT
========================================================= */

/* =========================================================
   MOVEMENT
========================================================= */

/* whole photo composition appears together */
@keyframes fcCoverStageIn{

  from{
    opacity:0;
    transform:
      translateY(14px)
      scale(.985);
  }

  to{
    opacity:1;
    transform:
      translateY(0)
      scale(1);
  }

}


/* WEB slides in from left */
@keyframes fcCoverWebIn{

  from{
    opacity:0;
    transform:
      translateX(-55px)
      scale(.96);
  }

  to{
    opacity:1;
    transform:
      translateX(0)
      scale(1);
  }

}


/* DESIGN enters from right */
@keyframes fcCoverDesignIn{

  from{
    opacity:0;
    transform:
      translateX(65px)
      scale(.96);
  }

  to{
    opacity:1;
    transform:
      translateX(0)
      scale(1);
  }

}


/* subtle constant magazine breathing */
@keyframes fcCoverBreath{

  from{
    transform:scale(1);
  }

  to{
    transform:scale(1.018);
  }

}


/* details arrive last */
@keyframes fcCoverDetailsIn{

  from{
    opacity:0;
    transform:translateY(14px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}


/* =========================================================
   STANDARD LAPTOP
========================================================= */


@media(max-width:1450px){

  .fc-cover-shell{
    width:86vw;
  }

  .fc-cover-masthead span:first-child{
    font-size:clamp(150px,14.5vw,225px);
  }

  .fc-cover-masthead span:last-child{
    right:-1%;
    font-size:clamp(125px,11.7vw,190px);
  }

}


/* =========================================================
   SMALL LAPTOP
========================================================= */

@media(max-width:1200px){

  .fc-cover-shell{
    width:89vw;
    padding-top:105px;
  }

  .fc-cover-masthead span:first-child{
    top:3%;
    left:2%;
    font-size:clamp(125px,14vw,175px);
  }

  .fc-cover-masthead span:last-child{
    top:47%;
    right:1.5%;
    font-size:clamp(115px,12.5vw,155px);
  }

  .fc-cover-tagline{
    font-size:23px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(min-width:768px) and (max-width:1000px){

  .fc-cover-shell{
    width:92vw;

    height:calc(100svh - 70px);

    padding-top:92px;
  }


  .fc-cover-masthead span:first-child{
    top:5%;
    left:3%;

    font-size:clamp(78px,11vw,110px);
  }


  .fc-cover-masthead span:last-child{
    right:2%;
    top:48%;

    font-size:clamp(70px,10vw,98px);
  }


  .fc-cover-info-left{
    column-gap:18px;
  }


  .fc-cover-tagline{
    font-size:21px;
  }


  .fc-cover-services{
    font-size:11px;
  }


  .fc-cover-cta{
    width:155px;

    font-size:11px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

.fc-cover-mobile{
  display:none;
}


@media(max-width:767px), (min-width:768px) and (max-width:1100px) and (orientation:portrait){

  .fc-cover-shell{
    display:none;
  }


  .fc-cover-hero{
    min-height:auto;

    padding:
      30px
      0
      28px;
  }


  .fc-cover-mobile{
    display:block;

    width:100%;
  }


  /* =========================================================
   MOBILE COVER
========================================================= */

.fc-cover-mobile-stage{
  position:relative;

  width:88%;
  aspect-ratio:.64 / 1;

  margin:0 auto;

  /* allow WEB / DESIGN to bleed a little outside (into the page margin, never off-screen) */
  overflow:visible;

  /* WEB / DESIGN are sized in cqw = % of this frame's width */
  container-type:inline-size;

  isolation:isolate;

  opacity:0;

  animation:
    fcCoverStageIn
      1.05s
      cubic-bezier(.16,1,.3,1)
      .08s
      forwards,

    fcCoverBreath
      12s
      ease-in-out
      1.3s
      infinite
      alternate;
}


/* =========================================================
   MOBILE IMAGE LAYERS
========================================================= */

/*
  Background + Ellie stay perfectly locked together.
  Neither layer gets its own movement.
*/

.fc-cover-mobile-bg,
.fc-cover-mobile-person{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  animation:none !important;
  transform:none !important;
}


/* BACKGROUND */

.fc-cover-mobile-bg{
  z-index:1;
}


/* ELLIE CUTOUT */

.fc-cover-mobile-person{
  z-index:5;

  opacity:1;

  pointer-events:none;
}


/* =========================================================
   MOBILE TITLE
========================================================= */

.fc-cover-mobile-title{
  position:absolute;

  inset:0;

  /* no z-index here: WEB (3) sits behind Ellie (5), DESIGN (6) in front */
  z-index:auto;

  overflow:visible;

  font-family:var(--serif);

  font-weight:500;

  color:#870000;

  pointer-events:none;
}


/* WEB */

.fc-cover-mobile-title span:first-child{
  position:absolute;

  /* higher + bleeding just past the left edge of the photo, behind Ellie */
  top:2%;
  left:-3%;
  z-index:3;

  font-size:27cqw;
  line-height:.7;

  letter-spacing:-.075em;

  opacity:0;

  animation:
    fcCoverWebIn
      1s
      cubic-bezier(.16,1,.3,1)
      .25s
      forwards;
}


/* DESIGN */

.fc-cover-mobile-title span:last-child{
  position:absolute;

  /*
    much lower so it frames your face
    instead of cutting through it
  */
  /* in front of Ellie so the whole word reads on narrow screens */
  top:40%;
  right:-3%;
  z-index:6;

  font-size:21cqw;
  line-height:.7;

  letter-spacing:-.075em;

  opacity:0;

  animation:
    fcCoverDesignIn
      1s
      cubic-bezier(.16,1,.3,1)
      .38s
      forwards;
}


/* =========================================================
   LOWER INFO
========================================================= */

.fc-cover-mobile-info{
  width:88%;

  margin:16px auto 0;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;

  gap:16px;

  opacity:0;

  animation:
    fcCoverDetailsIn
      .8s
      cubic-bezier(.16,1,.3,1)
      .8s
      forwards;
}


.fc-cover-mobile-tagline{
  margin:0 0 12px;

  font-family:var(--serif);

  font-size:18px;
  line-height:.9;

  font-style:italic;

  color:#670505;
}


.fc-cover-mobile-tagline em{
  text-decoration:underline;
  text-underline-offset:2px;
}


.fc-cover-mobile-cta{
  display:inline-flex;
  align-items:center;

  gap:18px;

  padding-bottom:5px;

  border-bottom:1px solid rgba(5,5,5,.3);

  font-family:var(--sans);

  font-size:11px;

  font-weight:800;

  text-transform:uppercase;
  letter-spacing:.14em;

  color:#050505;
}


.fc-cover-mobile-barcode{
  width:58px;
  height:auto;
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .fc-cover-mobile-stage,
  .fc-cover-mobile-info{
    width:91%;
  }


  .fc-cover-mobile-tagline{
    font-size:16px;
  }


  .fc-cover-mobile-barcode{
    width:52px;
  }

}

}
/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .fc-cover-stage,
  .fc-cover-main-image,
  .fc-cover-person,
  .fc-cover-masthead span,
  .fc-cover-info,
  .fc-cover-mobile-stage,
  .fc-cover-mobile-bg,
  .fc-cover-mobile-title span,
  .fc-cover-mobile-person,
  .fc-cover-mobile-info{
    animation:none !important;

    opacity:1 !important;

    transform:none !important;
  }

}


/* =========================================================
   WEB DESIGN — MANIFESTO
========================================================= */

.fc-wd-manifesto{
  position:relative;

  width:100%;

  min-height:72vh;

  display:flex;
  align-items:center;

  overflow:hidden;

  background:#f7f3ed;
  color:#050505;

  padding:
    clamp(90px,10vw,160px)
    clamp(34px,6vw,110px);
}


.fc-wd-manifesto-inner{
  position:relative;

  width:100%;
  max-width:1700px;

  margin:0 auto;

  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);

  gap:clamp(60px,8vw,150px);

  align-items:center;
}


/* =========================================================
   LEFT
========================================================= */

.fc-wd-manifesto-kicker{
  margin-bottom:28px;

  font-family:var(--sans);

  font-size:11px;
  line-height:1;

  font-weight:800;

  letter-spacing:.18em;
  text-transform:uppercase;

  color:rgba(5,5,5,.52);
}


.fc-wd-manifesto-heading{
  margin:0;

  font-family:var(--serif);

  font-size:clamp(84px,9.4vw,180px);
  line-height:.72;

  font-weight:500;

  letter-spacing:-.07em;

  text-transform:uppercase;

  color:#050505;
}


.fc-wd-manifesto-heading span{
  display:block;

  transform-origin:left center;
}


.fc-wd-manifesto-heading .is-red{
  color:#8d0000;
}


/* =========================================================
   RIGHT
========================================================= */

.fc-wd-manifesto-right{
  align-self:center;

  padding-top:50px;
}


.fc-wd-manifesto-copy{
  max-width:360px;

  margin:0;

  font-family:var(--serif);

  font-size:clamp(30px,2.5vw,48px);
  line-height:.98;

  font-weight:400;

  color:#050505;
}


.fc-wd-manifesto-copy em{
  display:block;

  font-style:italic;

  color:#8d0000;
}


/* =========================================================
   SCROLL CUE
========================================================= */

.fc-wd-manifesto-scroll{
  position:absolute;

  right:0;
  top:50%;

  transform:translateY(-50%);

  display:flex;
  flex-direction:column;
  align-items:center;

  gap:10px;

  font-family:var(--sans);

  color:#050505;
}


.fc-wd-manifesto-scroll span{
  writing-mode:vertical-rl;

  font-size:11px;

  font-weight:800;

  text-transform:uppercase;
  letter-spacing:.18em;
}


.fc-wd-manifesto-scroll i{
  width:1px;
  height:78px;

  background:rgba(5,5,5,.45);
}


.fc-wd-manifesto-scroll b{
  font-size:15px;
  font-weight:400;
}


/* =========================================================
   DESKTOP LOAD / SCROLL MOTION BASE
========================================================= */

.fc-wd-manifesto-kicker,
.fc-wd-manifesto-heading span,
.fc-wd-manifesto-copy,
.fc-wd-manifesto-scroll{
  will-change:transform,opacity;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1024px){

  .fc-wd-manifesto{
    min-height:auto;

    padding:
      110px
      40px;
  }


  .fc-wd-manifesto-inner{
    grid-template-columns:1fr;

    gap:50px;
  }


  .fc-wd-manifesto-heading{
    font-size:clamp(72px,11vw,120px);
  }


  .fc-wd-manifesto-right{
    padding-top:0;
  }


  .fc-wd-manifesto-copy{
    max-width:430px;
  }


  .fc-wd-manifesto-scroll{
    right:5px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .fc-wd-manifesto{
    padding:
      90px
      20px
      100px;
  }


  .fc-wd-manifesto-inner{
    display:block;
  }


  .fc-wd-manifesto-kicker{
    margin-bottom:24px;

    font-size:11px;
  }


  .fc-wd-manifesto-heading{
    font-size:clamp(58px,18vw,86px);
    line-height:.76;
  }


  .fc-wd-manifesto-right{
    margin-top:48px;
  }


  .fc-wd-manifesto-copy{
    max-width:270px;

    font-size:clamp(27px,8vw,36px);
  }


  .fc-wd-manifesto-scroll{
    right:8px;
    top:auto;
    bottom:30px;

    transform:none;
  }


  .fc-wd-manifesto-scroll i{
    height:48px;
  }

}

/* =========================================================
   FEMME MUSEUM / SELECTED WORK
   CLEAN HORIZONTAL GALLERY
========================================================= */

.fc-museum{
    --museum-red:#3b0808;
    --museum-red-deep:#220303;
    --museum-accent:#9a0000;
    --museum-cream:#f3eadb;

    position:relative;
    width:100%;
    min-height:760px;

    background:
        radial-gradient(
            circle at 50% 28%,
            #551010 0%,
            var(--museum-red) 38%,
            var(--museum-red-deep) 100%
        );

    color:var(--museum-cream);

    overflow:hidden;

    padding:
        clamp(42px,4vw,62px)
        clamp(26px,4vw,72px)
        clamp(54px,5vw,78px);

    box-sizing:border-box;
    isolation:isolate;
}


/* WALL TEXTURE */

.fc-museum::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    opacity:.16;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.025),
            transparent 20%,
            rgba(0,0,0,.08) 50%,
            transparent 80%
        );

    z-index:0;
}


/* INNER WALL BORDER */

.fc-museum::after{
    content:"";

    position:absolute;
    inset:20px;

    border:1px solid rgba(235,204,153,.18);

    box-shadow:
        inset 0 0 0 5px rgba(20,0,0,.18),
        inset 0 0 60px rgba(0,0,0,.24);

    pointer-events:none;

    z-index:1;
}


/* =========================================================
   META
========================================================= */

.fc-museum-meta{
    position:relative;

    z-index:50;

    width:100%;
    max-width:1760px;

    margin:0 auto 28px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    font-family:"Inter",sans-serif;

    font-size:11px;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;

    color:rgba(243,234,219,.58);
}


.fc-museum-meta span:first-child{
    color:#c84b42;
}


/* =========================================================
   MAIN INNER
========================================================= */

.fc-museum-inner{
    position:relative;

    z-index:5;

    width:100%;
    max-width:1760px;

    margin:0 auto;

    display:flex;
    flex-wrap:wrap;
}


/* =========================================================
   INTRO — BIG + CENTERED
========================================================= */

.fc-museum-intro{
    position:relative;

    flex:0 0 100%;

    width:100%;

    margin:
        0 auto
        clamp(36px,4vw,54px);

    padding:0;

    text-align:center;

    z-index:50;

    animation:
        fcMuseumIntro
        1s
        cubic-bezier(.16,1,.3,1)
        both;
}


.fc-museum-kicker{
    margin:0 0 14px;

    font-family:"Inter",sans-serif;

    font-size:11px;
    font-weight:700;

    letter-spacing:.3em;
    text-transform:uppercase;

    color:#c84b42;
}


.fc-museum-intro h2{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:clamp(68px,7.1vw,138px);
    line-height:.86;

    font-weight:400;

    letter-spacing:-.065em;

    color:#f7eddd;

    white-space:nowrap;
}


.fc-museum-script{
    margin-top:12px;

    font-family:"Playfair Display",serif;

    font-style:italic;

    font-size:clamp(28px,2.25vw,42px);
    line-height:1;

    color:#cf1d1d;

    transform:none;
}


.fc-museum-copy{
    max-width:650px;

    margin:
        22px auto
        20px;

    font-family:"Inter",sans-serif;

    font-size:11px;
    line-height:1.75;

    color:rgba(255,246,232,.68);
}


	/* =========================================================
   MUSEUM DESKTOP GALLERY LAYOUT
========================================================= */

.fc-museum-inner{
    position:relative;
    z-index:5;

    width:100%;
    max-width:1760px;
    margin:0 auto;

    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;

    overflow:visible;
}

.fc-museum-intro{
    flex:0 0 100%;
    width:100%;
}


/* ==========================================
   FEMME CREATIVE — 5 FRAMES PER ROW
   MULTIPLE ROWS
========================================== */

@media (min-width:1101px) {

    .fc-museum-inner {
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:flex-start !important;
        column-gap:18px !important;
        row-gap:65px !important;
    }

    .fc-museum-intro {
        flex:0 0 100% !important;
        width:100% !important;
    }

    .fc-exhibit {
        flex:0 0 calc((100% - 72px) / 5) !important;
        width:calc((100% - 72px) / 5) !important;
        min-width:0 !important;
        margin-right:0 !important;
        margin-bottom:0 !important;
    }

    .fc-exhibit:last-of-type {
        margin-right:0 !important;
    }
}

	
/* =========================================================
   FIVE FRAME ROW
========================================================= */

.fc-exhibit{
    position:relative !important;

    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;

    width:auto !important;

    flex:
        0 0
        calc(20% - 15px);

    min-width:0;

    margin-right:0;

    display:block;

    text-decoration:none;

    color:inherit;

    z-index:5;

    cursor:pointer;

    --rotation:0deg !important;

    transform:
        translate3d(
            var(--mouse-x,0px),
            var(--mouse-y,0px),
            0
        );

    transition:
        transform .65s cubic-bezier(.16,1,.3,1),
        z-index 0s;

    opacity:0;

    animation:
        fcMuseumReveal
        1.1s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


.fc-exhibit:last-of-type{
    margin-right:0;
}


/* All get the SAME gallery footprint.
   Their actual frame PNG proportions remain untouched. */

.fc-exhibit-art{
    position:relative;

    width:100%;

    height:
        clamp(
            270px,
            25vw,
            430px
        );

    display:flex;
    align-items:center;
    justify-content:center;

    filter:
        drop-shadow(
            0 18px 16px
            rgba(0,0,0,.32)
        )
        drop-shadow(
            0 35px 28px
            rgba(0,0,0,.20)
        );

    transition:
        transform .7s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}


.fc-exhibit-art img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
    object-position:center;

    pointer-events:none;
}


/* slight gallery light */

.fc-exhibit-art::after{
    content:"";

    position:absolute;
    inset:6%;

    pointer-events:none;

    background:
        radial-gradient(
            circle at 50% 10%,
            rgba(255,232,190,.12),
            transparent 48%
        );

    mix-blend-mode:screen;

    opacity:.22;

    transition:opacity .5s ease;
}


/* =========================================================
   STAGGERED ENTRANCE
========================================================= */

.fc-exhibit--natz{
    animation-delay:.12s;
}

.fc-exhibit--anything{
    animation-delay:.22s;
}

.fc-exhibit--truepath{
    animation-delay:.32s;
}

.fc-exhibit--global{
    animation-delay:.42s;
}

.fc-exhibit--base{
    animation-delay:.52s;
}


/* =========================================================
   HOVER — KEEP THE COOL MOVEMENT
========================================================= */

.fc-exhibit:hover{
    z-index:50;

    transform:
        translate3d(
            var(--mouse-x,0px),
            calc(var(--mouse-y,0px) - 14px),
            40px
        )
        scale(1.055);
}


.fc-exhibit:hover .fc-exhibit-art{
    filter:
        drop-shadow(
            0 28px 24px
            rgba(0,0,0,.40)
        )
        drop-shadow(
            0 50px 42px
            rgba(0,0,0,.38)
        );
}


.fc-exhibit:hover .fc-exhibit-art::after{
    opacity:.62;
}


/* =========================================================
   LABEL
========================================================= */

.fc-exhibit-label{
    position:relative;

    left:auto;
    bottom:auto;

    width:100%;
    max-width:none;

    margin-top:13px;

    padding:0;

    background:none;
    border:0;

    backdrop-filter:none;

    text-align:center;

    opacity:0;

    transform:
        translateY(10px);

    pointer-events:none;

    transition:
        opacity .35s ease,
        transform .45s cubic-bezier(.16,1,.3,1);
}


.fc-exhibit:hover .fc-exhibit-label{
    opacity:1;

    transform:
        translateY(0);
}


.fc-exhibit-label span,
.fc-exhibit-label strong{
    display:block;
}


.fc-exhibit-number{
    margin-bottom:5px;

    font-family:"Inter",sans-serif;

    font-size:11px;

    letter-spacing:.22em;

    color:#d24338;
}


.fc-exhibit-label strong{
    font-family:"Playfair Display",serif;

    font-size:16px;

    font-weight:400;

    color:#fff3df;
}


.fc-exhibit-type{
    margin-top:5px;

    font-family:"Inter",sans-serif;

    font-size:11px;

    letter-spacing:.13em;

    color:rgba(255,255,255,.45);
}


.fc-exhibit-view{
    margin-top:8px;

    font-family:"Inter",sans-serif;

    font-size:11px;
    font-weight:700;

    letter-spacing:.16em;

    color:#fff;
}


/* =========================================================
   GIANT PROJECT NAME ON HOVER
========================================================= */

.fc-museum-ghost{
    position:absolute;
    inset:0;

    z-index:2;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    pointer-events:none;
}


.fc-museum-ghost-text{
    display:block;

    width:110%;

    text-align:center;

    font-family:"Playfair Display",serif;

    font-size:
        clamp(
            90px,
            11vw,
            220px
        );

    font-weight:400;

    line-height:.8;

    letter-spacing:-.06em;

    color:
        rgba(
            180,
            18,
            18,
            .065
        );

    opacity:0;

    transform:
        scale(.93);

    transition:
        opacity .4s ease,
        transform .7s cubic-bezier(.16,1,.3,1);
}


.fc-museum.is-project-active
.fc-museum-ghost-text{
    opacity:1;

    transform:scale(1);
}


/* =========================================================
   FOOTER STATEMENT
========================================================= */

.fc-museum-footer{
    position:relative;

    z-index:20;

    max-width:1760px;

    margin:
        34px auto
        0;

    padding-top:18px;

    border-top:
        1px solid
        rgba(255,255,255,.12);

    display:flex;

    align-items:center;
    justify-content:center;

    gap:28px;

    font-family:"Inter",sans-serif;

    font-size:11px;

    letter-spacing:.19em;
}


.fc-museum-footer span{
    color:
        rgba(
            255,
            255,
            255,
            .72
        );
}


.fc-museum-footer strong{
    color:#d6382e;

    font-weight:500;
}


.fc-museum-footer i{
    display:block;

    width:1px;
    height:17px;

    background:
        rgba(
            255,
            255,
            255,
            .3
        );
}


/* =========================================================
   LOAD-IN ANIMATIONS
========================================================= */

@keyframes fcMuseumIntro{

    from{
        opacity:0;

        transform:
            translateY(45px);
    }

    to{
        opacity:1;

        transform:
            translateY(0);
    }

}


@keyframes fcMuseumReveal{

    from{
        opacity:0;

        transform:
            translateY(50px)
            scale(.965);

        filter:blur(4px);
    }

    to{
        opacity:1;

        transform:
            translateY(0)
            scale(1);

        filter:blur(0);
    }

}


/* =========================================================
   TABLET
   3 ACROSS, THEN 2
========================================================= */

@media(max-width:1100px){

    .fc-museum{
        min-height:auto;

        padding:
            48px 24px
            64px;
    }


    .fc-museum::after{
        inset:14px;
    }


    .fc-museum-meta{
        margin-bottom:28px;
    }


    .fc-museum-intro{
        margin-bottom:40px;
    }


    .fc-museum-intro h2{
        font-size:
            clamp(
                58px,
                10vw,
                98px
            );

        white-space:normal;
    }


    .fc-exhibit{
        flex:
            0 0
            calc(33.333% - 14px);

        margin:
            0 21px
            38px 0;
    }


    .fc-exhibit:nth-of-type(3n){
        margin-right:0;
    }


    .fc-exhibit-art{
        height:360px;
    }


    /* On tablet there is no real hover,
       so keep the labels visible */

    .fc-exhibit-label{
        opacity:1;

        transform:none;
    }

}


/* =========================================================
   MOBILE — FEMME MINI GALLERY WALL
========================================================= */

@media(max-width:767px){

    .fc-museum{
        min-height:auto;

        padding:
            36px 16px
            48px;
    }


    .fc-museum::after{
        inset:8px;
    }


    /* -----------------------------------------
       TOP META
    ----------------------------------------- */

    .fc-museum-meta{
        margin-bottom:28px;

        font-size:11px;
        letter-spacing:.15em;
    }


    .fc-museum-meta span:last-child{
        display:none;
    }


    /* -----------------------------------------
       NORMAL MOBILE LAYOUT
       NO HORIZONTAL SCROLLER
    ----------------------------------------- */

    .fc-museum-inner{
        display:flex;

        flex-wrap:wrap;

        overflow:visible;

        gap:0;

        padding-bottom:0;
    }


    /* -----------------------------------------
       INTRO
    ----------------------------------------- */

    .fc-museum-intro{
        flex:0 0 100%;
        min-width:0;

        width:100%;

        margin:
            0 auto
            38px;

        padding:0 5px;

        text-align:center;
    }


    .fc-museum-kicker{
        margin-bottom:12px;

        font-size:11px;

        letter-spacing:.22em;
    }


    .fc-museum-intro h2{
        margin:0;

        font-size:
            clamp(
                48px,
                13.5vw,
                66px
            );

        line-height:.82;

        letter-spacing:-.06em;

        white-space:nowrap;
    }


    .fc-museum-script{
        margin-top:12px;

        font-size:32px;

        text-align:center;
    }


    .fc-museum-copy{
        max-width:290px;

        margin:
            24px auto
            20px;

        font-size:12px;
        line-height:1.7;

        text-align:center;
    }


    .fc-museum-all{
        width:150px;

        margin:0 auto;

        font-size:11px;
    }


    /* =====================================================
       TWO-COLUMN FRAME GALLERY
    ====================================================== */

    .fc-exhibit{
        flex:
            0 0
            calc(50% - 7px);

        width:
            calc(50% - 7px)
            !important;

        margin:
            0 14px
            32px 0
            !important;

        opacity:1;

        transform:none;

        scroll-snap-align:none;
    }


    /* right-hand frame */
    .fc-exhibit:nth-of-type(even){
        margin-right:0 !important;
    }


    /* -----------------------------------------
       SAME VISUAL FRAME AREA
    ----------------------------------------- */

    .fc-exhibit-art{
        width:100%;

        height:
            clamp(
                185px,
                53vw,
                260px
            );

        display:flex;

        align-items:center;
        justify-content:center;
    }


    .fc-exhibit-art img{
        width:100%;
        height:100%;

        object-fit:contain;
        object-position:center;
    }


    /* -----------------------------------------
       LAST FRAME CENTRED
    ----------------------------------------- */

    .fc-exhibit:last-of-type{
        margin-left:auto !important;
        margin-right:auto !important;
    }


    /* =====================================================
       PROJECT LABELS
       Visible on touch devices
    ====================================================== */

    .fc-exhibit-label{
        position:relative;

        width:100%;

        margin-top:8px;

        text-align:center;

        opacity:1;

        transform:none;
    }


    .fc-exhibit-number{
        margin-bottom:3px;

        font-size:10px;
    }


    .fc-exhibit-label strong{
        font-size:13px;

        line-height:1.1;
    }


    .fc-exhibit-type{
        margin-top:4px;

        font-size:10px;

        letter-spacing:.1em;
    }


    .fc-exhibit-view{
        margin-top:5px;

        font-size:10px;
    }


    /* no giant ghost words on phone */
    .fc-museum-ghost{
        display:none;
    }


    /* -----------------------------------------
       FOOTER
    ----------------------------------------- */

    .fc-museum-footer{
        width:100%;

        margin-top:8px;

        padding-top:16px;

        flex-direction:column;

        align-items:center;

        gap:6px;

        text-align:center;

        font-size:11px;
        line-height:1.5;

        letter-spacing:.15em;
    }


    .fc-museum-footer i{
        display:none;
    }

}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .fc-museum-intro,
    .fc-exhibit,
    .fc-museum-ghost-text{
        animation:none !important;

        transition:none !important;
    }


    .fc-exhibit{
        opacity:1 !important;

        transform:none !important;
    }

}

/* =========================================================
   THE COLLECTION / WEB SERVICES
========================================================= */

.fc-collection{
  --collection-ink:#050505;
  --collection-red:#870000;
  --collection-paper:#f3eee7;
  --collection-line:rgba(5,5,5,.18);

  position:relative;
  width:100%;
  overflow:hidden;

  background:var(--collection-paper);
  color:var(--collection-ink);

  padding:42px 0 30px;
}

.fc-collection-inner{
  width:min(94%,1800px);
  margin:0 auto;
}


/* =========================================================
   ARCHIVE META
========================================================= */

.fc-collection-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;

  padding-bottom:28px;

  border-bottom:1px solid var(--collection-line);

  font-family:var(--sans);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;

  opacity:.55;
}


/* =========================================================
   INTRO
========================================================= */

.fc-collection-intro{
  min-height:480px;

  display:grid;
  grid-template-columns:1.45fr .55fr;
  align-items:end;
  gap:80px;

  padding:60px 0 72px;
}

.fc-collection-kicker{
  display:block;

  margin-bottom:20px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;

  color:var(--collection-red);
}

.fc-collection-title{
  margin:0;

  font-family:var(--serif);
  font-size:clamp(100px,10vw,190px);
  line-height:.69;
  font-weight:500;
  letter-spacing:-.07em;
}

.fc-collection-title span{
  color:var(--collection-red);
}

.fc-collection-intro-copy{
  align-self:center;

  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:48px;

  padding-top:70px;
}

.fc-collection-intro-copy p{
  margin:0;

  font-family:var(--serif);
  font-size:clamp(34px,3.2vw,62px);
  line-height:.9;
  letter-spacing:-.035em;
}

.fc-collection-intro-copy em{
  color:var(--collection-red);
  font-weight:400;
}

.fc-collection-edition{
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;

  opacity:.5;
}


/* =========================================================
   EXHIBIT LIST
========================================================= */

.fc-collection-list{
  border-top:1px solid var(--collection-ink);
}

.fc-collection-item{
  position:relative;

  min-height:170px;

  display:grid;
  grid-template-columns:80px minmax(300px,1.1fr) minmax(260px,.7fr) 120px;
  align-items:center;
  gap:36px;

  padding:25px 18px;

  border-bottom:1px solid var(--collection-line);

  color:var(--collection-ink);
  text-decoration:none;

  isolation:isolate;
  overflow:hidden;

  transition:
    color .45s cubic-bezier(.16,1,.3,1),
    padding .45s cubic-bezier(.16,1,.3,1);
}


/* burgundy museum reveal */

.fc-collection-reveal{
  position:absolute;
  inset:0;

  z-index:-1;

  background:
    radial-gradient(
      circle at 78% 50%,
      rgba(130,25,20,.95),
      transparent 32%
    ),
    linear-gradient(
      90deg,
      #350000,
      #650707 60%,
      #3d0000
    );

  transform:scaleY(0);
  transform-origin:bottom;

  transition:
    transform .6s cubic-bezier(.16,1,.3,1);
}

.fc-collection-reveal::after{
  content:"";

  position:absolute;
  inset:10px;

  border:1px solid rgba(239,230,220,.15);

  pointer-events:none;
}

.fc-collection-reveal-inner{
  position:absolute;
  right:10%;
  top:50%;

  width:360px;

  transform:translateY(-50%);

  display:flex;
  flex-direction:column;

  color:#efe6dc;

  opacity:0;

  transition:
    opacity .3s ease,
    transform .55s cubic-bezier(.16,1,.3,1);

  translate:40px 0;
}

.fc-collection-reveal-inner span{
  margin-bottom:10px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
}

.fc-collection-reveal-inner strong{
  font-family:var(--serif);
  font-size:55px;
  line-height:.85;
  font-weight:500;
  letter-spacing:-.055em;
}

.fc-collection-reveal-inner em{
  margin-top:12px;

  font-family:var(--serif);
  font-size:18px;

  color:#d8aaa1;
}


/* =========================================================
   ITEM CONTENT
========================================================= */

.fc-collection-number{
  align-self:start;

  padding-top:12px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;

  opacity:.45;

  transition:
    opacity .3s ease,
    transform .45s cubic-bezier(.16,1,.3,1);
}

.fc-collection-name{
  position:relative;
  z-index:2;
}

.fc-collection-small{
  display:block;

  margin-bottom:8px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;

  color:var(--collection-red);

  transition:color .35s ease;
}

.fc-collection-name h3{
  margin:0;

  font-family:var(--serif);
  font-size:clamp(42px,4.6vw,86px);
  line-height:.82;
  font-weight:500;
  letter-spacing:-.055em;

  transition:
    transform .55s cubic-bezier(.16,1,.3,1),
    letter-spacing .55s cubic-bezier(.16,1,.3,1);
}

.fc-collection-description{
  position:relative;
  z-index:2;

  max-width:390px;
  margin:0;

  font-family:var(--sans);
  font-size:12px;
  line-height:1.65;
  font-weight:500;

  opacity:.62;

  transition:
    opacity .3s ease,
    transform .45s cubic-bezier(.16,1,.3,1);
}

.fc-collection-action{
  position:relative;
  z-index:2;

  justify-self:end;

  display:flex;
  align-items:center;
  gap:18px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;

  transition:transform .45s cubic-bezier(.16,1,.3,1);
}

.fc-collection-action i{
  font-family:var(--serif);
  font-size:28px;
  font-style:normal;
  font-weight:400;
}


/* =========================================================
   DESKTOP HOVER
========================================================= */

@media(min-width:901px){

  .fc-collection-item:hover{
    color:#efe6dc;
    padding-left:32px;
    padding-right:32px;
  }

  .fc-collection-item:hover .fc-collection-reveal{
    transform:scaleY(1);
  }

  .fc-collection-item:hover .fc-collection-number{
    opacity:.7;
    transform:translateX(5px);
  }

  .fc-collection-item:hover .fc-collection-small{
    color:#e5483e;
  }

  .fc-collection-item:hover .fc-collection-name h3{
    transform:translateX(16px);
    letter-spacing:-.04em;
  }

  /*
   Hide explanatory copy so the huge reveal on the
   right becomes the museum label.
  */
  .fc-collection-item:hover .fc-collection-description{
    opacity:0;
    transform:translateX(-15px);
  }

  .fc-collection-item:hover .fc-collection-action{
    transform:translateX(8px);
  }

  .fc-collection-item:hover .fc-collection-reveal-inner{
    opacity:1;
    translate:0 0;
  }

}


/* =========================================================
   BOTTOM CAPTION
========================================================= */

.fc-collection-footer{
  min-height:100px;

  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  gap:30px;

  padding-top:38px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.fc-collection-footer > span{
  opacity:.45;
}

.fc-collection-footer > span:last-child{
  text-align:right;
}

.fc-collection-footer p{
  margin:0;
  text-align:center;

  opacity:.55;
}

.fc-collection-footer strong{
  margin-left:10px;

  color:var(--collection-red);
  font-weight:800;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  .fc-collection-intro{
    min-height:390px;

    grid-template-columns:1.2fr .8fr;

    gap:45px;
  }

  .fc-collection-item{
    grid-template-columns:55px 1.15fr .75fr 90px;

    gap:22px;
  }

  .fc-collection-name h3{
    font-size:clamp(38px,5vw,60px);
  }

  .fc-collection-description{
    font-size:12px;
  }

}


/* =========================================================
   MOBILE — SCROLLABLE EXHIBITION CATALOGUE
========================================================= */

@media(max-width:767px){

  .fc-collection{
    padding:24px 0 20px;
  }

  .fc-collection-inner{
    width:92%;
  }

  .fc-collection-meta{
    padding-bottom:18px;

    font-size:11px;
    letter-spacing:.16em;
  }

  .fc-collection-meta span:last-child{
    display:none;
  }


  /* INTRO */

  .fc-collection-intro{
    min-height:0;

    display:block;

    padding:55px 0 58px;
  }

  .fc-collection-kicker{
    margin-bottom:17px;

    font-size:11px;
  }

  .fc-collection-title{
    font-size:clamp(76px,23vw,110px);
    line-height:.73;
  }

  .fc-collection-intro-copy{
    padding:42px 0 0;

    gap:24px;
  }

  .fc-collection-intro-copy p{
    font-size:30px;
  }


  /* EACH EXHIBIT */

  .fc-collection-item{
    min-height:0;

    display:grid;
    grid-template-columns:34px 1fr auto;

    gap:10px 12px;

    padding:30px 0;

    overflow:visible;
  }

  .fc-collection-number{
    grid-column:1;
    grid-row:1;

    padding-top:7px;

    font-size:11px;
  }

  .fc-collection-name{
    grid-column:2 / 4;
    grid-row:1;
  }

  .fc-collection-small{
    font-size:11px;
  }

  .fc-collection-name h3{
    max-width:95%;

    font-size:clamp(39px,12vw,58px);
    line-height:.86;
  }

  .fc-collection-description{
    grid-column:2 / 4;
    grid-row:2;

    max-width:90%;

    margin-top:8px;

    font-size:12px;
    line-height:1.55;
  }

  .fc-collection-action{
    grid-column:2 / 4;
    grid-row:3;

    justify-self:start;

    margin-top:12px;

    gap:12px;

    font-size:11px;
  }

  .fc-collection-action i{
    font-size:21px;
  }

  /*
   No hover-dependent information on mobile.
   Burgundy reveal becomes a tiny accent strip.
  */

  .fc-collection-reveal{
    inset:auto auto 0 34px;

    width:44px;
    height:2px;

    z-index:1;

    background:var(--collection-red);

    transform:none;
  }

  .fc-collection-reveal::after,
  .fc-collection-reveal-inner{
    display:none;
  }


  /* FOOTER */

  .fc-collection-footer{
    min-height:80px;

    grid-template-columns:1fr auto;

    gap:20px;

    padding-top:25px;

    font-size:10px;
  }

  .fc-collection-footer p{
    display:none;
  }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media(prefers-reduced-motion:reduce){

  .fc-collection-item,
  .fc-collection-reveal,
  .fc-collection-reveal-inner,
  .fc-collection-number,
  .fc-collection-name h3,
  .fc-collection-description,
  .fc-collection-action{
    transition:none !important;
  }

}

/* =========================================================
   THE COLLECTION — WHITE / COMPACT VERSION
========================================================= */

.fc-collection{
  --collection-paper:#ffffff;
  background:#ffffff !important;

  padding:28px 0 20px !important;
}


/* archive line */
.fc-collection-meta{
  padding-bottom:18px !important;
}


/* =========================================================
   INTRO — MUCH SHORTER
========================================================= */

.fc-collection-intro{
  min-height:0 !important;

  grid-template-columns:1.35fr .65fr !important;
  align-items:center !important;

  gap:60px !important;

  padding:45px 0 50px !important;
}


.fc-collection-kicker{
  margin-bottom:14px !important;
}


/* THE COLLECTION */
.fc-collection-title{
  font-size:clamp(76px,7.5vw,135px) !important;
  line-height:.72 !important;
}


/* right hand statement */
.fc-collection-intro-copy{
  align-self:center !important;

  gap:28px !important;

  padding-top:20px !important;
}


.fc-collection-intro-copy p{
  font-size:clamp(28px,2.5vw,46px) !important;
  line-height:.92 !important;
}


/* =========================================================
   SERVICE ROWS — TIGHTER
========================================================= */

.fc-collection-item{
  min-height:125px !important;

  grid-template-columns:
    55px
    minmax(300px,1.15fr)
    minmax(260px,.65fr)
    90px !important;

  gap:28px !important;

  padding:18px 12px !important;
}


.fc-collection-number{
  padding-top:8px !important;
}


/* service names */
.fc-collection-name h3{
  font-size:clamp(36px,3.7vw,66px) !important;
  line-height:.84 !important;
}


/* little red labels */
.fc-collection-small{
  margin-bottom:6px !important;

  font-size:6.5px !important;
}


/* descriptions */
.fc-collection-description{
  max-width:350px !important;

  font-size:12px !important;
  line-height:1.55 !important;
}


/* explore */
.fc-collection-action{
  gap:12px !important;

  font-size:8px !important;
}

.fc-collection-action i{
  font-size:22px !important;
}


/* =========================================================
   HOVER — KEEP THE COOL BURGUNDY MOMENT
========================================================= */

@media(min-width:901px){

  .fc-collection-item:hover{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .fc-collection-reveal-inner{
    width:300px !important;
  }

  .fc-collection-reveal-inner strong{
    font-size:44px !important;
  }

}


/* =========================================================
   BOTTOM ARCHIVE LINE
========================================================= */

.fc-collection-footer{
  min-height:70px !important;

  padding-top:24px !important;
}


/* =========================================================
   THE COLLECTION — MOBILE REDESIGN
========================================================= */

@media(max-width:767px){

  .fc-collection{
    background:#fff !important;

    padding:
      26px 0
      34px !important;
  }


  .fc-collection-inner{
    width:91% !important;

    margin:0 auto;
  }


  /* -----------------------------------------
     ARCHIVE LINE
  ----------------------------------------- */

  .fc-collection-meta{
    margin:0;

    padding-bottom:14px !important;

    border-bottom:
      1px solid
      rgba(5,5,5,.14);

    font-size:5.5px !important;
    letter-spacing:.14em !important;
  }


  .fc-collection-meta span:last-child{
    display:none;
  }


  /* -----------------------------------------
     INTRO
  ----------------------------------------- */

  .fc-collection-intro{
    min-height:0 !important;

    display:block !important;

    padding:
      38px 0
      36px !important;
  }


  .fc-collection-kicker{
    margin-bottom:12px !important;

    font-size:8px !important;
    letter-spacing:.18em !important;
  }


  .fc-collection-title{
    margin:0;

    font-size:
      clamp(
        48px,
        14vw,
        66px
      ) !important;

    line-height:.78 !important;

    letter-spacing:-.06em !important;
  }


  .fc-collection-intro-copy{
    padding-top:24px !important;

    gap:12px !important;
  }


  .fc-collection-intro-copy p{
    margin:0;

    font-size:24px !important;
    line-height:.92 !important;

    max-width:270px;
  }


  .fc-collection-edition{
    font-size:7.5px !important;
  }


  /* -----------------------------------------
     SERVICE LIST
  ----------------------------------------- */

  .fc-collection-list{
    border-top:
      1px solid
      #050505;
  }


  .fc-collection-item{
    position:relative;

    display:block !important;

    width:100% !important;

    min-height:0 !important;

    padding:
      24px 0
      26px !important;

    border-bottom:
      1px solid
      rgba(5,5,5,.14);

    overflow:visible !important;
  }


  /* small number */
  .fc-collection-number{
    display:block;

    margin-bottom:10px;

    padding:0 !important;

    font-size:7px !important;
    letter-spacing:.17em !important;

    opacity:.48;
  }


  /* tiny red descriptor */
  .fc-collection-small{
    display:block;

    margin-bottom:7px !important;

    font-size:7.5px !important;

    letter-spacing:.18em !important;

    color:#870000;
  }


  /* service title */
  .fc-collection-name h3{
    margin:0;

    max-width:100% !important;

    font-size:
      clamp(
        34px,
        10vw,
        46px
      ) !important;

    line-height:.88 !important;

    letter-spacing:-.045em !important;

    overflow-wrap:normal;
    word-break:normal;
  }


  /* prevent weird clipping */
  .fc-collection-name{
    width:100%;
  }


  /* description */
  .fc-collection-description{
    display:block !important;

    max-width:300px !important;

    margin:
      14px 0
      0 !important;

    font-size:11px !important;

    line-height:1.55 !important;

    opacity:.65 !important;

    transform:none !important;
  }


  /* explore link */
  .fc-collection-action{
    display:flex !important;

    justify-content:flex-start !important;

    align-items:center;

    width:max-content;

    margin-top:16px !important;

    gap:12px !important;

    font-size:8px !important;

    letter-spacing:.15em !important;

    transform:none !important;
  }


  .fc-collection-action i{
    font-size:18px !important;
  }


  /* -----------------------------------------
     REMOVE DESKTOP HOVER PANEL ON MOBILE
  ----------------------------------------- */

  .fc-collection-reveal{
    display:none !important;
  }


  /* -----------------------------------------
     SMALL RED ACCENT LINE
  ----------------------------------------- */

  .fc-collection-item::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-1px;

    width:36px;
    height:2px;

    background:#870000;
  }


  /* -----------------------------------------
     FOOTER
  ----------------------------------------- */

  .fc-collection-footer{
    min-height:0 !important;

    display:flex !important;

    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding-top:20px !important;

    font-size:5px !important;
  }


  .fc-collection-footer p{
    display:none;
  }

}

/* =========================================================
   COLLECTION HOVER — KEEP TITLE ON ONE LINE
========================================================= */

.fc-collection-reveal-inner{
  width:auto !important;
  min-width:420px !important;
  max-width:none !important;
}

.fc-collection-reveal-inner strong{
  display:block !important;

  white-space:nowrap !important;

  font-size:clamp(34px, 2.6vw, 52px) !important;
  line-height:.82 !important;
  letter-spacing:-.045em !important;
}

/* Keep the arrow beside the title */
.fc-collection-reveal-inner strong br{
  display:none !important;
}

/* Give subtitle enough breathing room */
.fc-collection-reveal-inner em{
  display:block !important;
  margin-top:10px !important;

  line-height:1 !important;
  white-space:nowrap !important;
}

/* =========================================================
   COLLECTION — CLEAN EDITORIAL EXPLORE ARROW
========================================================= */

.fc-collection-action i{
  font-size:0 !important;
  width:18px;
  height:18px;

  position:relative;
  display:inline-block;
  flex:0 0 18px;
}

/* diagonal stem */
.fc-collection-action i::before{
  content:"";

  position:absolute;

  width:11px;
  height:1px;

  background:currentColor;

  left:2px;
  top:10px;

  transform:rotate(-45deg);
  transform-origin:center;
}

/* arrow head */
.fc-collection-action i::after{
  content:"";

  position:absolute;

  width:6px;
  height:6px;

  border-top:1px solid currentColor;
  border-right:1px solid currentColor;

  right:2px;
  top:3px;
}

/* =========================================================
   COLLECTION — PRICING
========================================================= */

.fc-collection-details{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;
}


.fc-collection-price{
  flex:0 0 auto;

  min-width:120px;

  text-align:right;
}


.fc-collection-price span{
  display:block;

  margin-bottom:4px;

  font-family:var(--sans);

  font-size:10px;

  font-weight:800;

  letter-spacing:.17em;

  text-transform:uppercase;

  color:#870000;
}


.fc-collection-price strong{
  display:block;

  font-family:var(--serif);

  font-size:18px;

  line-height:1;

  font-weight:500;

  color:#050505;
}


.fc-collection-price small{
  display:block;

  margin-top:5px;

  font-family:var(--sans);

  font-size:10px;

  line-height:1.3;

  letter-spacing:.08em;

  color:rgba(5,5,5,.48);
}


/* =========================================================
   HOVER
========================================================= */

@media(min-width:901px){

  .fc-collection-item:hover
  .fc-collection-price{
    opacity:0;

    transform:translateX(-10px);

    transition:
      opacity .25s ease,
      transform .35s ease;
  }

}


/* =========================================================
   REVEAL PRICE TREATMENT
========================================================= */

.fc-collection-reveal-inner small{
  display:block;

  margin-top:8px;

  font-family:var(--sans);

  font-size:11px;

  line-height:1.3;

  letter-spacing:.08em;

  color:rgba(255,255,255,.55);
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .fc-collection-details{
    display:block;
  }


  .fc-collection-price{
    margin-top:14px;

    text-align:left;
  }


  .fc-collection-price span{
    margin-bottom:4px;

    font-size:11px;
  }


  .fc-collection-price strong{
    font-size:18px;
  }


  .fc-collection-price small{
    font-size:11px;
  }

}

/* =========================================================
   PERSPECTIVE STUDY / 05
========================================================= */

.fc-perspective{
  position:relative;

  width:100%;
  height:100vh;

  background:#050505;
}


/* =========================================================
   STICKY VIEWPORT
========================================================= */

.fc-perspective-sticky{
  position:sticky;

  top:0;

  width:100%;
  height:100vh;

  overflow:hidden;

  background:#050505;

  isolation:isolate;
}


/* =========================================================
   IMAGE / PICTURE
========================================================= */

.fc-perspective-picture{
  position:absolute;

  inset:0;

  z-index:1;

  display:block;

  width:100%;
  height:100%;

  transform:scale(1.25);

  transform-origin:center center;

  will-change:transform;
}


.fc-perspective-image{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  object-position:center center;
}


/* subtle editorial wash */

.fc-perspective-sticky::after{
  content:"";

  position:absolute;

  inset:0;

  z-index:2;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.04) 0%,
      transparent 25%,
      transparent 75%,
      rgba(0,0,0,.08) 100%
    );
}


/* =========================================================
   TEXT
========================================================= */

.fc-perspective-overlay{
  position:absolute;

  z-index:5;

  left:50%;
  top:49%;

  transform:translate(-50%,-50%);

  width:min(520px,46vw);

  text-align:center;

  color:#050505;

  pointer-events:none;
}


.fc-perspective-kicker{
  display:block;

  margin-bottom:12px;

  font-family:var(--sans);

  font-size:11px;

  font-weight:800;

  letter-spacing:.2em;

  text-transform:uppercase;

  color:rgba(5,5,5,.58);
}


.fc-perspective-overlay h2{
  margin:0;

  font-family:var(--serif);

  font-size:clamp(52px,4.6vw,86px);

  line-height:.75;

  font-weight:500;

  letter-spacing:-.055em;

  color:#670505;
}


.fc-perspective-overlay p{
  margin:20px 0 0;

  font-family:var(--serif);

  font-size:clamp(17px,1.4vw,24px);

  line-height:1;

  font-style:italic;

  color:#050505;
}


.fc-perspective-overlay p em{
  color:#670505;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media(min-width:1400px){

  .fc-perspective-overlay{
    width:min(540px,42vw);
  }

  .fc-perspective-overlay h2{
    font-size:clamp(58px,4.8vw,92px);
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(min-width:768px) and (max-width:1100px){

  .fc-perspective{
    height:100vh;
  }


  .fc-perspective-overlay{
    width:54vw;

    top:49%;
  }


  .fc-perspective-kicker{
    font-size:10px;
  }


  .fc-perspective-overlay h2{
    font-size:clamp(44px,6vw,64px);

    line-height:.77;
  }


  .fc-perspective-overlay p{
    margin-top:16px;

    font-size:16px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  /* same height as the sticky picture inside it, or the difference shows as a black band */
  .fc-perspective{
    height:100vh;
    height:100svh;
  }


  .fc-perspective-sticky{
    height:100svh;
  }


  .fc-perspective-picture{
    transform:scale(1.20);

    transform-origin:center center;
  }


  .fc-perspective-image{
    object-fit:cover;

    object-position:center center;
  }


  .fc-perspective-overlay{
    width:61vw;

    top:47%;
  }


  .fc-perspective-kicker{
    margin-bottom:8px;

    font-size:10px;

    letter-spacing:.13em;
  }


  .fc-perspective-overlay h2{
    font-size:clamp(32px,8.4vw,40px);

    line-height:.78;

    letter-spacing:-.045em;
  }


  .fc-perspective-overlay p{
    margin-top:12px;

    font-size:13px;

    line-height:1.02;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .fc-perspective-overlay{
    width:63vw;
  }


  .fc-perspective-overlay h2{
    font-size:30px;
  }


  .fc-perspective-overlay p{
    font-size:12px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .fc-perspective-picture,
  .fc-perspective-overlay{
    transform:none !important;
  }

}

/* Legacy duplicate museum gallery CSS removed — superseded by .fc-home-work namespace. */

/* =========================================================
   WEBSITE AUDIT COLLISION PROTECTION

   Your audit section also uses fc-museum-* names,
   so keep this here to prevent the Selected Work
   styles affecting its colours.
========================================================= */

.fc-museum-audit{
  color:#050505 !important;
}


.fc-museum-audit .fc-museum-copy{
  color:#050505 !important;
}


.fc-museum-audit .fc-museum-kicker{
  color:#670505 !important;
}


.fc-museum-audit .fc-museum-copy h2{
  color:#050505 !important;
}


.fc-museum-audit .fc-museum-copy h2 em{
  color:#670505 !important;
}


.fc-museum-audit .fc-museum-description{
  color:rgba(5,5,5,.68) !important;
}

/* =========================================================
   HOMEPAGE — SELECTED WORK / GALLERY WALL
   COMPLETE REPLACEMENT
========================================================= */

.fc-home-work{
  position:relative;

  width:100%;

  overflow:hidden;

  background:
    url("/wp-content/uploads/2026/08/Background-Museum.png")
    center center / cover no-repeat;

  color:#050505;
}


/* soft gallery wash */
.fc-home-work::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;

  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(239,230,220,.08),
      rgba(239,230,220,0) 48%,
      rgba(239,230,220,.06)
    );
}


/* =========================================================
   INNER
========================================================= */

.fc-home-work__inner{
  position:relative;

  z-index:2;

  width:min(1600px,calc(100% - 90px));

  margin:0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.fc-home-work__intro{
  position:relative;
}


.fc-home-work__eyebrow{
  display:block;

  margin:0 0 15px;

  font-family:var(--sans,"Inter",sans-serif);

  font-size:11px;

  font-weight:700;

  letter-spacing:.26em;

  text-transform:uppercase;

  color:#050505;
}


.fc-home-work__title{
  margin:0;

  font-family:var(--serif,"Playfair Display",serif);

  font-weight:400;

  letter-spacing:-.06em;

  color:#050505;
}


.fc-home-work__title em{
  display:block;

  font-style:italic;

  font-weight:400;

  color:#870000;
}


.fc-home-work__intro-copy{
  max-width:285px;
}


.fc-home-work__intro-copy p{
  margin:0 0 20px;

  font-family:var(--sans,"Inter",sans-serif);

  line-height:1.55;

  color:rgba(5,5,5,.68);
}


/* =========================================================
   LINKS
========================================================= */

.fc-home-work__main-link,
.fc-home-work__project-link{
  display:inline-flex;

  align-items:center;

  gap:12px;

  font-family:var(--sans,"Inter",sans-serif);

  font-weight:700;

  letter-spacing:.12em;

  text-transform:uppercase;

  text-decoration:none;

  color:#050505;
}


.fc-home-work__main-link span,
.fc-home-work__project-link span{
  position:relative;

  padding-bottom:5px;
}


.fc-home-work__main-link span::after,
.fc-home-work__project-link span::after{
  content:"";

  position:absolute;

  left:0;
  bottom:0;

  width:100%;
  height:1px;

  background:currentColor;

  transform-origin:left;

  transition:transform .35s ease;
}


.fc-home-work__main-link:hover span::after,
.fc-home-work__project-link:hover span::after{
  transform:scaleX(.55);
}


.fc-home-work__main-link i,
.fc-home-work__project-link i{
  font-style:normal;
}


/* =========================================================
   ARTWORK
========================================================= */

.fc-home-work__art{
  display:block;

  width:100%;

  text-decoration:none;

  transition:
    transform .55s
    cubic-bezier(.16,1,.3,1);
}


.fc-home-work__art:hover{
  transform:translateY(-6px);
}


.fc-home-work__art img{
  display:block;

  width:100%;
  height:100%;

  object-fit:contain;

  filter:
    drop-shadow(
      0 15px 20px
      rgba(35,20,8,.10)
    );
}


/* =========================================================
   LABELS
========================================================= */

.fc-home-work__label{
  color:#050505;
}


.fc-home-work__number{
  display:block;

  margin-bottom:3px;

  font-family:var(--serif,"Playfair Display",serif);

  font-weight:400;
}


.fc-home-work__label h3{
  margin:0 0 3px;

  font-family:var(--serif,"Playfair Display",serif);

  font-weight:400;

  text-transform:uppercase;
}


.fc-home-work__label p{
  margin:0 0 8px;

  font-family:var(--sans,"Inter",sans-serif);

  font-style:italic;

  color:rgba(5,5,5,.55);
}


/* =========================================================
   DESKTOP — ONE VIEWPORT GALLERY WALL
========================================================= */

@media(min-width:1101px){

  .fc-home-work{
    min-height:calc(100vh - 78px);

    display:flex;

    align-items:center;
  }


  .fc-home-work__inner{
    padding:
      clamp(26px,3.5vh,42px)
      0;

    display:grid;

    grid-template-columns:
      minmax(300px,.54fr)
      minmax(760px,1.46fr);

    gap:
      clamp(30px,4vw,70px);

    align-items:center;
  }


  /* -----------------------------------------
     LEFT TEXT
  ----------------------------------------- */

  .fc-home-work__intro{
    width:100%;

    max-width:365px;

    justify-self:end;

    padding:
      24px
      26px
      27px;

    background:
      rgba(239,230,220,.32);

    backdrop-filter:blur(2px);
  }


  .fc-home-work__title{
    font-size:
      clamp(
        54px,
        4.15vw,
        76px
      );

    line-height:.82;
  }


  .fc-home-work__title em{
    margin-top:4px;
  }


  .fc-home-work__intro-copy{
    margin-top:20px;
  }


  .fc-home-work__intro-copy p{
    font-size:12px;
  }


  .fc-home-work__main-link{
    font-size:10px;
  }


  /* =====================================================
     RIGHT GALLERY — 2 x 2
  ===================================================== */

  .fc-home-work__gallery{
    height:min(78vh,710px);

    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    grid-template-rows:
      repeat(2,minmax(0,1fr));

    column-gap:
      clamp(26px,3vw,50px);

    row-gap:
      clamp(12px,1.8vh,22px);

    align-items:center;
  }


  /* =====================================================
     PROJECT = FRAME + TEXT BESIDE IT
  ===================================================== */

  .fc-home-work__project{
    min-width:0;

    display:grid;

    grid-template-columns:
      minmax(170px,1fr)
      minmax(105px,.42fr);

    align-items:center;

    column-gap:
      clamp(12px,1.4vw,22px);

    margin:0 !important;
  }


  /* reset all old positioning */
  .fc-home-work__project--anything,
  .fc-home-work__project--natz,
  .fc-home-work__project--base,
  .fc-home-work__project--security{
    width:100% !important;

    margin:0 !important;

    justify-self:stretch;

    align-self:center;
  }


  /* placement */
  .fc-home-work__project--anything{
    grid-column:1;
    grid-row:1;
  }


  .fc-home-work__project--security{
    grid-column:2;
    grid-row:1;
  }


  .fc-home-work__project--natz{
    grid-column:1;
    grid-row:2;
  }


  .fc-home-work__project--base{
    grid-column:2;
    grid-row:2;
  }


  /* =====================================================
     BIGGER FRAMES
  ===================================================== */

  .fc-home-work__art{
    width:100% !important;

    height:
      clamp(
        230px,
        31vh,
        325px
      );

    margin:0 !important;

    display:flex;

    align-items:center;
    justify-content:center;
  }


  .fc-home-work__art img{
    width:100%;

    height:100%;

    object-fit:contain;
  }


  /* Marketplace no longer dominates */
  .fc-home-work__project--anything .fc-home-work__art,
  .fc-home-work__project--natz .fc-home-work__art,
  .fc-home-work__project--base .fc-home-work__art,
  .fc-home-work__project--security .fc-home-work__art{
    width:100% !important;

    margin:0 !important;
  }


  /* =====================================================
     TEXT BESIDE ART
  ===================================================== */

  .fc-home-work__label,
  .fc-home-work__project--anything .fc-home-work__label,
  .fc-home-work__project--natz .fc-home-work__label,
  .fc-home-work__project--base .fc-home-work__label,
  .fc-home-work__project--security .fc-home-work__label{
    width:100% !important;

    margin:0 !important;

    align-self:center;
  }


  .fc-home-work__number{
    font-size:14px;
  }


  .fc-home-work__label h3{
    font-size:12px;

    line-height:1.05;
  }


  .fc-home-work__label p{
    font-size:11px;

    line-height:1.35;
  }


  .fc-home-work__project-link{
    gap:8px;

    font-size:10px;
  }


  /* =====================================================
     SUBTLE SALON-WALL STAGGER
  ===================================================== */

  .fc-home-work__project--anything{
    transform:translateY(-9px);
  }


  .fc-home-work__project--security{
    transform:translateY(-3px);
  }


  .fc-home-work__project--natz{
    transform:translateY(8px);
  }


  .fc-home-work__project--base{
    transform:translateY(13px);
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(min-width:768px) and (max-width:1100px){

  .fc-home-work__inner{
    width:min(900px,calc(100% - 48px));

    padding:65px 0 85px;
  }


  .fc-home-work__intro{
    max-width:620px;

    margin-bottom:55px;
  }


  .fc-home-work__title{
    font-size:
      clamp(
        62px,
        9vw,
        88px
      );

    line-height:.84;
  }


  .fc-home-work__intro-copy{
    margin-top:24px;
  }


  .fc-home-work__gallery{
    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:
      60px
      42px;
  }


  .fc-home-work__project{
    width:100% !important;

    margin:0 !important;
  }


  .fc-home-work__art{
    width:100% !important;

    height:330px;

    margin:0 !important;
  }


  .fc-home-work__label{
    width:100% !important;

    margin-top:12px !important;
  }


  .fc-home-work__number{
    font-size:18px;
  }


  .fc-home-work__label h3{
    font-size:14px;
  }


  .fc-home-work__label p{
    font-size:11px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

  .fc-home-work{
    background-position:center top;

    background-size:auto 100%;
  }


  .fc-home-work__inner{
    width:calc(100% - 30px);

    padding:
      52px
      0
      70px;
  }


  .fc-home-work__intro{
    margin-bottom:45px;
  }


  .fc-home-work__eyebrow{
    font-size:11px;
  }


  .fc-home-work__title{
    max-width:330px;

    font-size:
      clamp(
        50px,
        15vw,
        68px
      );

    line-height:.84;
  }


  .fc-home-work__intro-copy{
    max-width:285px;

    margin-top:22px;
  }


  .fc-home-work__intro-copy p{
    font-size:11px;
  }


  /* two artworks across on mobile */
  .fc-home-work__gallery{
    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:
      42px
      16px;
  }


  .fc-home-work__project,
  .fc-home-work__project--anything,
  .fc-home-work__project--natz,
  .fc-home-work__project--base,
  .fc-home-work__project--security{
    width:100% !important;

    margin:0 !important;
  }


  .fc-home-work__art,
  .fc-home-work__project--anything .fc-home-work__art,
  .fc-home-work__project--natz .fc-home-work__art,
  .fc-home-work__project--base .fc-home-work__art,
  .fc-home-work__project--security .fc-home-work__art{
    width:100% !important;

    height:
      clamp(
        190px,
        55vw,
        270px
      );

    margin:0 !important;
  }


  .fc-home-work__label,
  .fc-home-work__project--anything .fc-home-work__label,
  .fc-home-work__project--natz .fc-home-work__label,
  .fc-home-work__project--base .fc-home-work__label,
  .fc-home-work__project--security .fc-home-work__label{
    width:100% !important;

    margin:
      8px
      0
      0 !important;
  }


  .fc-home-work__number{
    font-size:13px;
  }


  .fc-home-work__label h3{
    font-size:12px;
  }


  .fc-home-work__label p{
    font-size:11px;
  }


  .fc-home-work__project-link{
    font-size:10px;
  }

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media(max-width:420px){

  .fc-home-work__inner{
    width:calc(100% - 24px);
  }


  .fc-home-work__title{
    font-size:
      clamp(
        46px,
        14vw,
        58px
      );
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .fc-home-work__art,
  .fc-home-work__main-link span::after,
  .fc-home-work__project-link span::after{
    transition:none;
  }

}

/* =========================================================
   HOME GALLERY — FINAL DESKTOP TUNING
   Bigger frames + no heading box
========================================================= */

@media(min-width:1101px){

  /* -----------------------------------------
     REMOVE HEADING PANEL
  ----------------------------------------- */

  .fc-home-work__intro{
    background:transparent !important;
    backdrop-filter:none !important;

    padding:0 !important;

    max-width:390px !important;
  }


  .fc-home-work__title{
    font-size:
      clamp(
        62px,
        4.8vw,
        88px
      ) !important;

    line-height:.81 !important;
  }


  .fc-home-work__intro-copy{
    max-width:300px !important;

    margin-top:22px !important;
  }


  /* -----------------------------------------
     GIVE MORE WIDTH TO THE ART WALL
  ----------------------------------------- */

  .fc-home-work__inner{
    width:min(1680px,calc(100% - 70px)) !important;

    grid-template-columns:
      minmax(290px,.46fr)
      minmax(900px,1.54fr) !important;

    gap:
      clamp(24px,3vw,52px) !important;
  }


  /* -----------------------------------------
     GALLERY
  ----------------------------------------- */

  .fc-home-work__gallery{
    height:min(82vh,760px) !important;

    column-gap:
      clamp(22px,2.4vw,38px) !important;

    row-gap:
      clamp(8px,1vh,14px) !important;
  }


  /* -----------------------------------------
     FRAME + LABEL LAYOUT
  ----------------------------------------- */

  .fc-home-work__project{
    grid-template-columns:
      minmax(220px,1.25fr)
      minmax(115px,.40fr) !important;

    column-gap:
      clamp(10px,1vw,18px) !important;
  }


  /* -----------------------------------------
     MUCH BIGGER ARTWORK
  ----------------------------------------- */

  .fc-home-work__art{
    height:
      clamp(
        280px,
        35vh,
        390px
      ) !important;
  }


  .fc-home-work__art img{
    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
  }


  /* give the square-ish ones even more presence */
  .fc-home-work__project--anything .fc-home-work__art{
    height:
      clamp(
        290px,
        36vh,
        405px
      ) !important;
  }


  .fc-home-work__project--base .fc-home-work__art{
    height:
      clamp(
        290px,
        36vh,
        405px
      ) !important;
  }


  .fc-home-work__project--natz .fc-home-work__art,
  .fc-home-work__project--security .fc-home-work__art{
    height:
      clamp(
        285px,
        35vh,
        395px
      ) !important;
  }


  /* -----------------------------------------
     LABELS SIT CLOSER TO FRAMES
  ----------------------------------------- */

  .fc-home-work__label{
    transform:translateX(-4px);
  }


  .fc-home-work__number{
    font-size:13px !important;
  }


  .fc-home-work__label h3{
    font-size:13px !important;
  }


  .fc-home-work__label p{
    font-size:11px !important;
  }


  /* -----------------------------------------
     SLIGHTLY TIGHTER STAGGER
  ----------------------------------------- */

  .fc-home-work__project--anything{
    transform:translateY(-5px) !important;
  }


  .fc-home-work__project--security{
    transform:translateY(-2px) !important;
  }


  .fc-home-work__project--natz{
    transform:translateY(5px) !important;
  }


  .fc-home-work__project--base{
    transform:translateY(8px) !important;
  }

}

/* ==========================================
   FEMME CREATIVE — EXHIBIT 001
   GOOD DESIGN ISN'T AN ACCIDENT
========================================== */

.fcd-details {
  background: #f5f0e9;
  color: #050505;
  width: 100%;
  padding: 110px 5%;
}

.fcd-details,
.fcd-details * {
  box-sizing: border-box;
}

.fcd-details__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 65px;
  align-items: center;
}

/* LEFT */

.fcd-details__intro {
  min-width: 0;
  border-left: 1px solid rgba(0,0,0,.2);
  padding-left: 32px;
}

.fcd-details__eyebrow {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 28px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

.fcd-details__eyebrow span:first-child {
  color: #670505;
}

.fcd-details__intro h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(43px, 4.2vw, 76px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 500;
  margin: 0;
  color: #050505;
}

.fcd-details__statement {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(24px, 2.2vw, 37px);
  font-style: italic;
  color: #670505;
  line-height: 1.15;
  margin: 24px 0 0;
}

/* RIGHT GRID */

.fcd-details__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fcd-details__item {
  padding: 25px 26px;
  border-left: 1px solid rgba(0,0,0,.18);
}

.fcd-details__item:nth-child(-n+2) {
  border-bottom: 1px solid rgba(0,0,0,.18);
}

.fcd-details__number {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 36px;
  font-style: italic;
  color: #670505;
  margin-bottom: 8px;
}

.fcd-details__item h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.15;
  margin: 0 0 8px;
  color: #050505;
}

.fcd-details__item p {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin: 0;
}

/* TABLET */

@media (max-width: 1100px) {
  .fcd-details__inner {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .fcd-details__intro h2 {
    font-size: clamp(50px, 7vw, 78px);
  }
}

/* MOBILE */

@media (max-width: 600px) {
  .fcd-details {
    padding: 75px 22px;
  }

  .fcd-details__intro {
    padding-left: 18px;
  }

  .fcd-details__intro h2 {
    font-size: clamp(36px, 9.5vw, 54px);
  }

  .fcd-details__statement {
    font-size: 26px;
  }

  .fcd-details__grid {
    grid-template-columns: 1fr;
  }

  .fcd-details__item {
    padding: 23px 18px;
    border-bottom: 1px solid rgba(0,0,0,.18);
  }

  .fcd-details__item:first-child {
    border-top: 1px solid rgba(0,0,0,.18);
  }

  .fcd-details__item h3 {
    font-size: 24px;
  }
}


/* ==========================================
   FEMME CREATIVE — THE CREATIVE PROCESS
   Vogue editorial / responsive
========================================== */

.fc-process {
  width: 100%;
  background: #faf8f5;
  color: #050505;
  overflow: hidden;
}

.fc-process,
.fc-process * {
  box-sizing: border-box;
}

.fc-process__layout {
  display: grid;
  grid-template-columns: 45% minmax(0, 55%);
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  min-height: 570px;
}

/* IMAGE */

.fc-process__visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.fc-process__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: center;
}

/* CONTENT */

.fc-process__content {
  min-width: 0;
  padding: clamp(45px, 5vw, 85px)
           clamp(30px, 4.5vw, 85px)
           48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 50px;
}

.fc-process__eyebrow {
  display: block;
  margin-bottom: 26px;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.5;
  color: #670505;
}

.fc-process__heading h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(39px, 4.1vw, 75px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1.04;
  color: #050505;
}

.fc-process__heading h2 em {
  color: #670505;
  font-weight: 400;
  font-style: italic;
  white-space: nowrap;
}

.fc-process__description {
  max-width: 570px;
  margin: 26px 0 0 !important;
  font-family: "Inter", sans-serif;
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 400;
  line-height: 1.7;
  color: #56514e;
}

/* FIVE STEPS */

.fc-process__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid #d6d0c9;
  padding-top: 14px;
}

.fc-process__step {
  min-width: 0;
  padding: 4px 14px 0;
  border-left: 1px solid #d6d0c9;
}

.fc-process__step:first-child {
  padding-left: 0;
  border-left: 0;
}

.fc-process__number {
  display: block;
  margin-bottom: 18px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(25px, 2.1vw, 34px);
  line-height: 1;
  font-style: italic;
  color: #670505;
}

.fc-process__step h3 {
  margin: 0 0 10px !important;
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .09em;
  color: #24201e;
}

.fc-process__step p {
  margin: 0 !important;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  line-height: 1.55;
  color: #6b6561;
}

/* SMALLER DESKTOP */

@media (min-width: 1101px) and (max-width: 1450px) {
  .fc-process__content {
    padding: 45px 35px 40px;
    gap: 38px;
  }

  .fc-process__heading h2 {
    font-size: clamp(36px, 3.6vw, 55px);
  }

  .fc-process__step {
    padding-left: 9px;
    padding-right: 9px;
  }

  .fc-process__step p {
    font-size: 11px;
  }
}

/* TABLET */

@media (max-width: 1100px) {
  .fc-process__layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .fc-process__visual img {
    height: 430px;
    min-height: 0;
    object-position: center 48%;
  }

  .fc-process__content {
    padding: 65px 6% 70px;
    gap: 55px;
  }

  .fc-process__heading h2 {
    font-size: clamp(43px, 6.5vw, 72px);
  }

  .fc-process__steps {
    gap: 0;
  }

  .fc-process__step {
    padding: 5px 14px 0;
  }
}

/* MOBILE */

@media (max-width: 700px) {
  .fc-process__visual img {
    height: 340px;
    min-height: 0;
  }

  .fc-process__content {
    padding: 55px 24px 65px;
    gap: 45px;
  }

  .fc-process__eyebrow {
    font-size: 10px;
    margin-bottom: 22px;
  }

  .fc-process__heading h2 {
    font-size: clamp(37px, 9vw, 55px);
    line-height: 1.08;
    letter-spacing: -.045em;
  }

  .fc-process__heading h2 em {
    white-space: normal;
  }

  .fc-process__description {
    font-size: 14px;
    line-height: 1.7;
    margin-top: 23px !important;
  }

  .fc-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 0;
    padding-top: 0;
    row-gap: 28px;
  }

  .fc-process__step,
  .fc-process__step:first-child {
    border-left: 1px solid #d6d0c9;
    border-top: 1px solid #d6d0c9;
    padding: 17px 14px 0;
  }

  .fc-process__step:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .fc-process__number {
    font-size: 32px;
    margin-bottom: 14px;
  }

  .fc-process__step h3 {
    font-size: 10px;
  }

  .fc-process__step p {
    font-size: 12px;
  }
}

/* SMALL PHONES */

@media (max-width: 380px) {
  .fc-process__content {
    padding-left: 18px;
    padding-right: 18px;
  }

  .fc-process__heading h2 {
    font-size: 35px;
  }

  .fc-process__visual img {
    height: 280px;
  }
}


/* =========================================================
   FEMME CREATIVE — ABOUT HERO
   WHITE VOGUE EDITORIAL
   DESKTOP / TABLET / MOBILE
========================================================= */

.fc-about-hero {
    --about-red: #670505;
    --about-black: #050505;
    --about-serif: var(--serif);
    --about-sans: var(--sans);

    position: relative;
    width: 100%;
    background: #ffffff;
    color: var(--about-black);
    overflow: hidden;
    isolation: isolate;
}

.fc-about-hero,
.fc-about-hero * {
    box-sizing: border-box;
}

.fc-about-hero__inner {
    position: relative;
    width: 100%;
    max-width: 1920px;
    min-height: 790px;
    margin: 0 auto;
    padding: 42px 5.5% 55px;
}

/* =========================================================
   TOP LABELS
========================================================= */

.fc-about-hero__top {
    position: relative;
    z-index: 8;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.fc-about-hero__edition,
.fc-about-hero__direction {
    font-family: var(--about-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .18em;
}

.fc-about-hero__edition span {
    margin: 0 9px;
    color: #888;
}

.fc-about-hero__edition strong {
    color: var(--about-red);
    font-weight: 800;
}

.fc-about-hero__direction {
    display: flex;
    flex-direction: column;
    text-align: right;
    gap: 2px;
}

.fc-about-hero__direction strong {
    font-weight: 800;
}

.fc-about-hero__direction span {
    font-weight: 400;
}

/* =========================================================
   MAIN COMPOSITION
========================================================= */

.fc-about-hero__stage {
    position: relative;
    width: min(100%, 1550px);
    height: clamp(500px, 43vw, 790px);
    margin: -5px auto 0;
    isolation: isolate;
}

/* BACKGROUND IMAGE */

.fc-about-hero__background {
    position: absolute;
    z-index: 1;
    left: 7%;
    right: 7%;
    top: 3%;
    bottom: 0;
    display: block;
    overflow: hidden;
}

.fc-about-hero__background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

/* HUGE ABOUT LETTERING */

.fc-about-hero__title {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 13%;
    transform: translateX(-50%);
    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    font-family: var(--about-serif) !important;
    font-size: clamp(135px, 19vw, 360px) !important;
    font-weight: 400 !important;
    line-height: .85 !important;
    letter-spacing: -.075em !important;

    text-align: center;
    white-space: nowrap;
    color: var(--about-red) !important;
    pointer-events: none;
}

/* FOREGROUND CUTOUT */

.fc-about-hero__foreground {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: block;
    pointer-events: none;
}

.fc-about-hero__foreground img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

/* =========================================================
   BOTTOM EDITORIAL TEXT
========================================================= */

.fc-about-hero__bottom {
    position: absolute;
    z-index: 6;
    left: 8%;
    right: 8%;
    bottom: 12%;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    pointer-events: none;
}

.fc-about-hero__intro {
    max-width: 390px;
}

.fc-about-hero__small {
    display: block;
    margin-bottom: 15px;
    font-family: var(--about-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--about-red);
}

.fc-about-hero__intro h2 {
    margin: 0 !important;
    font-family: var(--about-serif) !important;
    font-size: clamp(30px, 3vw, 54px) !important;
    font-weight: 400 !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    color: var(--about-black) !important;
}

.fc-about-hero__intro h2 em {
    color: var(--about-red);
    font-style: normal;
}

.fc-about-hero__accent {
    width: 48px;
    height: 2px;
    margin: 22px 0;
    background: var(--about-red);
}

.fc-about-hero__intro p {
    margin: 0 !important;
    font-family: var(--about-serif);
    font-size: clamp(17px, 1.5vw, 24px);
    font-style: italic;
    line-height: 1.2;
    color: var(--about-black);
}

/* =========================================================
   SCROLL TO DISCOVER
========================================================= */

.fc-about-hero__scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;

    font-family: var(--about-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    writing-mode: vertical-rl;

    color: var(--about-black);
    text-decoration: none;
    pointer-events: auto;
}


.fc-about-hero__arrow {
    display: inline-block;
    font-size: 25px;
    line-height: 1;
    writing-mode: horizontal-tb;
    transform: rotate(0deg);
}


/* =========================================================
   BARCODE
========================================================= */

.fc-about-hero__barcode {
    position: absolute;
    z-index: 7;
    right: 3%;
    bottom: 25px;
    width: 80px;
    text-align: center;
}

.fc-about-hero__bars {
    height: 42px;
    background: repeating-linear-gradient(
        90deg,
        #050505 0px,
        #050505 2px,
        transparent 2px,
        transparent 4px,
        #050505 4px,
        #050505 5px,
        transparent 5px,
        transparent 8px
    );
}

.fc-about-hero__barcode span {
    display: block;
    margin-top: 3px;
    font-family: var(--about-sans);
    font-size: 9px;
    letter-spacing: .05em;
}

/* =========================================================
   TABLET — 768px TO 1100px
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-about-hero__inner {
        min-height: 680px;
        padding: 32px 4% 45px;
    }

    .fc-about-hero__stage {
        height: 580px;
    }

    .fc-about-hero__title {
        top: 17%;
        font-size: clamp(120px, 19vw, 215px) !important;
    }

    .fc-about-hero__background {
        left: 3%;
        right: 3%;
    }

    .fc-about-hero__bottom {
        left: 5%;
        right: 5%;
        bottom: 11%;
    }

    .fc-about-hero__intro {
        max-width: 280px;
    }

    .fc-about-hero__intro h2 {
        font-size: 35px !important;
    }

    .fc-about-hero__intro p {
        font-size: 17px;
    }
}

/* =========================================================
   MOBILE — SINGLE VIEWPORT
========================================================= */

@media (max-width: 767px) {

    .fc-about-hero {
        height: calc(100svh - 60px);
        min-height: 0;
        overflow: hidden;
    }

    .fc-about-hero__inner {
        height: 100%;
        min-height: 0;
        padding: 0;
        overflow: hidden;
    }

    /* HIDE TOP LABELS */

    .fc-about-hero__top {
        display: none;
    }

    /* IMAGE COMPOSITION */

    .fc-about-hero__stage {
        position: absolute;
        top: 3%;
        left: 0;
        width: 100%;
        height: 64%;
        margin: 0;
    }

    .fc-about-hero__background {
        inset: 0 7%;
    }

    .fc-about-hero__background img,
    .fc-about-hero__foreground img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center top;
    }

    .fc-about-hero__foreground {
        inset: 0;
    }

    /* ABOUT — BIGGER AND LOWER */

    .fc-about-hero__title {
        top: 19%;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);

        font-size: clamp(76px, 23vw, 170px) !important;
        line-height: .85 !important;
        letter-spacing: -.085em !important;
        text-align: center;
    }

    /* INTRODUCTION — BROUGHT UP */

    .fc-about-hero__bottom {
        position: absolute;
        top: auto;
        left: 7%;
        right: 7%;
        bottom: 8%;
        width: auto;
        padding: 0;

        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
    }

    .fc-about-hero__intro {
        max-width: 79%;
    }

    .fc-about-hero__small {
        margin-bottom: 8px;
        font-size: 8px;
        letter-spacing: .13em;
    }

    .fc-about-hero__intro h2 {
        font-size: clamp(26px, 7vw, 39px) !important;
        line-height: .94 !important;
        letter-spacing: -.045em !important;
    }

    .fc-about-hero__accent {
        width: 32px;
        margin: 11px 0;
    }

    .fc-about-hero__intro p {
        font-size: clamp(12px, 3.3vw, 16px);
        line-height: 1.15;
    }

    /* SCROLL — HORIZONTAL TEXT */

    .fc-about-hero__scroll {
        flex: 0 0 auto;
        flex-direction: row;
        align-items: center;
        gap: 7px;

        writing-mode: horizontal-tb;
        white-space: nowrap;

        font-size: 8px;
        letter-spacing: .08em;
        margin-bottom: 5px;
    }

    .fc-about-hero__arrow {
        font-size: 17px;
        line-height: 1;
    }

    /* BARCODE */

    .fc-about-hero__barcode {
        position: absolute;
        right: 7%;
        bottom: 1.5%;
        width: 48px;
        margin: 0;
    }

    .fc-about-hero__bars {
        height: 23px;
    }

    .fc-about-hero__barcode span {
        font-size: 6px;
    }
}

/* =========================================================
   SHORT MOBILE SCREENS
========================================================= */

@media (max-width: 767px) and (max-height: 740px) {

    .fc-about-hero__stage {
        height: 60%;
    }

    .fc-about-hero__title {
        top: 20%;
    }

    .fc-about-hero__bottom {
        bottom: 8%;
    }

    .fc-about-hero__intro h2 {
        font-size: clamp(24px, 6.4vw, 32px) !important;
    }

    .fc-about-hero__intro p {
        font-size: 12px;
    }
}

/* =========================================================
   SMALL MOBILE — UNDER 390px
========================================================= */

@media (max-width: 390px) {

    .fc-about-hero__title {
        font-size: 22vw !important;
    }

    .fc-about-hero__intro {
        max-width: 78%;
    }

    .fc-about-hero__scroll {
        font-size: 7px;
    }
}


/* =========================================================
   FEMME CREATIVE — ABOUT / EXHIBIT 01
   NOT YOUR AVERAGE CREATIVE STUDIO
========================================================= */

.fc-about-studio {
    --studio-red: #670505;
    --studio-black: #050505;
    --studio-serif: var(--serif);
    --studio-sans: var(--sans);

    position: relative;
    width: 100%;
    padding: clamp(50px, 5vw, 90px) 4.5%;
    background: #fff;
    color: var(--studio-black);
    overflow: hidden;
}

.fc-about-studio,
.fc-about-studio * {
    box-sizing: border-box;
}

.fc-about-studio__inner {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(280px, .9fr);
    align-items: center;
    gap: clamp(35px, 4vw, 85px);
}

/* =========================================================
   THREE-IMAGE GALLERY
========================================================= */

.fc-about-studio__gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(8px, .9vw, 18px);
    min-width: 0;
}

.fc-about-studio__image {
    position: relative;
    width: 100%;
    height: clamp(330px, 32vw, 620px);
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #f0ede9;
}

.fc-about-studio__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .7s cubic-bezier(.16,1,.3,1);
}

@media (hover: hover) {
    .fc-about-studio__image:hover img {
        transform: scale(1.045);
    }
}

/* =========================================================
   RIGHT CONTENT
========================================================= */

.fc-about-studio__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.fc-about-studio__heading-wrap {
    position: relative;
    padding-left: 26px;
    border-left: 1px solid #c7c0bb;
}

.fc-about-studio__index {
    display: flex;
    gap: 18px;
    margin-bottom: 17px;

    font-family: var(--studio-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    color: var(--studio-red);
}

.fc-about-studio__index span:last-child {
    color: #a39b96;
}

.fc-about-studio__heading-wrap h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: var(--studio-serif) !important;
    font-size: clamp(34px, 3.1vw, 65px) !important;
    font-weight: 400 !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;

    color: var(--studio-black) !important;
}

.fc-about-studio__heading-wrap h2 em {
    font-weight: 400;
    font-style: italic;
    color: var(--studio-red);
}

.fc-about-studio__copy {
    padding-left: 26px;
    margin-top: 25px;
    max-width: 420px;
}

.fc-about-studio__copy p {
    margin: 0 0 18px !important;
    font-family: var(--studio-sans);
    font-size: clamp(13px, .9vw, 16px);
    font-weight: 400;
    line-height: 1.65;
    color: #55514f;
}

.fc-about-studio__copy p:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-about-studio {
        padding: 55px 4%;
    }

    .fc-about-studio__inner {
        grid-template-columns: minmax(0, 1.5fr) minmax(250px, 1fr);
        gap: 25px;
    }

    .fc-about-studio__gallery {
        gap: 7px;
    }

    .fc-about-studio__image {
        height: 390px;
        border-radius: 8px;
    }

    .fc-about-studio__heading-wrap {
        padding-left: 17px;
    }

    .fc-about-studio__heading-wrap h2 {
        font-size: clamp(30px, 3.7vw, 43px) !important;
    }

    .fc-about-studio__copy {
        padding-left: 17px;
        margin-top: 18px;
    }

    .fc-about-studio__copy p {
        font-size: 12px;
        line-height: 1.5;
    }
}

/* =========================================================
   MOBILE — COMPACT SWIPEABLE GALLERY
========================================================= */

@media (max-width: 767px) {

    .fc-about-studio {
        padding: 35px 0 45px;
    }

    .fc-about-studio__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 27px;
    }

    /* SWIPE IMAGES SIDEWAYS INSTEAD OF STACKING */

    .fc-about-studio__gallery {
        display: flex;
        gap: 10px;

        width: 100%;
        padding: 0 6% 5px;

        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 6%;
        overscroll-behavior-x: contain;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .fc-about-studio__gallery::-webkit-scrollbar {
        display: none;
    }

    .fc-about-studio__image {
        flex: 0 0 67%;
        width: 67%;
        height: clamp(260px, 82vw, 390px);
        border-radius: 9px;
        scroll-snap-align: start;
    }

    .fc-about-studio__image img {
        object-fit: cover;
    }

    /* TEXT DIRECTLY UNDER GALLERY */

    .fc-about-studio__content {
        width: 100%;
        padding: 0 7%;
    }

    .fc-about-studio__heading-wrap {
        padding-left: 17px;
    }

    .fc-about-studio__index {
        margin-bottom: 13px;
        font-size: 9px;
        gap: 13px;
    }

    .fc-about-studio__heading-wrap h2 {
        font-size: clamp(37px, 10vw, 60px) !important;
        line-height: .92 !important;
        letter-spacing: -.055em !important;
    }

    .fc-about-studio__copy {
        padding-left: 17px;
        margin-top: 18px;
        max-width: 100%;
    }

    .fc-about-studio__copy p {
        font-size: 13px;
        line-height: 1.55;
        margin-bottom: 13px !important;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-about-studio__image {
        flex-basis: 72%;
        width: 72%;
        height: 290px;
    }

    .fc-about-studio__heading-wrap h2 {
        font-size: 36px !important;
    }

    .fc-about-studio__copy p {
        font-size: 12px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fc-about-studio__image img {
        transition: none;
    }
}


/* =========================================================
   FEMME CREATIVE — ABOUT
   SECTION 02 / CREATIVE DIRECTOR
========================================================= */

.fc-founder {
    --founder-red: #670505;
    --founder-black: #050505;
    --founder-cream: #f5f1ec;
    --founder-serif: var(--serif);
    --founder-sans: var(--sans);

    width: 100%;
    background: var(--founder-cream);
    color: var(--founder-black);
    overflow: hidden;
}

.fc-founder,
.fc-founder * {
    box-sizing: border-box;
}

/* MAIN SPLIT LAYOUT */

.fc-founder__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 1920px;
    min-height: 650px;
    margin: 0 auto;
}

/* =========================================================
   LEFT PORTRAIT
========================================================= */

.fc-founder__visual {
    position: relative;
    min-width: 0;
    min-height: 650px;
    overflow: hidden;
    background: #e5dfd7;
}

.fc-founder__visual img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center 40%;
}

.fc-founder__photo-label {
    position: absolute;
    left: 30px;
    bottom: 25px;
    z-index: 2;

    font-family: var(--founder-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .16em;
    color: #fff;

    text-shadow: 0 1px 8px rgba(0,0,0,.5);
}

/* =========================================================
   RIGHT CONTENT
========================================================= */

.fc-founder__content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(45px, 5vw, 100px);
}

.fc-founder__content-inner {
    width: 100%;
    max-width: 590px;
}

.fc-founder__number {
    display: block;
    margin-bottom: 13px;

    font-family: var(--founder-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--founder-red);
}

.fc-founder__eyebrow {
    display: block;
    margin-bottom: 19px;

    font-family: var(--founder-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    color: #827c78;
}

.fc-founder__content h2 {
    margin: 0 0 8px !important;
    padding: 0 !important;

    font-family: var(--founder-serif) !important;
    font-size: clamp(48px, 4.4vw, 86px) !important;
    font-weight: 400 !important;
    line-height: .98 !important;
    letter-spacing: -.065em !important;

    color: var(--founder-black) !important;
}

.fc-founder__subtitle {
    margin: 0 0 30px !important;

    font-family: var(--founder-serif);
    font-size: clamp(19px, 1.55vw, 28px);
    font-style: italic;
    line-height: 1.25;
    color: #292522;
}

.fc-founder__subtitle em {
    color: var(--founder-red);
    font-style: italic;
}

/* BODY TEXT */

.fc-founder__body {
    max-width: 560px;
}

.fc-founder__body p {
    margin: 0 0 18px !important;

    font-family: var(--founder-sans);
    font-size: clamp(13px, .88vw, 16px);
    font-weight: 400;
    line-height: 1.65;
    color: #57524f;
}

.fc-founder__body p:last-child {
    margin-bottom: 0 !important;
}

/* BUTTON */

.fc-founder__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    margin-top: 30px;
    padding: 17px 23px;

    min-width: 230px;
    min-height: 50px;

    border: 1px solid var(--founder-black);
    border-radius: 4px;

    background: var(--founder-black);
    color: #fff !important;

    font-family: var(--founder-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1.2;
    text-decoration: none !important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.fc-founder__button-arrow {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

@media (hover: hover) {
    .fc-founder__button:hover {
        background: var(--founder-red);
        border-color: var(--founder-red);
        color: #fff !important;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-founder__inner {
        min-height: 580px;
    }

    .fc-founder__visual {
        min-height: 580px;
    }

    .fc-founder__content {
        padding: 40px 6%;
    }

    .fc-founder__content h2 {
        font-size: clamp(42px, 5vw, 62px) !important;
    }

    .fc-founder__subtitle {
        font-size: 19px;
        margin-bottom: 20px !important;
    }

    .fc-founder__body p {
        font-size: 12px;
        line-height: 1.55;
        margin-bottom: 12px !important;
    }

    .fc-founder__button {
        margin-top: 22px;
    }
}

/* =========================================================
   MOBILE — COMPACT PORTRAIT + CONTENT
========================================================= */

@media (max-width: 767px) {

    .fc-founder__inner {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    /* PORTRAIT IS NOT FULL SCREEN */

    .fc-founder__visual {
        width: 100%;
        min-height: 0;
        height: clamp(280px, 82vw, 430px);
    }

    .fc-founder__visual img {
        object-position: center 32%;
    }

    .fc-founder__photo-label {
        left: 7%;
        bottom: 16px;
        font-size: 8px;
    }

    /* EDITORIAL TEXT */

    .fc-founder__content {
        display: block;
        padding: 33px 7% 42px;
    }

    .fc-founder__content-inner {
        max-width: 100%;
    }

    .fc-founder__number {
        margin-bottom: 8px;
        font-size: 10px;
    }

    .fc-founder__eyebrow {
        margin-bottom: 13px;
        font-size: 9px;
        letter-spacing: .16em;
    }

    .fc-founder__content h2 {
        font-size: clamp(43px, 11vw, 65px) !important;
        line-height: .96 !important;
        margin-bottom: 10px !important;
    }

    .fc-founder__subtitle {
        margin-bottom: 22px !important;
        font-size: clamp(18px, 5vw, 24px);
        line-height: 1.2;
    }

    .fc-founder__body p {
        font-size: 13px;
        line-height: 1.55;
        margin-bottom: 13px !important;
    }

    .fc-founder__button {
        margin-top: 23px;
        min-width: 210px;
        min-height: 47px;
        padding: 14px 18px;
        font-size: 9px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-founder__visual {
        height: 300px;
    }

    .fc-founder__content {
        padding: 28px 6% 35px;
    }

    .fc-founder__content h2 {
        font-size: 42px !important;
    }

    .fc-founder__subtitle {
        font-size: 18px;
    }

    .fc-founder__body p {
        font-size: 12px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .fc-founder__button {
        transition: none;
    }
}


/* =========================================================
   FEMME CREATIVE — THE FEMME MANIFESTO
   SECTION 03 / COMPLETE RESPONSIVE CSS
========================================================= */

.fc-manifesto {
    --manifesto-cream: #f5ede6;
    --manifesto-serif: var(--serif);
    --manifesto-sans: var(--sans);

    position: relative;
    width: 100%;
    padding: 46px 5% 55px;
    color: var(--manifesto-cream);
    background-color: #290704;
    background-image:
        linear-gradient(
            rgba(24, 0, 0, .26),
            rgba(24, 0, 0, .4)
        ),
        url("/wp-content/uploads/2026/10/bg.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.fc-manifesto,
.fc-manifesto * {
    box-sizing: border-box;
}

.fc-manifesto__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

/* =========================================================
   SECTION HEADER
========================================================= */

.fc-manifesto__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    margin-bottom: 35px;
    text-align: center;
}

.fc-manifesto__number {
    font-family: var(--manifesto-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .15em;
    color: #c6a8a0;
}

.fc-manifesto__header h2 {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--manifesto-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .22em !important;
    color: #f4eae6 !important;
}

/* =========================================================
   THREE PRINCIPLES
========================================================= */

.fc-manifesto__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.fc-manifesto__item {
    position: relative;
    min-width: 0;
    padding: 0 30px 3px;
    text-align: center;
}

.fc-manifesto__item + .fc-manifesto__item {
    border-left: 1px solid rgba(245, 237, 230, .48);
}

.fc-manifesto__roman {
    display: block;
    margin-bottom: 11px;
    font-family: var(--manifesto-serif);
    font-size: clamp(27px, 2.4vw, 42px);
    font-weight: 400;
    font-style: italic;
    line-height: 1;
    color: #e1c6b7;
}

.fc-manifesto__item h3 {
    margin: 0 0 19px !important;
    padding: 0 !important;

    font-family: var(--manifesto-serif) !important;
    font-size: clamp(24px, 2.15vw, 40px) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;

    color: #fff9f4 !important;
    white-space: nowrap;
}

.fc-manifesto__item p {
    margin: 0 !important;
    font-family: var(--manifesto-sans);
    font-size: clamp(12px, .95vw, 16px);
    font-weight: 400;
    line-height: 1.55;
    color: #e4d5d0;
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-manifesto {
        padding: 40px 3% 45px;
    }

    .fc-manifesto__header {
        margin-bottom: 30px;
    }

    .fc-manifesto__item {
        padding: 0 15px;
    }

    .fc-manifesto__roman {
        font-size: 29px;
    }

    .fc-manifesto__item h3 {
        font-size: clamp(21px, 2.6vw, 29px) !important;
    }

    .fc-manifesto__item p {
        font-size: 11px;
        line-height: 1.5;
    }
}

/* =========================================================
   MOBILE — COMPACT EDITORIAL ROWS
========================================================= */

@media (max-width: 767px) {

    .fc-manifesto {
        padding: 34px 7% 37px;
        background-position: center center;
    }

    .fc-manifesto__header {
        gap: 6px;
        margin-bottom: 22px;
    }

    .fc-manifesto__number {
        font-size: 9px;
    }

    .fc-manifesto__header h2 {
        font-size: 9px !important;
        letter-spacing: .18em !important;
    }

    .fc-manifesto__grid {
        display: flex;
        flex-direction: column;
    }

    .fc-manifesto__item {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 14px;
        align-items: start;

        padding: 14px 0;
        text-align: left;
    }

    .fc-manifesto__item + .fc-manifesto__item {
        border-left: 0;
        border-top: 1px solid rgba(245, 237, 230, .35);
    }

    .fc-manifesto__roman {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin: 0;
        padding-top: 1px;
        font-size: 30px;
    }

    .fc-manifesto__item h3 {
        grid-column: 2;
        margin: 0 0 6px !important;
        font-size: clamp(22px, 6vw, 29px) !important;
        white-space: normal;
    }

    .fc-manifesto__item p {
        grid-column: 2;
        font-size: 12px;
        line-height: 1.45;
    }

    .fc-manifesto__item p br {
        display: none;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-manifesto {
        padding: 28px 6% 30px;
    }

    .fc-manifesto__item {
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 10px;
        padding: 12px 0;
    }

    .fc-manifesto__roman {
        font-size: 26px;
    }

    .fc-manifesto__item h3 {
        font-size: 21px !important;
    }

    .fc-manifesto__item p {
        font-size: 11px;
    }
}


/* =========================================================
   FEMME CREATIVE — ABOUT
   SECTION 04 / A FEW THINGS ABOUT ME
========================================================= */

.fc-personal {
    --personal-red: #670505;
    --personal-black: #050505;
    --personal-cream: #f8f5f0;
    --personal-serif: var(--serif);
    --personal-sans: var(--sans);

    position: relative;
    width: 100%;
    padding: 65px 5% 75px;
    background: var(--personal-cream);
    color: var(--personal-black);
    overflow: hidden;
}

.fc-personal,
.fc-personal * {
    box-sizing: border-box;
}

.fc-personal__inner {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
}

/* =========================================================
   SECTION INTRO
========================================================= */

.fc-personal__intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 34px;
}

.fc-personal__heading {
    position: relative;
    padding-left: 34px;
    border-left: 1px solid #c8c0b8;
}

.fc-personal__number {
    display: block;
    margin-bottom: 14px;

    font-family: var(--personal-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--personal-red);
}

.fc-personal__heading h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: var(--personal-serif) !important;
    font-size: clamp(45px, 4.5vw, 82px) !important;
    font-weight: 400 !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;

    color: var(--personal-black) !important;
}

.fc-personal__tagline {
    margin: 12px 0 0 !important;

    font-family: var(--personal-serif);
    font-size: clamp(20px, 1.8vw, 31px);
    font-style: italic;
    line-height: 1.2;
    color: var(--personal-red);
}

.fc-personal__description {
    max-width: 410px;
    margin: 0 !important;

    font-family: var(--personal-serif);
    font-size: clamp(17px, 1.4vw, 23px);
    font-style: italic;
    line-height: 1.35;
    color: #625c57;
}

/* =========================================================
   FIVE-COLUMN EDITORIAL GALLERY
========================================================= */

.fc-personal__gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}

.fc-personal__card {
    min-width: 0;
}

.fc-personal__image {
    position: relative;
    width: 100%;
    aspect-ratio: 0.9;
    overflow: hidden;
    background: #e7e1da;
}

.fc-personal__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .6s ease;
}

@media (hover: hover) {
    .fc-personal__card:hover .fc-personal__image img {
        transform: scale(1.045);
    }
}

.fc-personal__card-number {
    display: block;
    margin: 14px 0 8px;

    font-family: var(--personal-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #aa5550;
}

.fc-personal__card h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;

    font-family: var(--personal-serif) !important;
    font-size: clamp(22px, 1.9vw, 35px) !important;
    font-weight: 400 !important;
    font-style: italic;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
    color: var(--personal-black) !important;
}

.fc-personal__card p {
    margin: 0 !important;

    font-family: var(--personal-sans);
    font-size: clamp(12px, .9vw, 15px);
    font-weight: 400;
    line-height: 1.55;
    color: #69635f;
}

/* SWIPE LABEL HIDDEN ON DESKTOP */

.fc-personal__swipe {
    display: none;
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-personal {
        padding: 55px 4% 60px;
    }

    .fc-personal__intro {
        gap: 25px;
    }

    .fc-personal__heading {
        padding-left: 23px;
    }

    .fc-personal__heading h2 {
        font-size: clamp(40px, 5vw, 60px) !important;
    }

    .fc-personal__description {
        max-width: 290px;
        font-size: 17px;
    }

    .fc-personal__gallery {
        gap: 12px;
    }

    .fc-personal__card h3 {
        font-size: clamp(19px, 2.4vw, 26px) !important;
    }

    .fc-personal__card p {
        font-size: 11px;
        line-height: 1.5;
    }
}

/* =========================================================
   MOBILE — HORIZONTAL SWIPE CARDS
========================================================= */

@media (max-width: 767px) {

    .fc-personal {
        padding: 42px 0 45px;
    }

    .fc-personal__intro {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 17px;

        padding: 0 7%;
        margin-bottom: 25px;
    }

    .fc-personal__heading {
        padding-left: 19px;
    }

    .fc-personal__number {
        margin-bottom: 9px;
        font-size: 10px;
    }

    .fc-personal__heading h2 {
        font-size: clamp(42px, 11vw, 65px) !important;
        line-height: .93 !important;
    }

    .fc-personal__tagline {
        margin-top: 10px !important;
        font-size: clamp(19px, 5vw, 25px);
    }

    .fc-personal__description {
        max-width: 100%;
        font-size: 15px;
        line-height: 1.35;
    }

    /* SWIPEABLE CARDS */

    .fc-personal__gallery {
        display: flex;
        gap: 13px;

        width: 100%;
        padding: 0 7% 8px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 7%;
        overscroll-behavior-x: contain;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .fc-personal__gallery::-webkit-scrollbar {
        display: none;
    }

    .fc-personal__card {
        flex: 0 0 66%;
        width: 66%;
        scroll-snap-align: start;
    }

    .fc-personal__image {
        aspect-ratio: 0.95;
    }

    .fc-personal__card-number {
        margin: 11px 0 6px;
        font-size: 10px;
    }

    .fc-personal__card h3 {
        font-size: clamp(25px, 7vw, 34px) !important;
        margin-bottom: 9px !important;
    }

    .fc-personal__card p {
        font-size: 12px;
        line-height: 1.5;
    }

    /* SWIPE INDICATOR */

    .fc-personal__swipe {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;

        padding: 16px 7% 0;

        font-family: var(--personal-sans);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .15em;
        color: var(--personal-red);
    }

    .fc-personal__swipe span {
        font-size: 21px;
        font-weight: 400;
        line-height: 1;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-personal {
        padding-top: 35px;
    }

    .fc-personal__heading h2 {
        font-size: 40px !important;
    }

    .fc-personal__card {
        flex-basis: 74%;
        width: 74%;
    }

    .fc-personal__card h3 {
        font-size: 26px !important;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .fc-personal__image img {
        transition: none;
    }
}


/* =========================================================
   FEMME CREATIVE — ABOUT
   SECTION 05 / ENOUGH ABOUT ME
========================================================= */

.fc-about-cta {
    --cta-red: #670505;
    --cta-black: #050505;
    --cta-cream: #f8f5f0;
    --cta-serif: var(--serif);
    --cta-sans: var(--sans);

    position: relative;
    width: 100%;
    background: var(--cta-cream);
    color: var(--cta-black);
    overflow: hidden;
}

.fc-about-cta,
.fc-about-cta * {
    box-sizing: border-box;
}

/* =========================================================
   MAIN SPLIT LAYOUT
========================================================= */

.fc-about-cta__inner {
    position: relative;
    display: grid;
    grid-template-columns: 58% 42%;
    width: 100%;
    max-width: 1920px;
    min-height: 570px;
    margin: 0 auto;
}

/* =========================================================
   LEFT — SCULPTURE
========================================================= */

.fc-about-cta__visual {
    position: relative;
    min-width: 0;
    min-height: 570px;
    overflow: hidden;
    background: #b8a89a;

    /* ANGLED RIGHT EDGE */
    clip-path: polygon(
        0 0,
        87% 0,
        100% 100%,
        0 100%
    );
}

.fc-about-cta__visual img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% center;

    filter: sepia(.24) saturate(.65) contrast(1.07);
}

.fc-about-cta__image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(20, 9, 4, .25),
        transparent 65%
    );
    pointer-events: none;
}

.fc-about-cta__image-index {
    position: absolute;
    z-index: 2;
    left: 6%;
    bottom: 26px;

    font-family: var(--cta-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .2em;
    color: #fff;
    text-shadow: 0 1px 8px rgba(0,0,0,.5);
}

/* =========================================================
   RIGHT — EDITORIAL CONTENT
========================================================= */

.fc-about-cta__content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px 8% 65px 5%;
}

.fc-about-cta__content::before {
    content: "";
    position: absolute;
    top: 14%;
    left: 7%;
    width: 1px;
    height: 95px;
    background: #c8beb5;
}

.fc-about-cta__content-inner {
    width: 100%;
    max-width: 510px;
}

.fc-about-cta__number {
    display: block;
    margin-bottom: 26px;

    font-family: var(--cta-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--cta-red);
}

.fc-about-cta__content h2 {
    margin: 0 0 12px !important;
    padding: 0 !important;

    font-family: var(--cta-serif) !important;
    font-size: clamp(53px, 5.1vw, 95px) !important;
    font-weight: 400 !important;
    line-height: .9 !important;
    letter-spacing: -.06em !important;

    color: var(--cta-black) !important;
}

.fc-about-cta__statement {
    margin: 0 0 26px !important;

    font-family: var(--cta-serif);
    font-size: clamp(35px, 3.2vw, 62px);
    font-weight: 400;
    font-style: italic;
    line-height: 1.04;
    letter-spacing: -.045em;

    color: var(--cta-red);
}

.fc-about-cta__description {
    max-width: 390px;
    margin: 0 !important;

    font-family: var(--cta-sans);
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.6;
    color: #615b56;
}

/* =========================================================
   CTA BUTTON
========================================================= */

.fc-about-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;

    min-width: 270px;
    min-height: 54px;
    margin-top: 30px;
    padding: 17px 25px;

    background: var(--cta-black);
    border: 1px solid var(--cta-black);
    border-radius: 4px;

    color: #fff !important;
    text-decoration: none !important;

    font-family: var(--cta-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;

    transition: background .25s ease, border-color .25s ease;
}

.fc-about-cta__button-arrow {
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

@media (hover: hover) {
    .fc-about-cta__button:hover {
        background: var(--cta-red);
        border-color: var(--cta-red);
        color: #fff !important;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-about-cta__inner {
        grid-template-columns: 53% 47%;
        min-height: 490px;
    }

    .fc-about-cta__visual {
        min-height: 490px;
    }

    .fc-about-cta__content {
        padding: 45px 6%;
    }

    .fc-about-cta__content::before {
        display: none;
    }

    .fc-about-cta__number {
        margin-bottom: 18px;
    }

    .fc-about-cta__content h2 {
        font-size: clamp(43px, 5.5vw, 65px) !important;
    }

    .fc-about-cta__statement {
        font-size: clamp(30px, 3.8vw, 44px);
        margin-bottom: 19px !important;
    }

    .fc-about-cta__description {
        font-size: 13px;
    }

    .fc-about-cta__button {
        min-width: 230px;
        min-height: 48px;
        margin-top: 22px;
        padding: 14px 18px;
        font-size: 9px;
    }
}

/* =========================================================
   MOBILE — COMPACT STACKED COMPOSITION
========================================================= */

@media (max-width: 767px) {

    .fc-about-cta__inner {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    /* IMAGE — SHORTER THAN FULL VIEWPORT */

    .fc-about-cta__visual {
        width: 100%;
        min-height: 0;
        height: clamp(250px, 67vw, 360px);

        /* SUBTLE DIAGONAL LOWER EDGE */
        clip-path: polygon(
            0 0,
            100% 0,
            100% 91%,
            0 100%
        );
    }

    .fc-about-cta__visual img {
        object-position: center 42%;
    }

    .fc-about-cta__image-index {
        left: 7%;
        bottom: 32px;
        font-size: 8px;
    }

    /* CONTENT */

    .fc-about-cta__content {
        display: block;
        padding: 24px 7% 45px;
    }

    .fc-about-cta__content::before {
        display: none;
    }

    .fc-about-cta__content-inner {
        max-width: 100%;
    }

    .fc-about-cta__number {
        margin-bottom: 12px;
        font-size: 10px;
    }

    .fc-about-cta__content h2 {
        font-size: clamp(49px, 12vw, 72px) !important;
        line-height: .9 !important;
        margin-bottom: 13px !important;
    }

    .fc-about-cta__statement {
        font-size: clamp(36px, 9.5vw, 54px);
        line-height: 1.04;
        margin-bottom: 18px !important;
    }

    .fc-about-cta__description {
        font-size: 13px;
        line-height: 1.5;
    }

    .fc-about-cta__button {
        margin-top: 22px;
        min-width: 245px;
        min-height: 49px;
        padding: 14px 19px;
        font-size: 9px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-about-cta__visual {
        height: 240px;
    }

    .fc-about-cta__content {
        padding: 20px 6% 35px;
    }

    .fc-about-cta__content h2 {
        font-size: 46px !important;
    }

    .fc-about-cta__statement {
        font-size: 34px;
    }

    .fc-about-cta__button {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .fc-about-cta__button {
        transition: none;
    }
}


/* =========================================================
   FEMME CREATIVE — CONTACT HERO
   EDITORIAL / VOGUE
   DESKTOP + TABLET + MOBILE
========================================================= */

.fc-contact-hero {
    --contact-red: #670505;
    --contact-black: #050505;
    --contact-serif: var(--serif);
    --contact-sans: var(--sans);

    position: relative;
    width: 100%;
    background: #fff;
    color: var(--contact-black);
    overflow: hidden;
}

.fc-contact-hero,
.fc-contact-hero * {
    box-sizing: border-box;
}

.fc-contact-hero__inner {
    position: relative;
    width: 100%;
    max-width: 1920px;
    height: min(850px, calc(100svh - 80px));
    min-height: 620px;
    margin: 0 auto;
    overflow: hidden;
}

/* =========================================================
   TOP LABELS
========================================================= */

.fc-contact-hero__top {
    position: absolute;
    z-index: 6;
    top: 25px;
    left: 4%;
    right: 4%;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    pointer-events: none;
}

.fc-contact-hero__edition,
.fc-contact-hero__direction {
    font-family: var(--contact-sans);
    font-size: 10px;
    letter-spacing: .14em;
    line-height: 1.5;
    color: #4e4b48;
}

.fc-contact-hero__edition span {
    margin: 0 7px;
    color: #a7a19c;
}

.fc-contact-hero__edition strong {
    font-weight: 700;
    color: var(--contact-red);
}

.fc-contact-hero__direction {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.fc-contact-hero__direction strong {
    font-weight: 700;
}

.fc-contact-hero__direction span {
    font-size: 9px;
    letter-spacing: .1em;
}

/* =========================================================
   PHOTO STAGE
========================================================= */

.fc-contact-hero__stage {
    position: absolute;
    z-index: 1;
    top: 11%;
    left: 12%;
    width: 76%;
    height: 78%;
}

/* BACKGROUND IMAGE */

.fc-contact-hero__background {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    overflow: hidden;
}

.fc-contact-hero__background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* GIANT TYPOGRAPHY */

.fc-contact-hero__title {
    position: absolute;
    z-index: 2;
    top: -10%;
    left: 50%;
    width: max-content;
    max-width: none;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateX(-50%);

    font-family: var(--contact-serif) !important;
    font-size: clamp(115px, 16.4vw, 315px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.075em !important;
    white-space: nowrap;

    color: #800000 !important;
}

/* FOREGROUND CUTOUT */

.fc-contact-hero__foreground {
    position: absolute;
    z-index: 3;
    inset: 0;
    display: block;
    pointer-events: none;
}

.fc-contact-hero__foreground img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* =========================================================
   BOTTOM INTRO
========================================================= */

.fc-contact-hero__bottom {
    position: absolute;
    z-index: 5;
    left: 4%;
    right: 4%;
    bottom: 7%;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    pointer-events: none;
}

.fc-contact-hero__intro {
    max-width: 400px;
    pointer-events: auto;
}

.fc-contact-hero__small {
    display: block;
    margin-bottom: 12px;

    font-family: var(--contact-sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
    color: #716b66;
}

.fc-contact-hero__intro h2 {
    margin: 0 !important;
    padding: 0 !important;

    font-family: var(--contact-serif) !important;
    font-size: clamp(31px, 3.1vw, 54px) !important;
    font-weight: 400 !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    color: var(--contact-black) !important;
}

.fc-contact-hero__intro h2 em {
    font-weight: 400;
    font-style: italic;
    color: var(--contact-red);
}

.fc-contact-hero__accent {
    width: 40px;
    height: 1px;
    margin: 17px 0 13px;
    background: var(--contact-red);
}

.fc-contact-hero__intro p {
    margin: 0 !important;
    font-family: var(--contact-sans);
    font-size: 12px;
    line-height: 1.5;
    color: #69635e;
}

/* =========================================================
   SCROLL CUE
========================================================= */

.fc-contact-hero__scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;

    color: var(--contact-black) !important;
    text-decoration: none !important;
    pointer-events: auto;
}

.fc-contact-hero__scroll > span:first-child {
    font-family: var(--contact-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    writing-mode: vertical-rl;
}

.fc-contact-hero__arrow {
    font-family: var(--contact-sans);
    font-size: 26px;
    font-weight: 300;
    line-height: 1;
    writing-mode: horizontal-tb;
}

/* =========================================================
   BARCODE
========================================================= */

.fc-contact-hero__barcode {
    position: absolute;
    z-index: 6;
    right: 3.5%;
    bottom: 1.5%;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.fc-contact-hero__bars {
    width: 75px;
    height: 48px;

    background: repeating-linear-gradient(
        90deg,
        #050505 0 2px,
        transparent 2px 4px,
        #050505 4px 5px,
        transparent 5px 7px,
        #050505 7px 10px,
        transparent 10px 12px,
        #050505 12px 13px,
        transparent 13px 16px
    );
}

.fc-contact-hero__barcode span {
    font-family: var(--contact-sans);
    font-size: 9px;
    letter-spacing: .04em;
    color: var(--contact-black);
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-contact-hero__inner {
        height: min(760px, calc(100svh - 70px));
        min-height: 560px;
    }

    .fc-contact-hero__stage {
        top: 14%;
        left: 7%;
        width: 86%;
        height: 70%;
    }

    .fc-contact-hero__title {
        top: -7%;
        font-size: clamp(110px, 16vw, 190px) !important;
    }

    .fc-contact-hero__bottom {
        bottom: 6%;
    }

    .fc-contact-hero__intro h2 {
        font-size: clamp(30px, 3.5vw, 43px) !important;
    }

    .fc-contact-hero__intro p {
        font-size: 11px;
    }
}

/* =========================================================
   MOBILE — SINGLE VIEWPORT HERO
========================================================= */

@media (max-width: 767px) {

    .fc-contact-hero__inner {
        height: calc(100svh - 60px);
        min-height: 0;
        max-height: none;
    }

    .fc-contact-hero__top {
        top: 15px;
        left: 6%;
        right: 6%;
    }

    .fc-contact-hero__edition {
        font-size: 8px;
        letter-spacing: .08em;
    }

    .fc-contact-hero__edition span {
        margin: 0 3px;
    }

    .fc-contact-hero__direction {
        font-size: 8px;
        letter-spacing: .06em;
    }

    .fc-contact-hero__direction span {
        font-size: 7px;
    }

    /* MOBILE IMAGE COMPOSITION */

    .fc-contact-hero__stage {
        top: 9%;
        left: 0;
        width: 100%;
        height: 65%;
    }

    .fc-contact-hero__background img,
    .fc-contact-hero__foreground img {
        object-fit: contain;
        object-position: center;
    }

    .fc-contact-hero__title {
        top: 6%;
        font-size: clamp(66px, 18.7vw, 145px) !important;
        letter-spacing: -.075em !important;
    }

    /* MOBILE INTRO */

    .fc-contact-hero__bottom {
        left: 6%;
        right: 6%;
        bottom: 6%;
        align-items: flex-end;
    }

    .fc-contact-hero__intro {
        max-width: 75%;
    }

    .fc-contact-hero__small {
        margin-bottom: 7px;
        font-size: 8px;
        letter-spacing: .09em;
    }

    .fc-contact-hero__intro h2 {
        font-size: clamp(29px, 7.7vw, 42px) !important;
        line-height: .96 !important;
    }

    .fc-contact-hero__accent {
        width: 28px;
        margin: 10px 0 8px;
    }

    .fc-contact-hero__intro p {
        font-size: 10px;
        line-height: 1.4;
    }

    /* HORIZONTAL SCROLL CUE */

    .fc-contact-hero__scroll {
        flex-direction: row;
        gap: 7px;
        align-items: center;
        margin-bottom: 3px;
    }

    .fc-contact-hero__scroll > span:first-child {
        font-size: 8px;
        letter-spacing: .09em;
        writing-mode: horizontal-tb;
    }

    .fc-contact-hero__arrow {
        font-size: 17px;
        transform: rotate(-90deg);
    }

    /* SMALL BARCODE */

    .fc-contact-hero__barcode {
        right: 6%;
        bottom: 1%;
    }

    .fc-contact-hero__bars {
        width: 45px;
        height: 28px;
    }

    .fc-contact-hero__barcode span {
        font-size: 7px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .fc-contact-hero__stage {
        top: 10%;
        height: 61%;
    }

    .fc-contact-hero__title {
        font-size: 18vw !important;
    }

    .fc-contact-hero__bottom {
        bottom: 7%;
    }

    .fc-contact-hero__intro h2 {
        font-size: 27px !important;
    }

    .fc-contact-hero__intro p {
        font-size: 9px;
    }
}

/* =========================================================
   ANCHOR SCROLL
========================================================= */

#fc-contact-enquiry {
    scroll-margin-top: 90px;
}


/* =====================================================
   FEMME CONTACT HERO — DESKTOP POSITION FIX
   Mobile remains unchanged
===================================================== */

@media (min-width: 768px) {

    /* Move giant CONTACT heading lower */
    .fc-contact-hero__title {
        top: 3%;
    }

    /* Move LET'S TALK away from the barcode */
    .fc-contact-hero__scroll {
        position: absolute;
        right: 0;
        bottom: 115px;
        gap: 12px;
    }

    /* Keep barcode in bottom-right corner */
    .fc-contact-hero__barcode {
        right: 3.5%;
        bottom: 1.5%;
    }

}


/* =====================================================
   FEMME CREATIVE — HOMEPAGE JOURNEY BACKGROUND FIX
   Scoped to homepage only
===================================================== */

body.home .fc-process{
    background-color: #050505 !important;
    color: #ffffff !important;
}

body.home .fc-process h2{
    color: #ffffff !important;
}

body.home .fc-process p{
    color: #ffffff !important;
}


/* =========================================================
   FEMME CREATIVE — CONTACT ENQUIRY
   SECTION 02 / DESKTOP, TABLET, MOBILE
========================================================= */

.fc-enquiry {
    --fe-red: #670505;
    --fe-black: #050505;
    --fe-cream: #f8f5f0;
    --fe-serif: var(--serif);
    --fe-sans: var(--sans);

    width: 100%;
    background: var(--fe-cream);
    color: var(--fe-black);
    scroll-margin-top: 70px;
}

.fc-enquiry,
.fc-enquiry * {
    box-sizing: border-box;
}

.fc-enquiry__inner {
    display: grid;
    grid-template-columns: 43% 57%;
    max-width: 1800px;
    min-height: 760px;
    margin: 0 auto;
}

/* LEFT IMAGE */

.fc-enquiry__visual {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    background: #c9b9a8;
}

.fc-enquiry__visual > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.fc-enquiry__visual-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(20, 12, 8, .45),
        transparent 55%
    );
    pointer-events: none;
}

.fc-enquiry__image-quote {
    position: absolute;
    left: 9%;
    bottom: 12%;
    z-index: 2;

    font-family: var(--fe-serif);
    font-size: clamp(30px, 3vw, 56px);
    font-weight: 400;
    font-style: italic;
    line-height: 1.04;
    letter-spacing: -.035em;
    color: #fff;
}

.fc-enquiry__image-label {
    position: absolute;
    left: 9%;
    bottom: 5%;
    z-index: 2;

    font-family: var(--fe-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .18em;
    color: #fff;
}

/* RIGHT CONTENT */

.fc-enquiry__content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px clamp(35px, 6vw, 115px);
}

.fc-enquiry__content-inner {
    width: 100%;
    max-width: 610px;
}

.fc-enquiry__eyebrow {
    margin-bottom: 20px;
    font-family: var(--fe-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
    color: #6d6661;
}

.fc-enquiry__eyebrow span {
    color: var(--fe-red);
}

.fc-enquiry__content h2 {
    margin: 0 0 9px !important;
    padding: 0 !important;
    font-family: var(--fe-serif) !important;
    font-size: clamp(47px, 4vw, 77px) !important;
    font-weight: 400 !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
    color: var(--fe-black) !important;
}

.fc-enquiry__subtitle {
    margin: 0 0 35px !important;
    font-family: var(--fe-serif);
    font-size: clamp(23px, 2vw, 35px);
    font-style: italic;
    line-height: 1.2;
    color: var(--fe-red);
}

/* FORM */

.fc-enquiry__form {
    width: 100%;
}

.fc-enquiry__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 25px;
}

.fc-enquiry__field {
    min-width: 0;
}

.fc-enquiry__field label,
.fc-enquiry__services legend {
    display: block;
    margin-bottom: 9px;
    font-family: var(--fe-sans);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .11em;
    color: var(--fe-black);
}

.fc-enquiry__field label span,
.fc-enquiry__services legend span {
    color: var(--fe-red);
}

.fc-enquiry__field input,
.fc-enquiry__field select,
.fc-enquiry__field textarea {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #c9c1b9;
    border-radius: 0;
    background: transparent;
    box-shadow: none;

    padding: 10px 2px 12px;

    font-family: var(--fe-sans);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--fe-black);

    outline: none;
}

.fc-enquiry__field input::placeholder,
.fc-enquiry__field textarea::placeholder {
    color: #99918b;
    opacity: 1;
}

.fc-enquiry__field input:focus,
.fc-enquiry__field select:focus,
.fc-enquiry__field textarea:focus {
    border-bottom-color: var(--fe-red);
    box-shadow: none;
}

/* RADIO OPTIONS */

.fc-enquiry__services {
    min-width: 0;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
}

.fc-enquiry__services legend {
    margin-bottom: 12px;
    padding: 0;
}

.fc-enquiry__services label {
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-bottom: 11px;
    cursor: pointer;

    font-family: var(--fe-sans);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    color: #49433f;
}

.fc-enquiry__services input[type="radio"] {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--fe-red);
    cursor: pointer;
}

/* SELECTS */

.fc-enquiry__field select {
    appearance: auto;
    padding: 12px 8px;
    border: 1px solid #d7cfc7;
    background: transparent;
    cursor: pointer;
}

/* MESSAGE */

.fc-enquiry__message {
    margin-top: 4px;
}

.fc-enquiry__field textarea {
    min-height: 115px;
    padding: 13px;
    border: 1px solid #d7cfc7;
    resize: vertical;
}

.fc-enquiry__field textarea:focus {
    border-color: var(--fe-red);
}

/* HONEYPOT */

.fc-enquiry__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* BUTTON */

.fc-enquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;

    min-width: 225px;
    min-height: 50px;
    margin-top: 25px;
    padding: 15px 22px;

    border: 1px solid var(--fe-black);
    border-radius: 3px;
    background: var(--fe-black);
    color: #fff;

    font-family: var(--fe-sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;

    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.fc-enquiry__submit span:last-child {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

.fc-enquiry__submit:hover {
    background: var(--fe-red);
    border-color: var(--fe-red);
}

.fc-enquiry__feedback {
    margin: 12px 0 0 !important;
    font-family: var(--fe-sans);
    font-size: 12px;
    line-height: 1.5;
    color: var(--fe-red);
}

.fc-enquiry__feedback:empty {
    display: none;
}

/* TABLET */

@media (min-width: 768px) and (max-width: 1100px) {

    .fc-enquiry__inner {
        grid-template-columns: 40% 60%;
        min-height: 680px;
    }

    .fc-enquiry__visual {
        min-height: 680px;
    }

    .fc-enquiry__content {
        padding: 45px 7%;
    }

    .fc-enquiry__content h2 {
        font-size: clamp(42px, 5vw, 60px) !important;
    }

    .fc-enquiry__subtitle {
        font-size: 25px;
    }

    .fc-enquiry__row {
        gap: 15px;
    }
}

/* MOBILE */

@media (max-width: 767px) {

    .fc-enquiry__inner {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .fc-enquiry__visual {
        min-height: 0;
        height: clamp(250px, 68vw, 360px);
    }

    .fc-enquiry__image-quote {
        left: 7%;
        bottom: 18%;
        font-size: clamp(28px, 7vw, 39px);
    }

    .fc-enquiry__image-label {
        left: 7%;
        bottom: 7%;
        font-size: 8px;
    }

    .fc-enquiry__content {
        display: block;
        padding: 36px 7% 48px;
    }

    .fc-enquiry__eyebrow {
        margin-bottom: 13px;
        font-size: 9px;
    }

    .fc-enquiry__content h2 {
        font-size: clamp(43px, 10.5vw, 61px) !important;
    }

    .fc-enquiry__subtitle {
        margin-bottom: 27px !important;
        font-size: 24px;
    }

    .fc-enquiry__row {
        gap: 17px;
        margin-bottom: 22px;
    }

    .fc-enquiry__field label,
    .fc-enquiry__services legend {
        font-size: 9px;
    }

    .fc-enquiry__field input,
    .fc-enquiry__field select,
    .fc-enquiry__field textarea {
        font-size: 12px;
    }

    .fc-enquiry__services label {
        font-size: 12px;
    }

    .fc-enquiry__services {
        margin-bottom: 22px;
    }

    .fc-enquiry__submit {
        width: 100%;
        margin-top: 20px;
    }
}

@media (max-width: 390px) {

    .fc-enquiry__content {
        padding: 30px 6% 40px;
    }

    .fc-enquiry__content h2 {
        font-size: 40px !important;
    }

    .fc-enquiry__row {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* =========================================================
   FEMME CREATIVE — ABOUT HERO SPACING FIX
   Desktop only
========================================================= */

@media (min-width: 768px){

  /* Bring the entire editorial composition upwards */
  .fc-about-hero__stage{
    transform:translateY(-75px);
  }

  /* Keep the foreground portrait aligned with the image */
  .fc-about-hero__background,
  .fc-about-hero__foreground,
  .fc-about-hero__title{
    transform-origin:center center;
  }

}
/* =========================================================
   ACCESSIBILITY — visually hidden, still read by screen readers and search engines
========================================================= */
.fc-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* ---- moved from footer.php <style id="FC-FOOTER-FINAL-BLACK-V2"> ---- */
/* Black editorial footer */
html body footer.fc-footer {
    background: #050505 !important;
    background-color: #050505 !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* White footer typography */
html body footer.fc-footer p,
html body footer.fc-footer span,
html body footer.fc-footer small,
html body footer.fc-footer strong,
html body footer.fc-footer li,
html body footer.fc-footer nav,
html body footer.fc-footer a,
html body footer.fc-footer .fc-footer-brand,
html body footer.fc-footer .fc-footer-nav,
html body footer.fc-footer .fc-footer-social,
html body footer.fc-footer .fc-footer-mail {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* White social icons */
html body footer.fc-footer svg {
    color: #ffffff !important;
}

/* Preserve icon shapes */
html body footer.fc-footer svg [stroke] {
    stroke: currentColor !important;
}

/* Subtle burgundy hover */
html body footer.fc-footer a:hover {
    color: #c88b8b !important;
    -webkit-text-fill-color: #c88b8b !important;
}

/* Elegant footer separators */
html body footer.fc-footer hr {
    border-color: rgba(255,255,255,.18) !important;
}


/* =========================================================
   ARROW ICON (replaces the ↗ character, which iPhones show as an emoji)
========================================================= */
.fc-arrow{
  display:inline-block;
  width:.72em;
  height:.72em;
  vertical-align:.02em;
  overflow:visible;
  flex:none;
}
.fc-arrow path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.1;
  stroke-linecap:square;
  vector-effect:non-scaling-stroke;
}


/* =========================================================
   404 — PAGE NOT FOUND
========================================================= */
.fc-404{
  min-height:calc(100svh - 76px);
  padding:28px clamp(21px,5vw,75px) 80px;
  background:#fff;
  color:#050505;
  display:flex;
  flex-direction:column;
}
.fc-404__top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font:700 11px/1.4 var(--sans);
  letter-spacing:.16em;
}
.fc-404__top b{ color:#670505; padding:0 10px; font-weight:700; }
.fc-404__body{
  margin:auto 0;
  padding-top:40px;
  max-width:880px;
}
.fc-404__number{
  margin:0;
  font:500 clamp(120px,24vw,300px)/.8 var(--serif);
  letter-spacing:-.04em;
  color:#670505;
}
.fc-404__title{
  margin:28px 0 0;
  font:500 var(--fs-h2, 56px)/1 var(--serif);
  letter-spacing:-.01em;
}
.fc-404__title em{ color:#670505; font-style:italic; }
.fc-404__text{
  max-width:460px;
  margin:22px 0 0;
  font:400 var(--fs-body, 16px)/1.65 var(--sans);
  color:rgba(5,5,5,.68);
}
.fc-404__links{
  display:flex;
  flex-wrap:wrap;
  gap:14px 34px;
  margin-top:40px;
}
.fc-404__links a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:0 2px;
  border-bottom:1px solid #050505;
  color:#050505;
  font:700 11px/1 var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .25s, border-color .25s;
}
.fc-404__links a:hover{ color:#670505; border-color:#670505; }
.fc-404__links a.fc-404__primary{
  padding:0 26px;
  border:0;
  background:#050505;
  color:#fff;
}
.fc-404__links a.fc-404__primary:hover{ background:#670505; color:#fff; }
@media(max-width:600px){
  .fc-404__top span:last-child{ display:none; }
  .fc-404__links{ flex-direction:column; align-items:flex-start; }
}


/* =========================================================
   FOOTER — LEGAL LINE (copyright, ABN, phone, privacy)
========================================================= */

.fc-footer-legal{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 28px;
  margin-top:-14px;
  padding-top:22px;
  border-top:1px solid rgba(5,5,5,.12);
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(5,5,5,.6);
}

.fc-footer-legal a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(5,5,5,.25);
  transition:color .2s ease, border-color .2s ease;
}

.fc-footer-legal a:hover,
.fc-footer-legal a:focus-visible{
  color:#780000;
  border-color:#780000;
}

@media(max-width:700px){
  .fc-footer-legal{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    margin-top:0;
    gap:10px;
  }
}


/* =========================================================
   FORM CONSENT LINE (audit pop-up, Contact)
========================================================= */

.fc-form-consent{
  margin:14px 0 0;
  max-width:46ch;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.55;
  letter-spacing:0;
  text-transform:none;
  opacity:.72;
}

.fc-form-consent a,
.fc-audit-form__consent a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}


/* =========================================================
   ELEVATOR — SKIP INTRO (bottom right, above browser toolbars)
========================================================= */

.fc-elevator-skip{
  position:fixed;
  z-index:5;
  right:calc(22px + env(safe-area-inset-right, 0px));
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));

  display:inline-flex;
  align-items:center;
  gap:9px;

  margin:0;
  padding:11px 16px 11px 18px;

  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;

  color:#f6efe6;
  background:rgba(5,5,5,.42);
  border:1px solid rgba(246,239,230,.42);
  border-radius:999px;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);

  cursor:pointer;
  opacity:0;
  animation:fcSkipIn .5s ease .8s forwards;
  transition:background .2s ease, border-color .2s ease;
}

.fc-elevator-skip:hover,
.fc-elevator-skip:focus-visible{
  background:rgba(103,5,5,.78);
  border-color:rgba(246,239,230,.75);
}

.fc-elevator-skip:focus-visible{
  outline:2px solid #f6efe6;
  outline-offset:3px;
}

@keyframes fcSkipIn{
  to{ opacity:1; }
}

@media(max-width:767px){
  .fc-elevator-skip{
    right:calc(16px + env(safe-area-inset-right, 0px));
    bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  }
}


/* WP Rocket "lazy render" (content-visibility) breaks the scroll animations'
   measurements; the theme also switches it off in inc/site-ops.php. */
[data-wpr-lazyrender]{
  content-visibility:visible !important;
}


/* =========================================================
   LEGAL PAGES (Privacy Policy)
========================================================= */

.fc-legal{
  padding:28px clamp(21px,5vw,75px) 100px;
  background:#fff;
  color:#050505;
}

.fc-legal__top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font:700 11px/1.4 var(--sans);
  letter-spacing:.16em;
}

.fc-legal__top b{ color:#780000; padding:0 12px; font-weight:700; }

.fc-legal__head{
  max-width:880px;
  margin:clamp(48px,8vw,110px) 0 clamp(40px,6vw,80px);
}

.fc-legal__title{
  margin:0;
  font:500 clamp(58px,9vw,128px)/.88 var(--serif);
  letter-spacing:-.04em;
}

.fc-legal__title em{ color:#780000; font-style:italic; }

.fc-legal__lede{
  max-width:560px;
  margin:28px 0 0;
  font:400 var(--fs-body-lg, 18px)/1.65 var(--sans);
  color:rgba(5,5,5,.72);
}

.fc-legal__body{
  max-width:760px;
  border-top:1px solid rgba(5,5,5,.14);
}

.fc-legal__body section{
  padding:34px 0;
  border-bottom:1px solid rgba(5,5,5,.1);
}

.fc-legal__body h2{
  margin:0 0 14px;
  font:500 var(--fs-h3, 28px)/1.15 var(--serif);
  letter-spacing:-.01em;
}

.fc-legal__body p,
.fc-legal__body li{
  font:400 var(--fs-body, 16px)/1.7 var(--sans);
  color:rgba(5,5,5,.78);
}

.fc-legal__body p{ margin:0 0 12px; }
.fc-legal__body p:last-child{ margin-bottom:0; }

.fc-legal__body ul{
  margin:0 0 14px;
  padding-left:1.2em;
}

.fc-legal__body li{ margin:0 0 6px; }
.fc-legal__body li::marker{ color:#780000; }

.fc-legal__body a{
  color:#780000;
  text-decoration:underline;
  text-underline-offset:3px;
}

.fc-legal__contact p{ line-height:1.9; }

@media(max-width:767px){
  .fc-legal{ padding-top:23px; }
  .fc-legal__top span:last-child{ display:none; }
}


/* =========================================================
   AUDIT POP-UP — COMPACT: the whole form fits on one screen
   Desktop/tablet: two-column grid (name | email, phone | website),
   message, then send + consent. Phones: tighter single column.
========================================================= */

.fc-audit-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:28px;
}

.fc-audit-form-row{
  display:contents;
}

.fc-audit-form > .fc-enquiry__honeypot{
  position:absolute;
}

.fc-audit-form > .fc-audit-field:has(textarea),
.fc-audit-submit,
.fc-audit-form .fc-form-consent,
.fc-audit-form-status{
  grid-column:1 / -1;
}

@media(min-width:701px){

  .fc-audit-modal-panel{
    width:min(100%, 860px);
    max-height:calc(100vh - 32px);
    max-height:calc(100dvh - 32px);
    padding:40px 56px 30px;
  }

  .fc-audit-modal-close{
    top:14px;
    right:16px;
  }

  .fc-audit-modal-heading{
    max-width:none;
    margin-bottom:24px;
  }

  .fc-audit-modal-heading > span{
    margin-bottom:12px;
  }

  .fc-audit-modal-heading h2{
    margin-bottom:12px;
    font-size:clamp(38px, 3.6vw, 54px);
  }

  .fc-audit-modal-heading p{
    font-size:13px;
  }

  .fc-audit-field{
    margin-bottom:18px;
  }

  .fc-audit-field label{
    margin-bottom:4px;
  }

  .fc-audit-field input,
  .fc-audit-field textarea{
    padding:8px 0;
    font-size:18px;
  }

  .fc-audit-field textarea{
    min-height:58px;
    height:58px;
  }

  .fc-audit-submit{
    margin-top:4px;
    padding:17px 22px;
  }

  .fc-audit-form .fc-form-consent{
    max-width:none;
    margin-top:10px;
  }

  .fc-audit-form-status{
    min-height:0;
    margin-top:6px;
  }
}

@media(max-width:700px){

  .fc-audit-form{
    column-gap:14px;
  }

  /* name and website full width; email | phone side by side */
  .fc-audit-form > .fc-audit-field{
    grid-column:1 / -1;
  }

  .fc-audit-modal-panel{
    padding:46px 20px 22px;
  }

  .fc-audit-modal-close{
    top:8px;
    right:10px;
  }

  .fc-audit-modal-heading{
    margin-bottom:18px;
  }

  .fc-audit-modal-heading > span{
    margin-bottom:10px;
  }

  .fc-audit-modal-heading h2{
    margin-bottom:8px;
    font-size:34px;
  }

  .fc-audit-modal-heading p{
    font-size:12.5px;
    line-height:1.5;
  }

  .fc-audit-field{
    margin-bottom:14px;
  }

  .fc-audit-field label{
    margin-bottom:2px;
  }

  .fc-audit-field input,
  .fc-audit-field textarea{
    padding:7px 0;
    font-size:16px;
  }

  .fc-audit-field textarea{
    min-height:48px;
    height:48px;
  }

  .fc-audit-submit{
    margin-top:2px;
    padding:15px 18px;
  }

  .fc-audit-form .fc-form-consent{
    margin-top:10px;
    font-size:11px;
  }

  .fc-audit-form-status{
    min-height:0;
    margin-top:4px;
  }
}




/* =========================================================
   FOOTER — everything centred on desktop too (logo, menu, social, legal)
========================================================= */

@media(min-width:1051px){

  .fc-footer{
    grid-template-columns:1fr;
    justify-items:center;
    gap:30px;
    padding-top:56px;
    padding-bottom:40px;
    text-align:center;
  }

  .fc-footer-brand{
    align-items:center;
  }

  .fc-footer-social{
    justify-content:center;
  }

  .fc-footer-legal{
    grid-column:1 / -1;
    width:100%;
    max-width:760px;
    margin-top:0;
  }
}


/* =========================================================
   BACK TO TOP — thin outlined circle, bottom right
   (blend mode keeps it black on light sections, white on dark ones)
========================================================= */

.fc-to-top{
  position:fixed;
  z-index:900;
  right:calc(22px + env(safe-area-inset-right, 0px));
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));

  display:flex;
  align-items:center;
  justify-content:center;

  width:46px;
  height:46px;
  padding:0;

  color:#fff;
  background:transparent;
  border:1px solid currentColor;
  border-radius:50%;
  mix-blend-mode:difference;

  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
}

.fc-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
  transition:opacity .35s ease, transform .35s ease, visibility 0s;
}

.fc-to-top svg{
  width:16px;
  height:16px;
}

.fc-to-top path{
  fill:none;
  stroke:currentColor;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

.fc-to-top:hover svg{
  transform:translateY(-2px);
  transition:transform .25s ease;
}

.fc-to-top:focus-visible{
  outline:1px solid currentColor;
  outline-offset:4px;
}

body.fc-elevator-active .fc-to-top,
body.fc-audit-open .fc-to-top{
  display:none;
}

@media(max-width:767px){
  .fc-to-top{
    right:calc(16px + env(safe-area-inset-right, 0px));
    bottom:calc(18px + env(safe-area-inset-bottom, 0px));
    width:42px;
    height:42px;
  }
}


/* =========================================================
   ELEVATOR — nothing of the page shows below it on phones
   (iOS can leave a strip under its see-through toolbar outside the
   viewport units; a black shadow fills it)
========================================================= */

.fc-elevator-intro{
  box-shadow:0 220px 0 0 #000;
}


/* Audit pop-up: the compact two-column form uses display:grid, which would
   override the hidden attribute; keep the form (and heading) hidden once the
   success message shows, so the message sits on its own. */
.fc-audit-form[hidden],
.fc-audit-modal-heading[hidden],
.fc-audit-success[hidden]{
  display:none !important;
}
