*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --ink:#1A1208;
  --paper:#F5EFE0;
  --paper2:#EDE4CC;
  --paper3:#D9CDB0;
  --rust:#C4451A;
  --rust2:#E05A28;
  --gold:#C8960A;
  --gold2:#E8B020;
  --navy:#0F2040;
  --navy2:#1A3560;
  --pine:#1A4030;
  --pine2:#2A6048;
  --sky:#D4E8F4;
  --chalk:#FDFAF4;
}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}

/* ── GRAIN TEXTURE OVERLAY ── */
body::before{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;z-index:999;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:1.25rem 2.5rem;
  display:flex;align-items:center;justify-content:space-between;
  mix-blend-mode:normal;
}
nav::before{
  content:'';position:absolute;inset:0;
  background:var(--paper);
  opacity:.92;backdrop-filter:blur(8px);
  border-bottom:2px solid var(--ink);
  z-index:-1;
}
.nav-logo{
  display:flex;align-items:baseline;gap:.4rem;
}
.nav-logo-big{
  font-family:'Abril Fatface',serif;
  font-size:22px;color:var(--ink);letter-spacing:.01em;
  position:relative;
}
.nav-logo-big::after{
  content:'';
  position:absolute;bottom:-2px;left:0;right:0;
  height:3px;background:var(--rust);
}
.nav-logo-small{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:600;
  color:var(--rust);letter-spacing:.04em;
}
.nav-right{display:flex;align-items:center;gap:2rem}
.nav-item{
  font-size:13px;font-weight:400;letter-spacing:.04em;
  color:var(--ink);opacity:.5;transition:opacity .15s;
  position:relative;
}
.nav-item:hover{opacity:1}
.nav-cta{
  font-family:'Caveat',cursive;
  font-size:18px;font-weight:700;
  background:var(--ink);color:var(--paper);
  padding:8px 20px;
  transform:rotate(-1deg);
  display:inline-block;
  transition:transform .15s,background .15s;
  border:2px solid var(--ink);
}
.nav-cta:hover{transform:rotate(0deg);background:var(--rust);border-color:var(--rust)}

/* ── HERO ── */
.hero{
  min-height:100vh;
  background:var(--navy);
  position:relative;overflow:hidden;
  display:flex;align-items:center;
  padding-top:80px;
}

/* Diagonal paper tear effect */
.hero::after{
  content:'';
  position:absolute;bottom:-2px;left:0;right:0;
  height:120px;
  background:var(--paper);
  clip-path:polygon(0 60%, 15% 20%, 30% 70%, 45% 15%, 60% 65%, 75% 10%, 90% 55%, 100% 20%, 100% 100%, 0 100%);
  z-index:3;
}

/* Hand-drawn circle doodles */
.doodle-circle{
  position:absolute;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.doodle-line{
  position:absolute;
  background:rgba(255,255,255,.06);
  pointer-events:none;
  transform-origin:center;
}
.scribble{
  position:absolute;
  pointer-events:none;
  opacity:.12;
}

.hero-content{
  position:relative;z-index:2;
  max-width:1100px;margin:0 auto;padding:0 2.5rem;
  width:100%;
}

/* Big stacked type — broken grid */
.hero-label{
  font-family:'Caveat',cursive;
  font-size:20px;font-weight:600;
  color:var(--gold2);
  letter-spacing:.06em;
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.75rem;
}
.hero-label::before{
  content:'→';font-size:22px;
}

.hero-type-block{position:relative}

.hero-word-1{
  font-family:'Abril Fatface',serif;
  font-size:clamp(5rem,12vw,11rem);
  color:var(--paper);
  line-height:.88;
  letter-spacing:-.02em;
  display:block;
  position:relative;
  left:-4px;
}
.hero-word-2{
  font-family:'Abril Fatface',serif;
  font-size:clamp(5rem,12vw,11rem);
  color:transparent;
  -webkit-text-stroke:2px var(--gold2);
  line-height:.88;
  letter-spacing:-.02em;
  display:block;
  position:relative;
  left:clamp(30px,8vw,120px);
}
.hero-word-3{
  font-family:'Abril Fatface',serif;
  font-size:clamp(5rem,12vw,11rem);
  color:var(--rust2);
  line-height:.88;
  letter-spacing:-.02em;
  display:block;
  position:relative;
  left:clamp(10px,3vw,40px);
}

/* Handwritten annotation */
.hero-annotation{
  position:absolute;
  right:2.5rem;top:50%;
  transform:translateY(40%);
  max-width:240px;
  text-align:center;
}
.annotation-circle{
  width:200px;height:200px;
  border-radius:50%;
  border:3px solid var(--gold2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:1.5rem;
  position:relative;
  margin:0 auto;
  transform:rotate(3deg);
}
.annotation-circle::before{
  content:'';
  position:absolute;inset:-6px;
  border-radius:50%;
  border:1.5px dashed rgba(232,176,32,.3);
}
.ann-text{
  font-family:'Caveat',cursive;
  font-size:18px;font-weight:700;
  color:var(--gold2);
  line-height:1.3;text-align:center;
}
.ann-sub{
  font-family:'Caveat',cursive;
  font-size:14px;font-weight:400;
  color:rgba(232,176,32,.65);
  margin-top:.4rem;
}
.ann-arrow{
  font-family:'Caveat',cursive;
  font-size:28px;color:var(--gold2);
  position:absolute;bottom:-40px;left:50%;
  transform:translateX(-50%) rotate(15deg);
}

.hero-bottom{
  margin-top:3rem;
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:2rem;
}
.hero-tagline{
  font-size:16px;font-weight:300;
  color:rgba(245,239,224,.55);
  line-height:1.75;max-width:400px;
}
.hero-tagline strong{color:var(--gold2);font-weight:500}

.hero-cta-group{display:flex;flex-direction:column;gap:.75rem;align-items:flex-end}
.hcta-main{
  font-family:'Caveat',cursive;
  font-size:22px;font-weight:700;
  background:var(--rust);color:var(--chalk);
  padding:12px 28px;
  display:inline-block;
  transform:rotate(-1.5deg);
  transition:transform .15s;
  border:2px solid var(--rust);
}
.hcta-main:hover{transform:rotate(0deg) scale(1.02)}
.hcta-sub{
  font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(245,239,224,.3);
}

/* Credential stamps */
.stamp-row{
  display:flex;gap:.75rem;flex-wrap:wrap;
  margin-top:1.5rem;
}
.stamp{
  border:2px solid rgba(245,239,224,.15);
  padding:6px 12px;
  font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(245,239,224,.4);
  transform:rotate(-0.5deg);
  position:relative;
}
.stamp:nth-child(2){transform:rotate(.8deg)}
.stamp:nth-child(3){transform:rotate(-.3deg)}
.stamp:nth-child(4){transform:rotate(1deg)}
.stamp:nth-child(5){transform:rotate(-.7deg)}

/* ── DIAGONAL BREAK SECTION ── */
.diagonal-into{
  background:var(--paper);
  padding:5rem 0 3rem;
  position:relative;
}

/* ── ABOUT — ASYMMETRIC ── */
.about{
  background:var(--paper);
  padding:4rem 0 8rem;
  position:relative;overflow:hidden;
}
.about-wrap{max-width:1100px;margin:0 auto;padding:0 2.5rem;position:relative}

/* Giant background letter */
.about-bg-letter{
  position:absolute;
  right:-40px;top:-60px;
  font-family:'Abril Fatface',serif;
  font-size:28rem;
  color:rgba(26,16,8,.04);
  line-height:1;
  pointer-events:none;
  user-select:none;
  z-index:0;
}

.about-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  position:relative;z-index:1;
}
.about-left{padding-top:2rem}

.handwritten-header{
  font-family:'Caveat',cursive;
  font-size:15px;font-weight:600;
  color:var(--rust);letter-spacing:.08em;
  margin-bottom:.5rem;
  display:flex;align-items:center;gap:.5rem;
}
.handwritten-header::before{content:'✱';font-size:12px}

.about-h2{
  font-family:'Abril Fatface',serif;
  font-size:clamp(2.4rem,4vw,4rem);
  color:var(--ink);line-height:.95;
  letter-spacing:-.02em;
  margin-bottom:2rem;
}
.about-h2 .scratch{
  position:relative;display:inline-block;
  color:var(--rust);
}
.about-h2 .scratch::after{
  content:'';
  position:absolute;bottom:4px;left:0;right:0;
  height:6px;
  background:var(--gold2);
  opacity:.35;
  transform:rotate(-.8deg);
  z-index:-1;
}

.about-body{
  font-size:15px;font-weight:300;
  color:#4A3E2E;line-height:1.9;
  margin-bottom:1.5rem;
  position:relative;
}
.about-body strong{font-weight:500;color:var(--ink)}

/* Post-it note style */
.postit{
  background:var(--gold2);
  padding:1.25rem 1.5rem;
  transform:rotate(1.5deg);
  margin-top:2rem;
  position:relative;
  box-shadow:3px 4px 0 rgba(26,16,8,.15);
}
.postit::before{
  content:'';
  position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  width:32px;height:16px;
  background:rgba(26,16,8,.2);
  clip-path:ellipse(50% 50% at 50% 50%);
}
.postit-text{
  font-family:'Caveat',cursive;
  font-size:17px;font-weight:600;
  color:var(--ink);line-height:1.4;
}

.about-right{
  display:flex;flex-direction:column;
  gap:0;
  padding-top:5rem;
}

/* Torn card style */
.torn-card{
  background:var(--chalk);
  padding:1.75rem 2rem;
  margin-bottom:2px;
  position:relative;
  border-left:4px solid var(--rust);
  transition:transform .2s,box-shadow .2s;
}
.torn-card:hover{transform:translateX(6px);box-shadow:-6px 0 0 var(--gold2)}
.torn-card:nth-child(even){
  margin-left:1.5rem;
  border-left-color:var(--navy);
}
.torn-card:nth-child(even):hover{box-shadow:-6px 0 0 var(--navy)}
.tc-num{
  font-family:'Caveat',cursive;
  font-size:13px;font-weight:700;
  color:var(--rust);letter-spacing:.1em;
  margin-bottom:.4rem;
}
.tc-title{
  font-size:14px;font-weight:500;
  color:var(--ink);margin-bottom:.3rem;
}
.tc-text{font-size:13px;font-weight:300;color:#6A5A48;line-height:1.6}

/* ── SERVICES — DIAGONAL LAYOUT ── */
.services{
  background:var(--ink);
  position:relative;overflow:hidden;
  padding:8rem 0 6rem;
}
.services::before{
  content:'';
  position:absolute;top:-2px;left:0;right:0;
  height:100px;
  background:var(--paper);
  clip-path:polygon(0 0, 100% 0, 100% 30%, 75% 90%, 50% 30%, 25% 90%, 0 30%);
  z-index:2;
}
.services::after{
  content:'';
  position:absolute;bottom:-2px;left:0;right:0;
  height:100px;
  background:var(--pine);
  clip-path:polygon(0 70%, 25% 10%, 50% 70%, 75% 10%, 100% 70%, 100% 100%, 0 100%);
  z-index:2;
}

.services-inner{
  max-width:1100px;margin:0 auto;padding:0 2.5rem;
  position:relative;z-index:3;
}
.svc-header-row{
  display:flex;align-items:flex-start;
  justify-content:space-between;
  margin-bottom:4rem;
  gap:2rem;
}
.svc-big-label{
  font-family:'Abril Fatface',serif;
  font-size:clamp(3rem,7vw,7rem);
  color:var(--paper);
  line-height:.9;letter-spacing:-.02em;
}
.svc-big-label span{
  display:block;color:transparent;
  -webkit-text-stroke:1px rgba(245,239,224,.3);
}
.svc-header-right{
  max-width:280px;padding-top:1rem;
  text-align:right;
}
.svc-handwritten{
  font-family:'Caveat',cursive;
  font-size:17px;font-weight:600;
  color:var(--gold2);margin-bottom:.5rem;
  display:block;
}
.svc-desc{
  font-size:13px;font-weight:300;
  color:rgba(245,239,224,.4);line-height:1.7;
}

/* Scattered card layout */
.svc-scatter{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.svc-item{
  padding:2rem 1.75rem;
  position:relative;
  border:1px solid rgba(245,239,224,.08);
  transition:border-color .2s,transform .2s;
  background:rgba(245,239,224,.02);
}
.svc-item:hover{
  border-color:var(--gold2);
  transform:translateY(-4px);
  background:rgba(245,239,224,.04);
}
.svc-item:nth-child(2){margin-top:2rem}
.svc-item:nth-child(3){margin-top:-1rem}
.svc-item:nth-child(5){margin-top:1.5rem}
.svc-item:nth-child(6){margin-top:-0.5rem}

.si-number{
  font-family:'Caveat',cursive;
  font-size:48px;font-weight:700;
  color:rgba(245,239,224,.06);
  line-height:1;margin-bottom:.75rem;
  display:block;
}
.si-icon{
  font-size:1.75rem;margin-bottom:.75rem;display:block;
}
.si-name{
  font-size:14px;font-weight:500;
  color:var(--paper);margin-bottom:.4rem;
  letter-spacing:.02em;
}
.si-text{
  font-size:12px;font-weight:300;
  color:rgba(245,239,224,.4);line-height:1.65;
}
.si-naics{
  margin-top:1rem;
  font-family:'Caveat',cursive;
  font-size:13px;color:var(--gold2);opacity:.6;
}

/* ── WHO WE SERVE — PINE SECTION ── */
.who{
  background:var(--pine);
  padding:8rem 0 6rem;
  position:relative;overflow:hidden;
}
.who::after{
  content:'';
  position:absolute;bottom:-2px;left:0;right:0;
  height:100px;
  background:var(--sky);
  clip-path:polygon(0 100%, 0 60%, 20% 100%, 40% 50%, 60% 100%, 80% 40%, 100% 90%, 100% 100%);
  z-index:2;
}

.who-inner{max-width:1100px;margin:0 auto;padding:0 2.5rem;position:relative;z-index:1}
.who-title-row{
  display:flex;align-items:flex-end;gap:2rem;
  margin-bottom:4rem;flex-wrap:wrap;
}
.who-big{
  font-family:'Abril Fatface',serif;
  font-size:clamp(2.5rem,6vw,6rem);
  color:var(--paper);line-height:.9;letter-spacing:-.02em;
}
.who-annotation{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:600;
  color:rgba(245,239,224,.5);
  max-width:200px;line-height:1.4;
  padding-bottom:.5rem;
}

.who-list{
  display:flex;flex-direction:column;gap:1px;
}
.who-item{
  display:grid;
  grid-template-columns:80px 1fr auto;
  align-items:center;
  gap:2rem;
  padding:2rem 2.5rem;
  background:rgba(245,239,224,.04);
  border-left:3px solid transparent;
  transition:all .2s;
  cursor:default;
}
.who-item:hover{
  background:rgba(245,239,224,.08);
  border-left-color:var(--gold2);
  transform:translateX(8px);
}
.wi-num{
  font-family:'Abril Fatface',serif;
  font-size:3.5rem;color:rgba(245,239,224,.08);
  line-height:1;letter-spacing:-.02em;
}
.wi-content{}
.wi-title{
  font-size:16px;font-weight:500;
  color:var(--paper);margin-bottom:.3rem;
}
.wi-text{font-size:13px;font-weight:300;color:rgba(245,239,224,.45);line-height:1.6}
.wi-tag{
  font-family:'Caveat',cursive;
  font-size:14px;font-weight:600;
  color:var(--gold2);
  white-space:nowrap;
}

/* ── CREDENTIALS — SKY SECTION ── */
.creds{
  background:var(--sky);
  padding:8rem 0 6rem;
  position:relative;overflow:hidden;
}
.creds::after{
  content:'';
  position:absolute;bottom:-2px;left:0;right:0;
  height:80px;
  background:var(--paper);
  clip-path:polygon(0 100%, 0 40%, 50% 90%, 100% 20%, 100% 100%);
  z-index:2;
}

.creds-inner{max-width:1100px;margin:0 auto;padding:0 2.5rem;position:relative;z-index:1}
.creds-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;align-items:start;
}
.creds-left{}
.creds-handwritten{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:600;
  color:var(--pine);letter-spacing:.06em;
  margin-bottom:.5rem;
}
.creds-h2{
  font-family:'Abril Fatface',serif;
  font-size:clamp(2rem,4vw,3.5rem);
  color:var(--navy);line-height:.95;
  letter-spacing:-.02em;
  margin-bottom:1.5rem;
}
.creds-body{
  font-size:15px;font-weight:300;
  color:#2A4050;line-height:1.85;
  margin-bottom:2rem;
}
.creds-stamp-cta{
  display:inline-block;
  font-family:'Caveat',cursive;
  font-size:20px;font-weight:700;
  background:var(--navy);color:var(--paper);
  padding:12px 28px;
  transform:rotate(-1deg);
  transition:transform .15s;
  border:2px solid var(--navy);
}
.creds-stamp-cta:hover{transform:rotate(0deg);background:var(--pine);border-color:var(--pine)}

/* Stamp-style credential display */
.creds-right{
  display:flex;flex-direction:column;gap:.75rem;
  padding-top:1rem;
}
.cred-stamp{
  display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 1.25rem;
  border:2px solid var(--navy2);
  background:rgba(15,32,64,.03);
  position:relative;
  transition:background .15s;
}
.cred-stamp::before{
  content:'';
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--navy);
}
.cred-stamp:hover{background:rgba(15,32,64,.07)}
.cred-stamp:nth-child(odd){transform:rotate(-.15deg)}
.cred-stamp:nth-child(even){transform:rotate(.1deg)}
.cs-label{
  font-size:12px;font-weight:500;letter-spacing:.06em;
  color:var(--navy);
}
.cs-val{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:700;
  color:var(--pine);
}
.cs-val.active{color:var(--pine2)}

/* ── CONTACT ── */
.contact{
  background:var(--paper);
  padding:8rem 0 6rem;
  position:relative;overflow:hidden;
}

.contact-bg-word{
  position:absolute;
  bottom:-40px;right:-20px;
  font-family:'Abril Fatface',serif;
  font-size:20rem;
  color:rgba(26,16,8,.03);
  line-height:1;
  pointer-events:none;user-select:none;
}

.contact-inner{max-width:1100px;margin:0 auto;padding:0 2.5rem;position:relative;z-index:1}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;align-items:start;
}
.contact-left{}
.contact-handwritten{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:600;
  color:var(--rust);letter-spacing:.06em;margin-bottom:.5rem;
}
.contact-h2{
  font-family:'Abril Fatface',serif;
  font-size:clamp(2.2rem,4vw,4rem);
  color:var(--ink);line-height:.95;
  letter-spacing:-.02em;margin-bottom:1.5rem;
}
.contact-body{
  font-size:15px;font-weight:300;
  color:#4A3E2E;line-height:1.85;margin-bottom:2rem;
}

.contact-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.cd-item{display:flex;align-items:baseline;gap:.85rem}
.cd-label{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:700;
  color:var(--rust);min-width:70px;
}
.cd-val{font-size:14px;font-weight:300;color:#4A3E2E}

/* Spanish block */
.spanish-block{
  background:var(--gold2);
  padding:1.25rem 1.5rem;
  transform:rotate(.5deg);
  display:inline-block;
}
.sb-title{
  font-family:'Caveat',cursive;
  font-size:20px;font-weight:700;
  color:var(--ink);margin-bottom:.2rem;
}
.sb-sub{font-size:13px;font-weight:300;color:rgba(26,16,8,.65)}

/* Form — handcrafted feel */
.contact-right{}
.form-paper{
  background:var(--chalk);
  border:2px solid var(--ink);
  padding:2.5rem;
  position:relative;
  box-shadow:6px 6px 0 var(--ink);
}
.form-paper::before{
  content:'JUMBLED CONCEPTS';
  position:absolute;top:-.75rem;left:1.5rem;
  font-family:'Caveat',cursive;
  font-size:13px;font-weight:700;
  background:var(--rust);color:var(--chalk);
  padding:3px 12px;letter-spacing:.1em;
}
.fp-title{
  font-family:'Caveat',cursive;
  font-size:22px;font-weight:700;
  color:var(--ink);
  margin-bottom:1.75rem;
  padding-bottom:1rem;
  border-bottom:1px dashed var(--paper3);
}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}
.f-group{margin-bottom:.85rem;position:relative}
.f-label{
  font-family:'Caveat',cursive;
  font-size:15px;font-weight:600;
  color:var(--rust);display:block;margin-bottom:4px;
}
.f-input{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:2px solid var(--paper3);
  color:var(--ink);
  font-family:'DM Sans',sans-serif;
  font-size:14px;font-weight:300;
  padding:8px 4px;outline:none;
  transition:border-color .15s;
  border-radius:0;
}
.f-input:focus{border-bottom-color:var(--rust)}
.f-input::placeholder{color:var(--paper3)}
select.f-input{cursor:pointer;background:transparent}
select.f-input option{background:var(--chalk);color:var(--ink)}
textarea.f-input{resize:vertical;min-height:80px;border:2px solid var(--paper3);padding:8px;margin-top:4px}
textarea.f-input:focus{border-color:var(--rust)}
.f-submit{
  font-family:'Caveat',cursive;
  font-size:22px;font-weight:700;
  background:var(--ink);color:var(--chalk);
  padding:14px 32px;width:100%;
  border:2px solid var(--ink);cursor:pointer;
  margin-top:.5rem;
  display:block;
  transform:rotate(-.5deg);
  transition:transform .15s,background .15s;
}
.f-submit:hover{transform:rotate(0deg);background:var(--rust);border-color:var(--rust)}

/* ── FOOTER ── */
footer{
  background:var(--ink);
  padding:4rem 2.5rem 2rem;
  position:relative;overflow:hidden;
}
footer::before{
  content:'JCG';
  position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  font-family:'Abril Fatface',serif;
  font-size:18rem;color:rgba(255,255,255,.02);
  line-height:1;pointer-events:none;user-select:none;
}
.footer-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:3rem;align-items:end;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(245,239,224,.08);
  position:relative;z-index:1;
}
.f-left{}
.f-name{
  font-family:'Abril Fatface',serif;
  font-size:28px;color:var(--paper);letter-spacing:-.01em;
}
.f-sub{
  font-family:'Caveat',cursive;
  font-size:16px;font-weight:600;color:var(--rust2);
  margin-top:2px;
}
.f-location{
  font-size:12px;font-weight:300;color:rgba(245,239,224,.3);
  margin-top:.5rem;letter-spacing:.06em;
}
.f-center{text-align:center}
.f-tagline{
  font-family:'Caveat',cursive;
  font-size:17px;font-weight:600;
  color:rgba(245,239,224,.3);line-height:1.6;
}
.f-tagline strong{color:var(--gold2)}
.f-right{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
.f-tag{
  font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(245,239,224,.25);
  border:1px solid rgba(245,239,224,.08);
  padding:4px 10px;
  transform:rotate(.3deg);
}
.f-tag:nth-child(2){transform:rotate(-.4deg)}
.footer-bot{
  max-width:1100px;margin:1.25rem auto 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.75rem;
  position:relative;z-index:1;
}
.f-copy{font-size:11px;font-weight:300;color:rgba(245,239,224,.2)}
.f-es{
  font-family:'Caveat',cursive;
  font-size:15px;font-weight:600;color:var(--gold2);opacity:.5;
}

/* ── REVEALS ── */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .hero-annotation{display:none}
  .about-layout,.creds-layout,.contact-grid{grid-template-columns:1fr;gap:3rem}
  .svc-scatter{grid-template-columns:1fr 1fr}
  .svc-item:nth-child(n){margin-top:0}
  .footer-inner{grid-template-columns:1fr;gap:1.5rem}
  .f-right{align-items:flex-start}
  .footer-bot{flex-direction:column;gap:.5rem}
}
@media(max-width:768px){
  nav{padding:1rem 1.25rem}
  .nav-item{display:none}
  .hero-content{padding:0 1.25rem}
  .hero-bottom{flex-direction:column;align-items:flex-start}
  .hero-cta-group{align-items:flex-start}
  .about-wrap,.services-inner,.who-inner,.creds-inner,.contact-inner{padding:0 1.25rem}
  .svc-scatter{grid-template-columns:1fr}
  .who-item{grid-template-columns:50px 1fr;gap:1rem}
  .wi-tag{display:none}
  .f-row{grid-template-columns:1fr}
  .form-paper{padding:1.75rem 1.25rem}
  footer{padding:3rem 1.25rem 1.5rem}
}
@media(max-width:480px){
  .hero-word-1,.hero-word-2,.hero-word-3{font-size:4.5rem}
  .hero-word-2{left:20px}
}