/* Fleury Conservation — shared design system
   Brushes backdrop, yellow identity, SF-mono accents. */
:root{
  --paper:#0a0a09; --yellow:#ECEC0A; --y-dim:rgba(236,236,10,0.58);
  --soft:rgba(244,242,228,0.7); --hair:rgba(236,236,10,0.22);
  --navink:rgba(244,242,232,0.92);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --pad:clamp(1.1rem,3.5vw,2.6rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--yellow);
     -webkit-font-smoothing:antialiased;font-size:clamp(15px,0.6vw+13px,17.5px);
     line-height:1.5;letter-spacing:0.005em;}
a{color:inherit;text-decoration:none;}

/* backdrop */
.bg{position:fixed;inset:0;z-index:-3;overflow:hidden;background:#111;}
.bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
          transform:scale(1.04);filter:brightness(0.82) contrast(1.05) grayscale(0.25);}
.bg__dim{position:fixed;inset:0;z-index:-2;pointer-events:none;
         background:linear-gradient(to bottom,rgba(8,8,6,0.04),rgba(8,8,6,0.12) 55%,rgba(8,8,6,0.28));}
.bg__scroll{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#0a0a08;opacity:0;}
/* inner pages sit on a steadier, slightly deeper ground for reading */
body.page .bg__dim{background:linear-gradient(to bottom,rgba(8,8,6,0.3),rgba(8,8,6,0.42));}

/* legibility of yellow over the light brush */
.hero h1,.hero .tag,.lede,h1.page-h1,h2,.flag,.prose p,.eyebrow,.strands .name,.strands .desc,
.clients__list li,.address,.field label{text-shadow:0 1px 2px rgba(0,0,0,0.5),0 0 26px rgba(0,0,0,0.32);}

/* top bar */
.top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;
     align-items:center;gap:1rem;padding:0.85rem var(--pad);color:var(--navink);
     background:rgba(20,20,18,0.5);-webkit-backdrop-filter:blur(8px) saturate(160%);
     backdrop-filter:blur(8px) saturate(160%);border-bottom:1px solid rgba(255,255,255,0.08);font-size:0.9rem;}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:0.3rem 0.7rem;}
.nav a{color:var(--navink);opacity:0.9;} .nav a:hover{opacity:1;}
.nav a[aria-current]{color:var(--yellow);opacity:1;}
.nav .brand{font-weight:600;} .nav .sep{opacity:0.35;}
.top__right{display:flex;align-items:center;gap:0.9rem;}
.top__right a{display:inline-flex;opacity:0.85;} .top__right a:hover{opacity:1;}
.top__right svg{width:17px;height:17px;fill:currentColor;display:block;}
.clock{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:0.8rem;letter-spacing:0.06em;opacity:0.75;}

/* hero (landing) */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
      padding:0 var(--pad) clamp(3rem,10vh,7rem);}
.hero h1{margin:0 0 0.5rem;font-weight:500;font-size:clamp(2.2rem,6.4vw,5rem);line-height:1;letter-spacing:-0.03em;}
.hero .tag{margin:0;max-width:34rem;font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.3;letter-spacing:-0.01em;}
.cue{margin-top:2.2rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--y-dim);}

/* inner-page header */
.page-head{padding:calc(5rem + 4vh) var(--pad) 0;max-width:74rem;margin:0 auto;}
h1.page-h1{font-weight:500;font-size:clamp(2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-0.03em;margin:0 0 0.5rem;}
h1.page-h1 .sub{display:block;font-size:0.42em;color:var(--y-dim);font-weight:400;letter-spacing:-0.01em;margin-top:0.6rem;}

section{padding:clamp(3rem,9vh,6.5rem) var(--pad);}
.wrap{max-width:74rem;margin:0 auto;}
.measure{max-width:42rem;}
.eyebrow{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--y-dim);margin:0 0 1.5rem;}
.lede{font-size:clamp(1.3rem,2.4vw,2.1rem);line-height:1.34;font-weight:400;letter-spacing:-0.015em;max-width:26ch;margin:0;}
.lede .soft{color:var(--soft);}
h2{font-weight:500;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.06;letter-spacing:-0.03em;margin:0 0 1.3rem;}
.prose p{max-width:42rem;margin:0 0 1.15em;color:var(--soft);}
.prose p.lead{color:var(--yellow);}
.prose a{color:var(--yellow);} .prose a:hover{text-decoration:underline;text-underline-offset:3px;}
.flag{color:var(--yellow);font-weight:600;font-size:clamp(1.2rem,2.2vw,1.7rem);margin:0 0 1.2rem;}

/* strands */
.strands{margin:0;padding:0;list-style:none;border-top:1px solid var(--hair);}
.strands li{border-bottom:1px solid var(--hair);}
.strands a{display:grid;grid-template-columns:2.6rem minmax(9rem,16rem) 1fr auto;gap:1rem 2rem;
           align-items:baseline;padding:1.7rem 0;transition:padding .5s var(--ease);}
.strands a:hover{padding-left:0.5rem;}
.strands .num{font-family:var(--mono);font-size:0.76rem;color:var(--y-dim);}
.strands .name{font-size:clamp(1.25rem,2.1vw,1.8rem);font-weight:500;letter-spacing:-0.02em;}
.strands .desc{color:var(--soft);font-size:0.96rem;max-width:34ch;}
.strands .go{font-family:var(--mono);color:var(--y-dim);transition:transform .5s var(--ease),color .3s;}
.strands a:hover .go{transform:translateX(6px);color:var(--yellow);}
@media(max-width:52rem){.strands a{grid-template-columns:2.2rem 1fr;gap:0.25rem 1rem;}.strands .desc{grid-column:2;}.strands .go{display:none;}}

.divider{max-width:74rem;margin:0 auto;height:1px;background:var(--hair);}

.clients__list{list-style:none;padding:0;margin:0.4rem 0 0;display:flex;flex-wrap:wrap;gap:0.8rem 2rem;font-size:clamp(1rem,1.4vw,1.15rem);}
.clients__list li{position:relative;}
.clients__list li+li::before{content:"";position:absolute;left:-1rem;top:0.55em;width:3px;height:3px;border-radius:50%;background:var(--y-dim);}

/* info page */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
@media(max-width:46rem){.info-grid{grid-template-columns:1fr;}}
.address{font-style:normal;line-height:1.85;color:var(--yellow);}
.map{width:100%;aspect-ratio:4/3;border:1px solid var(--hair);filter:grayscale(0.2);}
.map iframe{width:100%;height:100%;border:0;display:block;}
.form{margin-top:1.4rem;max-width:34rem;}
.field{margin-bottom:1rem;display:flex;flex-direction:column;gap:0.35rem;}
.field label{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--y-dim);}
.field input,.field textarea{font-family:inherit;font-size:1rem;color:var(--yellow);padding:0.7rem 0.8rem;
   border:1px solid var(--hair);background:rgba(0,0,0,0.35);}
.field textarea{resize:vertical;min-height:8rem;}
.field input:focus,.field textarea:focus{outline:2px solid var(--yellow);outline-offset:-1px;}
.btn{font-family:var(--mono);font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.75rem 1.4rem;
   border:1px solid var(--yellow);background:var(--yellow);color:#0a0a09;cursor:pointer;}
.btn:hover{background:transparent;color:var(--yellow);}

/* footer */
.foot{border-top:1px solid var(--hair);padding:2.6rem var(--pad);display:flex;flex-wrap:wrap;gap:0.7rem 1.6rem;
      justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:0.78rem;letter-spacing:0.03em;color:var(--y-dim);max-width:74rem;margin:0 auto;}
.foot a:hover{color:var(--yellow);} .foot__links{display:flex;gap:1.3rem;flex-wrap:wrap;} .foot .cta{color:var(--yellow);}

.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.bg video{transform:none;}}

/* ---------- Mobile menu ---------- */
.nav-toggle{display:none;}
.mobile-menu{display:none;}
@media (max-width:40rem){
  .top{flex-wrap:nowrap;padding:0.8rem var(--pad);}
  .nav a:not(.brand),.nav .sep{display:none;}   /* only the brand stays in the bar */
  .nav .brand{font-size:1rem;}
  .top__right{display:none;}                     /* icons + clock move into the menu */
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:38px;height:38px;padding:8px;margin:-8px -6px -8px 0;background:none;border:0;cursor:pointer;z-index:21;}
  .nav-toggle span{display:block;height:2px;width:100%;background:var(--navink);border-radius:2px;
    transition:transform .3s var(--ease),opacity .2s;}
  body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.menu-open .nav-toggle span:nth-child(2){opacity:0;}
  body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:18;
    background:rgba(9,9,8,0.975);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    padding:5.2rem var(--pad) 2rem;transform:translateY(-100%);transition:transform .38s var(--ease);
    overscroll-behavior:contain;}
  body.menu-open{overflow:hidden;}
  body.menu-open .mobile-menu{transform:translateY(0);}
  .mobile-menu a{color:var(--yellow);font-size:1.5rem;font-weight:500;letter-spacing:-0.02em;
    padding:1rem 0;border-bottom:1px solid var(--hair);text-decoration:none;}
  .mobile-menu a[aria-current]{opacity:0.6;}
  .mobile-menu .mm-social{margin-top:1.4rem;display:flex;gap:1.6rem;font-family:var(--mono);
    font-size:0.9rem;letter-spacing:0.04em;color:var(--y-dim);}
  .mobile-menu .mm-social a{font-size:0.9rem;font-weight:400;color:var(--y-dim);padding:0;border:0;}
}
