:root{
  --bg:#08090a;
  --panel:#151719;
  --panel-2:#1a1c1e;
  --cream:#f3ede5;
  --text:#d8d0c7;
  --muted:#a79e94;
  --gold:#c89143;
  --gold-soft:#8e6331;
  --line:rgba(200,145,67,.28);
  --wrap:min(1360px,92vw);
  --shadow:0 20px 70px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--cream);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:var(--wrap);margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--cream);color:#111;padding:.7rem 1rem;z-index:9999}
.skip-link:focus{top:1rem}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(8,9,10,.93);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.03);
}
.header-inner{
  min-height:105px;
  display:flex;
  align-items:center;
  gap:2rem;
}
.brand{display:flex;flex-direction:column;margin-right:auto}
.brand-name{
  font:400 clamp(2rem,3vw,3.35rem)/1 Georgia,serif;
  letter-spacing:.1em;
}
.brand-tagline{
  margin-top:.55rem;
  color:var(--gold);
  font-size:clamp(.67rem,.85vw,.82rem);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.nav{
  display:flex;
  gap:clamp(1.4rem,2.6vw,2.7rem);
  margin-left:auto;
}
.nav a{
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  position:relative;
}
.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-.45rem;
  height:1px;
  background:var(--gold);
  transition:right .25s ease;
}
.nav a:hover::after,.nav a:focus-visible::after{right:0}
.menu-toggle{display:none;background:none;border:0;padding:.5rem}
.menu-toggle span{display:block;width:25px;height:1px;background:var(--cream);margin:6px 0;transition:.25s}

.hero{
  position:relative;
  min-height:590px;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 48%,rgba(84,46,24,.26),transparent 38%),
    linear-gradient(180deg,#08090a 0%,#08090a 72%,#131517 100%);
}
.hero-inner{
  position:relative;
  z-index:2;
  padding:4.2rem 0 4rem;
}
.hero-copy{max-width:660px}
.hero h1{
  margin:0 0 1.7rem;
  font:400 clamp(2.7rem,4.6vw,4.65rem)/1.05 Georgia,serif;
  letter-spacing:-.03em;
}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p{max-width:540px;color:var(--text);font-size:1rem;margin:0 0 1.8rem}
.button{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  border:1px solid var(--gold);
  padding:.95rem 1.25rem;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:.25s;
}
.button:hover{background:var(--gold);color:#111;transform:translateY(-2px)}

.hero-lines{position:absolute;inset:0 0 0 38%;overflow:hidden}
.line{
  position:absolute;
  width:120%;
  height:160px;
  border-radius:50%;
  border-top:1px solid rgba(213,151,66,.72);
  filter:drop-shadow(0 0 16px rgba(185,111,41,.2));
}
.line-a{left:-4%;top:24%;transform:rotate(-9deg)}
.line-b{left:-9%;top:40%;transform:rotate(7deg)}
.line-c{left:4%;top:56%;transform:rotate(-4deg);opacity:.6}

.services-shell{
  margin-top:-44px;
  position:relative;
  z-index:5;
}
.services-panel{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:linear-gradient(180deg,#1a1c1e,#131517);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.service{
  text-align:center;
  padding:2.1rem 1.2rem;
  border-right:1px solid rgba(200,145,67,.2);
}
.service:last-child{border-right:0}
.icon{color:var(--gold);font-size:1.8rem;margin-bottom:.8rem}
.service h2{font:400 1.08rem/1.25 Georgia,serif;margin:.2rem 0 .7rem}
.service p{margin:0;color:var(--muted);font-size:.84rem}

.work-section{
  padding:5rem 0 5.5rem;
  background:linear-gradient(180deg,#101214 0%,#0b0c0d 28%,#08090a 100%);
}
.section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:3rem;
  margin-bottom:2rem;
}
.eyebrow{
  margin:0 0 .45rem;
  color:var(--gold);
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.section-heading h2,.about-copy h2{
  margin:0;
  font:400 clamp(2rem,3.5vw,3.6rem)/1.08 Georgia,serif;
}
.section-note{
  max-width:410px;
  color:var(--text);
  padding-left:1.5rem;
  border-left:1px solid var(--gold);
}
.project-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.project-card{
  background:#101214;
  border:1px solid rgba(200,145,67,.58);
  border-radius:10px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.project-image{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#0b0c0d;
}
.project-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .55s ease,filter .4s ease;
}
.view-label{
  position:absolute;
  right:1rem;
  bottom:1rem;
  border:1px solid var(--gold);
  background:rgba(8,9,10,.88);
  padding:.65rem .85rem;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:0;
  transform:translateY(7px);
  transition:.28s;
}
.project-card:hover img{transform:scale(1.045);filter:brightness(.65)}
.project-card:hover .view-label{opacity:1;transform:none}
.project-meta{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.8rem;
  padding:1rem;
}
.project-meta h3{font:400 1.08rem/1.2 Georgia,serif;margin:0}
.project-meta p{
  margin:0;
  max-width:46%;
  color:var(--gold);
  text-align:right;
  font-size:.67rem;
  line-height:1.35;
}

.about-section{
  padding:5rem 0;
  background:linear-gradient(180deg,#08090a,#0d0f10);
}
.about-grid{
  display:grid;
  grid-template-columns:.82fr 1.25fr .95fr;
  gap:3rem;
  align-items:stretch;
}
.portrait-placeholder{
  min-height:390px;
  border:1px solid var(--gold);
  border-radius:10px;
  background:linear-gradient(145deg,#17191b,#0b0c0d);
  display:grid;
  place-items:center;
  color:var(--gold);
  text-align:center;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.about-copy p{color:var(--text);margin:1rem 0}
.education{
  border-left:1px solid var(--line);
  padding-left:2rem;
}
.degree{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.1rem 0;
  border-bottom:1px solid var(--line);
}
.degree:last-child{border-bottom:0}
.degree span{color:var(--gold)}
.degree strong{font-size:.88rem;line-height:1.45}

.contact-section{
  border-top:1px solid var(--line);
  background:transparent;
}
.contact-inner{
  min-height:115px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2rem;
}
.contact-inner p{
  margin:0;
  font:italic 400 clamp(1rem,1.6vw,1.35rem)/1.2 Georgia,serif;
}

.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service:nth-child(3){border-right:0}
}
@media (max-width:900px){
  .header-inner{min-height:88px}
  .menu-toggle{display:block;position:relative;z-index:1002}
  .nav{
    position:absolute;
    left:4vw;
    right:4vw;
    top:100%;
    display:grid;
    gap:0;
    background:#111315;
    border:1px solid var(--line);
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    margin:0;
  }
  .nav.open{max-height:360px;padding:.75rem;opacity:1;visibility:visible}
  .nav a{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05)}
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-lines{inset:0 -20% 0 18%;opacity:.65}
  .about-grid{grid-template-columns:1fr 1.35fr}
  .education{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}
}
@media (max-width:680px){
  .brand-name{font-size:1.75rem}
  .brand-tagline{font-size:.57rem;max-width:245px}
  .hero{min-height:520px}
  .hero-inner{padding-top:2.5rem}
  .hero-lines{inset:10% -45% 0 12%;opacity:.4}
  .services-shell{margin-top:-18px}
  .services-panel,.project-grid,.about-grid{grid-template-columns:1fr}
  .service{border-right:0;border-bottom:1px solid rgba(200,145,67,.2)}
  .service:last-child{border-bottom:0}
  .section-heading{display:block}
  .section-note{margin-top:1rem}
  .portrait-placeholder{min-height:330px}
  .contact-inner{padding:2rem 0;display:block;text-align:center}
  .contact-inner .button{margin-top:1rem}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
}


/* =========================================================
   VERSION 2 — EDITORIAL / PREMIUM REFINEMENT
   ========================================================= */

:root{
  --bg:#070809;
  --panel:#121416;
  --panel-2:#191b1d;
  --cream:#f4eee6;
  --text:#d6cec5;
  --muted:#a0978e;
  --gold:#c99549;
  --gold-dim:#896131;
  --maroon:#3b1316;
  --line:rgba(201,149,73,.25);
}

/* Header */
.site-header{
  box-shadow:0 10px 40px rgba(0,0,0,.18);
}
.header-inner{
  min-height:112px;
}
.brand-name{
  font-size:clamp(2.15rem,3.1vw,3.55rem);
}
.brand-tagline{
  font-size:clamp(.68rem,.88vw,.84rem);
}
.nav a{
  transition:color .25s ease;
}
.nav a:hover{
  color:var(--gold);
}

/* Hero */
.hero{
  min-height:640px;
  background:
    radial-gradient(circle at 76% 45%,rgba(91,49,25,.3),transparent 38%),
    linear-gradient(180deg,#070809 0%,#070809 66%,#111315 100%);
}
.hero-inner{
  padding-top:4.6rem;
  padding-bottom:5rem;
}
.hero h1{
  font-size:clamp(2.85rem,4.75vw,4.95rem);
  max-width:760px;
}
.hero p{
  font-size:1.03rem;
}
.button{
  position:relative;
  overflow:hidden;
}
.button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.button:hover::before{
  transform:translateX(120%);
}

/* Services */
.services-shell{
  margin-top:-58px;
}
.services-panel{
  background:linear-gradient(180deg,#1b1d1f,#121416);
}
.service{
  min-height:235px;
  padding:2.25rem 1.25rem;
  transition:background .3s ease,transform .3s ease;
}
.service:hover{
  background:#1f2224;
  transform:translateY(-3px);
}
.service h2{
  font-size:1.14rem;
}

/* Work */
.work-section{
  padding-top:5.8rem;
}
.section-heading{
  align-items:center;
}
.project-card{
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.project-card:hover{
  transform:translateY(-6px);
  border-color:rgba(201,149,73,.92);
  box-shadow:0 28px 80px rgba(0,0,0,.5);
}
.project-image{
  aspect-ratio:4/4.7;
}
.project-meta{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.35rem 1rem;
  align-items:start;
}
.project-meta h3{
  font-size:1.15rem;
}
.project-meta p{
  max-width:180px;
  font-size:.67rem;
}
.role-line{
  grid-column:1/-1;
  display:block;
  color:var(--muted);
  font-size:.61rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-top:.25rem;
}

/* Philosophy */
.philosophy-section{
  padding:5.5rem 0;
  background:
    linear-gradient(90deg,rgba(59,19,22,.34),rgba(18,20,22,.82),rgba(7,8,9,.9));
  border-block:1px solid var(--line);
}
.philosophy-grid{
  display:grid;
  grid-template-columns:.55fr 1.3fr 1fr;
  gap:3rem;
  align-items:start;
}
.philosophy-grid blockquote{
  margin:0;
  font:400 clamp(2rem,3.2vw,3.35rem)/1.12 Georgia,serif;
  color:var(--cream);
}
.philosophy-copy{
  margin:0;
  color:var(--text);
  max-width:460px;
}

/* About */
.about-section{
  padding:6rem 0;
}
.about-copy h2{
  font-size:clamp(2.2rem,3.4vw,3.6rem);
}
.portrait-placeholder{
  min-height:430px;
  background:
    linear-gradient(145deg,rgba(201,149,73,.05),transparent 55%),
    #101214;
}

/* Contact */
.contact-section{
  background:
    linear-gradient(90deg,#2c1013,#421619,#241012);
}
.contact-inner{
  min-height:150px;
  justify-content:space-between;
}
.contact-inner > div{
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.contact-inner p{
  font-size:clamp(1.5rem,2.4vw,2.4rem);
  font-style:normal;
}
.contact-inner .eyebrow{
  margin:0;
}

/* Scroll indicator */
.hero::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:1.2rem;
  width:1px;
  height:34px;
  background:linear-gradient(var(--gold),transparent);
  opacity:.55;
}

/* Responsive */
@media (max-width:1100px){
  .philosophy-grid{
    grid-template-columns:1fr 1fr;
  }
  .philosophy-grid .eyebrow{
    grid-column:1/-1;
  }
}
@media (max-width:900px){
  .hero{
    min-height:590px;
  }
  .philosophy-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .hero{
    min-height:545px;
  }
  .hero-inner{
    padding-top:3rem;
  }
  .services-shell{
    margin-top:-22px;
  }
  .contact-inner{
    display:block;
    text-align:center;
  }
  .contact-inner .button{
    margin-top:1rem;
  }
}

.nav a.is-active{color:var(--gold)}
.nav a.is-active::after{right:0}


/* =========================================================
   FINAL REVIEW BUILD
   ========================================================= */

/* Tagline and navigation: identical typography */
.brand-tagline,
.nav a{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.80rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.brand-tagline{color:var(--gold)}
.nav a{color:var(--cream)}

/* Smaller hero headline and tighter spacing */
.hero{min-height:520px}
.hero-inner{
  padding-top:2.5rem;
  padding-bottom:2.8rem;
}
.hero h1{
  font-size:clamp(2.2rem,3.4vw,3.65rem);
  line-height:1.07;
  margin-bottom:1rem;
}
.hero p{
  margin-bottom:1.25rem;
  font-size:.95rem;
}
.hero-lines{inset:0 0 0 43%}

/* Keep all five services */
.services-shell{margin-top:-28px}
.services-panel{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.service{
  min-height:205px;
  padding:1.65rem 1rem;
}
.service .icon{font-size:1.55rem}
.service h2{font-size:1rem}
.service p{font-size:.78rem}

/* Stock-photo portfolio cards */
.project-image{aspect-ratio:4/4.8}
.project-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.project-card:hover img{transform:scale(1.035)}
.view-label{display:none}

/* My Approach removed */
.philosophy-section{display:none!important}

/* Uppercase education */
.degree strong{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.84rem;
}

/* Compact closing section and no footer */
.contact-inner{min-height:110px}
.contact-inner p{font-size:clamp(1.15rem,1.8vw,1.7rem)}
.site-footer{display:none!important}

@media (max-width:1100px){
  .services-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:680px){
  .brand-tagline,
  .nav a{font-size:.68rem}
  .hero{min-height:480px}
  .services-panel{grid-template-columns:1fr}
}


/* =========================================================
   DOWNLOAD-READY FINAL LAYOUT
   ========================================================= */

/* Fully centered header */
.header-inner{
  min-height:138px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.8rem;
  padding:1.15rem 0 1rem;
}
.brand{
  margin:0;
  align-items:center;
  text-align:center;
}
.brand-name{
  font-size:clamp(2.25rem,3.3vw,3.75rem);
  text-align:center;
}
.brand-tagline{
  text-align:center;
  margin-top:.5rem;
}
.nav{
  margin:0;
  justify-content:center;
  gap:clamp(1.8rem,3vw,3.2rem);
}

/* Centered, tighter hero */
.hero{
  min-height:500px;
}
.hero-inner{
  padding-top:2.2rem;
  padding-bottom:2rem;
}
.hero-copy{
  max-width:680px;
  margin:0 auto;
  text-align:center;
}
.hero h1{
  font-size:clamp(2.15rem,3.15vw,3.35rem);
  margin-bottom:.9rem;
}
.hero p{
  margin:0 auto 1rem;
  max-width:560px;
}
.hero-lines{
  inset:0;
  opacity:.72;
}

/* Services and button */
.services-shell{
  margin-top:-18px;
}
.services-panel{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.services-cta{
  display:flex;
  justify-content:center;
  margin-top:-1px;
  padding:0 0 1.2rem;
}
.services-cta .button{
  background:#111315;
}

/* Recent projects */
.section-heading{
  display:block;
  text-align:center;
}
.section-heading .section-note{
  max-width:540px;
  margin:1rem auto 0;
  padding-left:0;
  border-left:0;
}
.section-heading h2{
  font-size:clamp(2rem,3vw,3rem);
}

/* Approved portrait */
.portrait-photo{
  min-height:390px;
  border:1px solid var(--gold);
  border-radius:10px;
  overflow:hidden;
  background:#0d0f10;
}
.portrait-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

/* Smaller About title */
.about-title{
  font-size:clamp(1.7rem,2.4vw,2.35rem)!important;
  line-height:1.05!important;
  margin-bottom:1rem!important;
}

/* Uppercase education remains */
.degree strong{
  text-transform:uppercase;
}

/* Compact CTA and no footer */
.contact-inner{
  min-height:105px;
}
.site-footer{
  display:none!important;
}

@media (max-width:900px){
  .header-inner{
    display:grid;
    grid-template-columns:1fr auto;
    min-height:96px;
    padding:.9rem 0;
  }
  .brand{
    align-items:flex-start;
    text-align:left;
  }
  .brand-name,
  .brand-tagline{
    text-align:left;
  }
  .menu-toggle{
    display:block;
  }
  .nav{
    justify-content:start;
  }
}
@media (max-width:680px){
  .hero{
    min-height:470px;
  }
  .services-panel{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FINAL SPACING REFINEMENTS
   ========================================================= */

/* More breathing room between professional tagline and navigation */
.header-inner{
  gap:1.45rem;
}
.brand-tagline{
  margin-top:.5rem;
  margin-bottom:.75rem;
}

/* Reduce the empty space below the hero paragraph by about half */
.hero{
  min-height:440px;
}
.hero-inner{
  padding-top:2.2rem;
  padding-bottom:1.15rem;
}
.hero p{
  margin-bottom:.55rem;
}
.services-shell{
  margin-top:-8px;
}

/* Keep mobile spacing balanced */
@media (max-width:900px){
  .header-inner{
    gap:.75rem;
  }
  .brand-tagline{
    margin-bottom:0;
  }
}
@media (max-width:680px){
  .hero{
    min-height:430px;
  }
  .hero-inner{
    padding-bottom:.85rem;
  }
}


/* =========================================================
   FINAL HERO / SERVICES SPACING
   ========================================================= */

/* Pull services panel closer to hero content */
.hero{
  min-height:390px;
}
.hero-inner{
  padding-bottom:.45rem;
}
.services-shell{
  margin-top:-34px;
}

/* Add breathing room between services panel and CTA */
.services-cta{
  margin-top:30px !important;
  padding-bottom:1.6rem !important;
}

/* Keep mobile balanced */
@media (max-width:900px){
  .hero{
    min-height:380px;
  }
  .services-shell{
    margin-top:-18px;
  }
  .services-cta{
    margin-top:24px !important;
  }
}
@media (max-width:680px){
  .hero{
    min-height:360px;
  }
  .services-shell{
    margin-top:-10px;
  }
}

/* =========================================================
   SURFACE PRO / FINAL PRODUCTION SPACING
   Keeps the services panel and View My Work CTA visible
   within a typical Surface Pro browser viewport.
   ========================================================= */

@media (min-width: 901px) {
  .hero {
    min-height: 330px;
  }

  .hero-inner {
    padding-top: 1.45rem;
    padding-bottom: 0.15rem;
  }

  .hero h1 {
    margin-bottom: 0.65rem;
  }

  .hero p {
    margin-bottom: 0;
  }

  .services-shell {
    margin-top: -18px;
  }

  .services-panel {
    min-height: 0;
  }

  .service {
    min-height: 178px;
    padding-top: 1.3rem;
    padding-bottom: 1.3rem;
  }

  .services-cta {
    margin-top: 24px !important;
    padding-bottom: 1rem !important;
  }
}

/* Slightly tighter layout on shorter laptop/tablet screens */
@media (min-width: 901px) and (max-height: 900px) {
  .header-inner {
    min-height: 122px;
    padding-top: 0.9rem;
    padding-bottom: 0.75rem;
  }

  .hero {
    min-height: 305px;
  }

  .hero-inner {
    padding-top: 1.15rem;
    padding-bottom: 0;
  }

  .hero h1 {
    font-size: clamp(2rem, 3vw, 3.1rem);
  }

  .services-shell {
    margin-top: -12px;
  }

  .service {
    min-height: 165px;
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
  }

  .services-cta {
    margin-top: 20px !important;
  }
}

/* SURFACE PRO FINAL HERO BALANCE */
@media (min-width: 901px) {
  .hero {
    min-height: 292px;
    display: flex;
    align-items: center;
  }
  .hero-inner {
    width: 100%;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }
  .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .hero h1 {
    margin-top: 0;
    margin-bottom: 0.55rem;
  }
  .hero p {
    margin-top: 0;
    margin-bottom: 0;
  }
  .services-shell {
    margin-top: -8px;
  }
  .service {
    min-height: 158px;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .services-cta {
    margin-top: 18px !important;
    padding-bottom: 0.8rem !important;
  }
}
@media (min-width: 901px) and (max-height: 900px) {
  .header-inner {
    min-height: 116px;
    padding-top: 0.75rem;
    padding-bottom: 0.6rem;
  }
  .hero {
    min-height: 270px;
  }
  .hero-inner {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }
  .hero h1 {
    font-size: clamp(1.95rem, 2.85vw, 2.95rem);
  }
  .hero p {
    font-size: 0.9rem;
    max-width: 620px;
  }
  .services-shell {
    margin-top: -4px;
  }
  .service {
    min-height: 150px;
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
  }
  .services-cta {
    margin-top: 16px !important;
    padding-bottom: 0.65rem !important;
  }
}


/* =========================================================
   FINAL APPROVED WORK + ABOUT REFINEMENTS
   ========================================================= */

/* Tighter start to Recent Projects after the services CTA */
.work-section{
  padding-top:3.1rem;
}
.section-heading{
  margin-bottom:2rem;
}
.section-heading > div{
  width:100%;
}
.section-heading h2{
  margin-top:0;
}

/* Center all project-card text and preserve the gold divider */
.project-meta{
  display:flex !important;
  flex-direction:column;
  align-items:center !important;
  justify-content:flex-start;
  gap:0 !important;
  min-height:150px;
  padding:1.15rem .8rem 1.25rem;
  text-align:center;
}
.project-meta h3{
  width:100%;
  margin:0;
  font-size:1.2rem;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
.project-meta p{
  max-width:none !important;
  width:100%;
  margin:.5rem 0 0 !important;
  color:var(--gold);
  text-align:center !important;
  font-size:.68rem;
  line-height:1.35;
}
.project-meta p::after{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin:.85rem auto .75rem;
  background:var(--gold);
}
.role-line{
  display:block;
  width:100%;
  padding:0 !important;
  color:var(--muted);
  font-size:.6rem;
  line-height:1.45;
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
}
.project-image{
  aspect-ratio:4/4.55;
}
.project-image img{
  object-position:center;
}

/* Head-and-shoulders About portrait with less torso */
.portrait-photo{
  min-height:390px;
  max-height:450px;
}
.portrait-photo img{
  object-fit:cover;
  object-position:center 19%;
  transform:scale(1.16);
}

/* Slightly narrower portrait column for more text breathing room */
.about-grid{
  grid-template-columns:.72fr 1.28fr .95fr;
}

/* Keep the useful contact footer exactly as a final CTA */
.contact-section{
  display:block !important;
}
.contact-inner{
  min-height:112px;
}

/* Tablet refinements */
@media (max-width:1100px){
  .project-meta h3{
    white-space:normal;
  }
}
@media (max-width:900px){
  .about-grid{
    grid-template-columns:1fr 1.3fr;
  }
  .portrait-photo{
    max-height:none;
  }
}
@media (max-width:680px){
  .work-section{
    padding-top:2.4rem;
  }
  .project-meta{
    min-height:135px;
  }
  .about-grid{
    grid-template-columns:1fr;
  }
  .portrait-photo{
    min-height:360px;
  }
}


/* =========================================================
   COMPLETED HOMEPAGE — FINAL USER-APPROVED DETAILS
   ========================================================= */

/* Match the breathing room above and below the services panel. */
.services-panel{
  margin-bottom:0;
}
.services-cta{
  margin-top:52px !important;
  padding-bottom:1.35rem !important;
}
@media (min-width:901px) and (max-height:900px){
  .services-cta{
    margin-top:42px !important;
  }
}

/* Horizontal About statement. */
.about-title{
  font-size:clamp(1.48rem,2vw,2.05rem) !important;
  line-height:1.2 !important;
  white-space:nowrap;
  margin-bottom:1.45rem !important;
}
.about-title span{
  color:var(--gold);
  padding:0 .12em;
}

/* Graduation cap beside Education. */
.education-heading{
  display:flex;
  align-items:center;
  gap:.72rem;
  margin-bottom:.7rem;
  color:var(--gold);
}
.education-heading .eyebrow{
  margin:0;
}
.education-icon{
  width:34px;
  height:34px;
  flex:0 0 auto;
}

/* Keep the exact portrait image; only add about 3 mm of frame height
   and reveal a little more space above the hair. */
.portrait-photo{
  min-height:401px;
  max-height:461px;
}
.portrait-photo img{
  transform:none !important;
  object-fit:cover;
  object-position:center center;
}

@media (max-width:1200px){
  .about-title{
    white-space:normal;
  }
}
@media (max-width:900px){
  .portrait-photo{
    min-height:411px;
    max-height:none;
  }
}


/* =========================================================
   WORK / CASE STUDIES PAGE
   ========================================================= */
body[data-page="work"] .nav a.active{
  color:var(--gold);
}
body[data-page="work"] .nav a.active::after{
  right:0;
}
.work-hero{
  padding:3.2rem 0 2.4rem;
  background:
    radial-gradient(circle at 50% 40%,rgba(93,54,30,.12),transparent 44%),
    linear-gradient(180deg,#0b0c0d,#08090a);
  text-align:center;
}
.work-hero-inner{
  max-width:820px;
}
.work-hero h1{
  margin:.45rem 0 1rem;
  font:400 clamp(2.25rem,4.4vw,4.2rem)/1.04 Georgia,serif;
  letter-spacing:-.025em;
}
.work-hero p:last-child{
  max-width:620px;
  margin:0 auto;
  color:var(--muted);
}
.case-studies{
  padding:0 0 5rem;
  background:#08090a;
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.2rem;
}
.case-card{
  border:1px solid rgba(200,145,67,.7);
  border-radius:10px;
  overflow:hidden;
  background:linear-gradient(180deg,#111315,#0c0d0e);
  box-shadow:var(--shadow);
}
.case-image{
  width:100%;
  aspect-ratio:16/7.1;
  object-fit:cover;
  border-bottom:1px solid rgba(200,145,67,.34);
}
.case-content{
  padding:1.35rem 1.35rem 1.2rem;
}
.case-content h2{
  margin:0;
  font:400 clamp(1.55rem,2.2vw,2rem)/1.1 Georgia,serif;
}
.case-category{
  margin:.35rem 0 .8rem;
  color:var(--gold);
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.case-summary{
  color:var(--text);
  margin:0 0 1rem;
  font-size:.92rem;
}
.case-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.case-details > div{
  padding:.85rem .85rem .85rem 0;
  margin:.5rem 0;
  border-right:1px solid var(--line);
}
.case-details > div + div{
  padding-left:.85rem;
}
.case-details > div:last-child{
  border-right:0;
}
.case-details span{
  display:block;
  color:var(--gold);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.case-details p{
  margin:.35rem 0 0;
  color:var(--text);
  font-size:.72rem;
  line-height:1.55;
}
.case-actions{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:1rem;
  margin-top:1rem;
}
.attribution{
  margin:0;
  color:var(--muted);
  font-size:.64rem;
  line-height:1.45;
  font-style:italic;
}
body[data-page="work"] .contact-section{
  border-top:1px solid rgba(200,145,67,.24);
}
/* Footer/social links intentionally omitted per request. */

@media (max-width:950px){
  .case-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .work-hero{padding-top:2.3rem}
  .case-details{grid-template-columns:1fr}
  .case-details > div,
  .case-details > div + div{
    padding:.75rem 0;
    margin:0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .case-details > div:last-child{border-bottom:0}
  .case-actions{grid-template-columns:1fr}
}

/* REFINED WORK-PAGE HERO */
body[data-page="work"] .work-hero{
  padding-top:2.65rem;
  padding-bottom:2.1rem;
}
body[data-page="work"] .work-hero h1{
  font-size:clamp(2rem,3.35vw,3.35rem);
  line-height:1.06;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
body[data-page="work"] .work-hero p:last-child{
  margin-top:.85rem;
}


/* =========================================================
   SERVICES PAGE
   ========================================================= */
body[data-page="services"]{
  background:#090a0b;
}
body[data-page="services"] .site-header{
  position:relative;
  z-index:20;
}
.services-hero{
  position:relative;
  overflow:hidden;
  padding:5.5rem 0 5rem;
  border-bottom:1px solid rgba(198,163,92,.22);
}
.services-hero-lines span{
  position:absolute;
  width:62rem;
  height:24rem;
  border:1px solid rgba(198,163,92,.18);
  border-radius:50%;
  pointer-events:none;
}
.services-hero-lines span:first-child{
  right:-25rem;
  top:-9rem;
  transform:rotate(-12deg);
}
.services-hero-lines span:last-child{
  left:-31rem;
  bottom:-19rem;
  transform:rotate(10deg);
}
.services-hero-inner{
  position:relative;
  z-index:2;
  max-width:980px;
  text-align:center;
}
.services-hero .eyebrow{
  margin-bottom:1rem;
}
.services-hero h1{
  margin:0;
  font-size:clamp(2.7rem,5vw,5.1rem);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.035em;
}
.services-intro{
  max-width:770px;
  margin:1.65rem auto 0;
  font-size:clamp(1rem,1.45vw,1.22rem);
  line-height:1.8;
  color:rgba(255,255,255,.7);
}

.service-detail-section{
  padding:1rem 0 0;
}
.service-detail-list{
  border-top:1px solid rgba(198,163,92,.22);
}
.service-detail{
  display:grid;
  grid-template-columns:70px minmax(230px,.8fr) minmax(360px,1.25fr);
  gap:clamp(1.25rem,4vw,4rem);
  align-items:start;
  padding:3.7rem 0;
  border-bottom:1px solid rgba(198,163,92,.22);
}
.service-number{
  color:#c6a35c;
  font-family:Georgia,serif;
  font-size:1rem;
  letter-spacing:.16em;
}
.service-heading .eyebrow{
  margin-bottom:.8rem;
}
.service-heading h2{
  margin:0;
  font-size:clamp(2rem,3.2vw,3.5rem);
  line-height:1.02;
  font-weight:400;
}
.service-description > p{
  margin:0 0 1.35rem;
  color:rgba(255,255,255,.72);
  line-height:1.75;
  font-size:1.03rem;
}
.service-description ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem 1.4rem;
}
.service-description li{
  position:relative;
  padding-left:1.1rem;
  color:rgba(255,255,255,.88);
  font-size:.94rem;
}
.service-description li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  transform:rotate(45deg);
  background:#c6a35c;
}

.process-section{
  padding:6rem 0;
  background:#111214;
  border-top:1px solid rgba(198,163,92,.18);
  border-bottom:1px solid rgba(198,163,92,.18);
}
.process-heading{
  max-width:690px;
  margin-bottom:3rem;
}
.process-heading h2{
  margin:.6rem 0 .9rem;
  font-size:clamp(2.35rem,4.2vw,4.2rem);
  line-height:1.05;
  font-weight:400;
}
.process-heading > p:last-child{
  color:rgba(255,255,255,.65);
  line-height:1.7;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(198,163,92,.28);
  border-bottom:1px solid rgba(198,163,92,.28);
}
.process-step{
  min-height:235px;
  padding:1.7rem 1.35rem;
  border-right:1px solid rgba(198,163,92,.22);
}
.process-step:last-child{
  border-right:0;
}
.process-step span{
  display:block;
  color:#c6a35c;
  font-size:.78rem;
  letter-spacing:.18em;
  margin-bottom:3.4rem;
}
.process-step h3{
  margin:0 0 .8rem;
  font-family:Georgia,serif;
  font-size:1.35rem;
  font-weight:400;
}
.process-step p{
  margin:0;
  color:rgba(255,255,255,.62);
  line-height:1.65;
  font-size:.92rem;
}

.service-fit-section{
  padding:6rem 0;
}
.service-fit-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(430px,1.1fr);
  gap:clamp(3rem,8vw,8rem);
  align-items:start;
}
.service-fit-copy h2{
  margin:.75rem 0 0;
  font-size:clamp(2.2rem,4vw,4.1rem);
  line-height:1.08;
  font-weight:400;
}
.service-fit-options{
  border-top:1px solid rgba(198,163,92,.3);
}
.service-fit-options article{
  padding:1.8rem 0;
  border-bottom:1px solid rgba(198,163,92,.24);
}
.service-fit-options h3{
  margin:0 0 .6rem;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:1.45rem;
}
.service-fit-options p{
  margin:0;
  color:rgba(255,255,255,.64);
  line-height:1.65;
}

.faq-section{
  padding:5.5rem 0 6rem;
  background:#111214;
  border-top:1px solid rgba(198,163,92,.18);
}
.faq-grid{
  display:grid;
  grid-template-columns:minmax(250px,.65fr) minmax(440px,1.35fr);
  gap:clamp(3rem,8vw,8rem);
}
.faq-heading h2{
  margin:.75rem 0 0;
  font-size:clamp(2.3rem,3.7vw,3.9rem);
  font-weight:400;
}
.faq-list{
  border-top:1px solid rgba(198,163,92,.3);
}
.faq-list details{
  border-bottom:1px solid rgba(198,163,92,.24);
  padding:0;
}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  padding:1.45rem 2.2rem 1.45rem 0;
  position:relative;
  font-family:Georgia,serif;
  font-size:1.18rem;
}
.faq-list summary::-webkit-details-marker{
  display:none;
}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:1.33rem;
  color:#c6a35c;
  font-size:1.45rem;
  font-family:Arial,sans-serif;
  font-weight:300;
}
.faq-list details[open] summary::after{
  content:"–";
}
.faq-list details p{
  margin:-.35rem 0 1.5rem;
  max-width:680px;
  color:rgba(255,255,255,.64);
  line-height:1.7;
}

@media (max-width:900px){
  .service-detail{
    grid-template-columns:48px 1fr;
  }
  .service-description{
    grid-column:2;
  }
  .process-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .process-step{
    border-bottom:1px solid rgba(198,163,92,.22);
  }
  .process-step:nth-child(2n){
    border-right:0;
  }
  .process-step:last-child{
    grid-column:1 / -1;
    border-bottom:0;
  }
  .service-fit-grid,
  .faq-grid{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
}

@media (max-width:620px){
  .services-hero{
    padding:4rem 0 3.7rem;
  }
  .services-hero h1{
    font-size:clamp(2.35rem,12vw,3.35rem);
  }
  .service-detail{
    grid-template-columns:1fr;
    gap:.9rem;
    padding:2.8rem 0;
  }
  .service-number,
  .service-description{
    grid-column:1;
  }
  .service-description ul{
    grid-template-columns:1fr;
  }
  .process-section,
  .service-fit-section,
  .faq-section{
    padding:4.5rem 0;
  }
  .process-grid{
    grid-template-columns:1fr;
  }
  .process-step,
  .process-step:nth-child(2n),
  .process-step:last-child{
    grid-column:auto;
    border-right:0;
    border-bottom:1px solid rgba(198,163,92,.22);
    min-height:auto;
  }
  .process-step:last-child{
    border-bottom:0;
  }
  .process-step span{
    margin-bottom:1.8rem;
  }
}


/* =========================================================
   EDITORIAL SERVICES PAGE — elongated rows and columns
   ========================================================= */
body[data-page="services-editorial"]{
  background:#090909;
  color:#f2ece4;
}
body[data-page="services-editorial"] .site-header{
  position:relative;
  background:#080909;
  border-bottom:1px solid rgba(198,145,67,.38);
}
body[data-page="services-editorial"] .nav .active::after{right:0}

.editorial-hero{
  position:relative;
  overflow:hidden;
  min-height:430px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(ellipse at 48% 44%,rgba(125,88,55,.58) 0%,rgba(80,54,35,.38) 25%,rgba(28,22,18,.86) 57%,#090909 83%),
    linear-gradient(90deg,#090909,#211913 50%,#090909);
  border-bottom:1px solid rgba(198,145,67,.48);
}
.editorial-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%,transparent 0 30%,rgba(0,0,0,.24) 70%);
  pointer-events:none;
}
.editorial-curves span{
  position:absolute;
  width:62rem;
  height:20rem;
  border:1px solid rgba(198,145,67,.42);
  border-radius:50%;
}
.editorial-curves span:first-child{right:-34rem;top:-2rem;transform:rotate(4deg)}
.editorial-curves span:last-child{left:-37rem;bottom:-12rem;transform:rotate(10deg)}
.editorial-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:4.6rem 0 4.2rem;
}
.editorial-hero h1{
  margin:0 auto;
  max-width:910px;
  font:400 clamp(2.7rem,4.55vw,4.65rem)/1.04 Georgia,serif;
  letter-spacing:-.035em;
}
.editorial-hero p{
  max-width:800px;
  margin:1.35rem auto 0;
  color:rgba(255,255,255,.78);
  font-size:clamp(.98rem,1.22vw,1.08rem);
  line-height:1.85;
}

.editorial-services{background:#0a0a0a}
.editorial-service-list{border-top:1px solid rgba(198,145,67,.42)}
.editorial-service{
  display:grid;
  grid-template-columns:minmax(270px,1.05fr) minmax(280px,.92fr) minmax(290px,.9fr);
  gap:clamp(1.7rem,4vw,4.5rem);
  align-items:center;
  padding:1.3rem 0;
  border-bottom:1px solid rgba(198,145,67,.42);
  min-height:235px;
}
.editorial-service figure{
  margin:0;
  height:205px;
  overflow:hidden;
  border:1px solid rgba(198,145,67,.72);
  background:#111;
}
.editorial-service figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease,filter .4s ease;
}
.editorial-service:hover figure img{transform:scale(1.025);filter:brightness(1.08)}
.service-index{
  display:block;
  margin-bottom:.3rem;
  color:#d4a04e;
  font-size:.82rem;
  letter-spacing:.14em;
}
.editorial-service-copy h2{
  margin:0 0 .75rem;
  font:400 clamp(1.65rem,2.2vw,2.4rem)/1.1 Georgia,serif;
}
.editorial-service-copy p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  font-size:.94rem;
}
.check-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.72rem;
}
.check-list li{
  position:relative;
  padding-left:1.9rem;
  color:rgba(255,255,255,.88);
  font-size:.93rem;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-.08rem;
  color:#e2a83f;
  font-size:1.15rem;
}

.editorial-process{
  padding:3.4rem 0 3.8rem;
  background:linear-gradient(180deg,#121212,#0c0c0c);
  border-bottom:1px solid rgba(198,145,67,.45);
}
.section-kicker{
  margin:0 0 1.8rem;
  color:#d7a24a;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  text-align:center;
}
.editorial-process-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.5rem;
}
.editorial-process-grid article{
  position:relative;
  text-align:center;
  padding:0 1rem;
}
.editorial-process-grid article:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-1.05rem;
  top:1.6rem;
  color:#b47e35;
  font-size:1.35rem;
}
.process-icon{
  display:grid;
  place-items:center;
  min-height:58px;
  color:#dfa33f;
  font-family:Georgia,serif;
  font-size:2rem;
}
.editorial-process-grid h3{
  margin:.75rem 0 .45rem;
  font-size:.93rem;
  font-weight:500;
}
.editorial-process-grid p{
  margin:0 auto;
  max-width:205px;
  color:rgba(255,255,255,.66);
  font-size:.82rem;
  line-height:1.55;
}

.editorial-bottom{
  padding:3.4rem 0 3.7rem;
  background:
    radial-gradient(circle at 82% 50%,rgba(85,57,34,.18),transparent 35%),
    #0d0d0d;
}
.editorial-bottom-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:5rem;
}
.editorial-bottom .section-kicker{
  text-align:left;
  margin-bottom:1rem;
}
.editorial-faq details{
  border-bottom:1px solid rgba(198,145,67,.43);
}
.editorial-faq summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:.78rem 2rem .78rem 0;
  color:rgba(255,255,255,.88);
  font-size:.88rem;
}
.editorial-faq summary::-webkit-details-marker{display:none}
.editorial-faq summary::after{
  content:"+";
  position:absolute;
  right:0;
  color:#d59a3d;
  font-size:1.2rem;
}
.editorial-faq details[open] summary::after{content:"−"}
.editorial-faq details p{
  margin:0 0 1rem;
  color:rgba(255,255,255,.63);
  font-size:.84rem;
  line-height:1.65;
}
.investment{
  border-left:1px solid rgba(198,145,67,.4);
  text-align:center;
  padding-left:4rem;
  align-self:center;
}
.investment .section-kicker{text-align:center}
.investment h2{
  margin:.2rem 0 .35rem;
  font:400 clamp(1.7rem,2.3vw,2.35rem)/1.2 Georgia,serif;
}
.investment p{
  margin:.35rem 0;
  color:rgba(255,255,255,.72);
}
.investment strong{
  display:block;
  color:#dba143;
  font:400 clamp(2.4rem,3.6vw,3.6rem)/1 Georgia,serif;
  letter-spacing:.04em;
  margin:.5rem 0 .75rem;
}
.editorial-contact{
  background:
    radial-gradient(circle at 76% 40%,rgba(125,48,55,.35),transparent 38%),
    linear-gradient(90deg,#4b171c,#681e27 50%,#421318);
  border-top:1px solid rgba(217,164,79,.5);
}

@media(max-width:980px){
  .editorial-service{
    grid-template-columns:minmax(250px,.9fr) 1.1fr;
  }
  .check-list{grid-column:2}
  .editorial-process-grid{grid-template-columns:repeat(3,1fr)}
  .editorial-process-grid article:not(:last-child)::after{display:none}
  .editorial-process-grid article:nth-child(n+4){margin-top:1.8rem}
}
@media(max-width:700px){
  .editorial-hero{min-height:390px}
  .editorial-hero-inner{padding:3.7rem 0}
  .editorial-service{
    grid-template-columns:1fr;
    gap:1.15rem;
    padding:1.6rem 0 2rem;
  }
  .editorial-service figure{height:220px}
  .check-list{grid-column:1}
  .editorial-process-grid{grid-template-columns:1fr}
  .editorial-process-grid article:nth-child(n+4){margin-top:0}
  .editorial-process-grid article{padding:1rem 0;border-bottom:1px solid rgba(198,145,67,.2)}
  .editorial-process-grid article:last-child{border-bottom:0}
  .editorial-bottom-grid{grid-template-columns:1fr;gap:3rem}
  .investment{border-left:0;border-top:1px solid rgba(198,145,67,.4);padding:2.5rem 0 0}
}


/* =========================================================
   FINAL SERVICES REFINEMENTS
   ========================================================= */

/* Soften page entrance by removing the header divider on Services only */
body[data-page="services-editorial"] .site-header{
  border-bottom:0 !important;
}

/* Tighter, warmer hero with the lower divider */
body[data-page="services-editorial"] .editorial-hero{
  min-height:365px;
  border-bottom:0;
  background:
    radial-gradient(ellipse at 46% 43%, rgba(132,89,53,.62) 0%, rgba(86,56,35,.42) 26%, rgba(35,26,21,.88) 58%, #090909 84%),
    linear-gradient(90deg,#090909,#211710 50%,#090909);
}
body[data-page="services-editorial"] .editorial-hero-inner{
  padding:3.25rem 0 2.8rem;
}
body[data-page="services-editorial"] .editorial-hero h1{
  font-size:clamp(2.55rem,4.15vw,4.2rem);
}
body[data-page="services-editorial"] .editorial-hero p{
  max-width:735px;
  margin-top:.9rem;
}
body[data-page="services-editorial"] .editorial-services{
  border-top:1px solid rgba(198,145,67,.55);
}
body[data-page="services-editorial"] .editorial-service-list{
  border-top:0;
}

/* Slightly tighter service rows */
body[data-page="services-editorial"] .editorial-service{
  min-height:215px;
  padding:1rem 0;
  grid-template-columns:minmax(300px,1.06fr) minmax(280px,.9fr) minmax(290px,.88fr);
}
body[data-page="services-editorial"] .editorial-service figure{
  height:190px;
}
body[data-page="services-editorial"] .editorial-service-copy h2{
  font-size:clamp(1.55rem,2vw,2.15rem);
}
body[data-page="services-editorial"] .editorial-service-copy p,
body[data-page="services-editorial"] .check-list li{
  font-size:.89rem;
}

/* Alternating editorial rows */
body[data-page="services-editorial"] .editorial-service.service-reverse figure{
  grid-column:3;
  grid-row:1;
}
body[data-page="services-editorial"] .editorial-service.service-reverse .editorial-service-copy{
  grid-column:1;
  grid-row:1;
}
body[data-page="services-editorial"] .editorial-service.service-reverse .check-list{
  grid-column:2;
  grid-row:1;
}

/* Preserve practical mobile/tablet flow */
@media(max-width:980px){
  body[data-page="services-editorial"] .editorial-service,
  body[data-page="services-editorial"] .editorial-service.service-reverse{
    grid-template-columns:minmax(260px,.9fr) 1.1fr;
  }
  body[data-page="services-editorial"] .editorial-service.service-reverse figure{
    grid-column:1;
    grid-row:1;
  }
  body[data-page="services-editorial"] .editorial-service.service-reverse .editorial-service-copy{
    grid-column:2;
    grid-row:1;
  }
  body[data-page="services-editorial"] .editorial-service.service-reverse .check-list{
    grid-column:2;
    grid-row:2;
  }
}
@media(max-width:700px){
  body[data-page="services-editorial"] .editorial-hero{
    min-height:350px;
  }
  body[data-page="services-editorial"] .editorial-hero-inner{
    padding:3rem 0 2.4rem;
  }
  body[data-page="services-editorial"] .editorial-service,
  body[data-page="services-editorial"] .editorial-service.service-reverse{
    grid-template-columns:1fr;
  }
  body[data-page="services-editorial"] .editorial-service.service-reverse figure,
  body[data-page="services-editorial"] .editorial-service.service-reverse .editorial-service-copy,
  body[data-page="services-editorial"] .editorial-service.service-reverse .check-list{
    grid-column:1;
    grid-row:auto;
  }
  body[data-page="services-editorial"] .editorial-service figure{
    height:215px;
  }
}

/* FINAL HERO HEADING SIZE ADJUSTMENT */
body[data-page="services-editorial"] .editorial-hero h1{
  font-size:clamp(2.25rem,3.45vw,3.7rem) !important;
  line-height:1.05;
  max-width:820px;
}
@media(max-width:700px){
  body[data-page="services-editorial"] .editorial-hero h1{
    font-size:clamp(2.05rem,9.5vw,2.85rem) !important;
  }
}


/* =========================================================
   ABOUT PAGE
   ========================================================= */
body[data-page="about"]{
  background:#090909;
  color:#f2ece4;
}
body[data-page="about"] .site-header{
  position:relative;
  background:#080909;
  border-bottom:0;
}
.about-hero{
  position:relative;
  overflow:hidden;
  min-height:430px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(ellipse at 50% 44%,rgba(125,83,50,.5) 0%,rgba(69,45,30,.32) 28%,rgba(25,19,16,.84) 60%,#090909 86%),
    #090909;
  border-bottom:1px solid rgba(198,145,67,.45);
}
.about-hero-lines span{
  position:absolute;
  width:64rem;
  height:20rem;
  border:1px solid rgba(198,145,67,.32);
  border-radius:50%;
}
.about-hero-lines span:first-child{
  right:-38rem;
  top:-4rem;
  transform:rotate(6deg);
}
.about-hero-lines span:last-child{
  left:-40rem;
  bottom:-13rem;
  transform:rotate(11deg);
}
.about-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:4.5rem 0;
}
.about-manifesto{
  margin:0 0 1.45rem;
  color:#d7a24a;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:clamp(.74rem,1.1vw,.94rem);
  white-space:nowrap;
}
.about-manifesto span{padding:0 .55rem}
.about-hero h1{
  max-width:930px;
  margin:0 auto;
  font:400 clamp(2.4rem,4.05vw,4.15rem)/1.06 Georgia,serif;
  letter-spacing:-.035em;
}
.about-hero-inner > p:last-child{
  max-width:700px;
  margin:1.15rem auto 0;
  color:rgba(255,255,255,.72);
  line-height:1.75;
}

.about-story{
  padding:6rem 0;
}
.about-story-grid{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);
  gap:clamp(3rem,8vw,8rem);
  align-items:center;
}
.about-portrait{
  margin:0;
  position:relative;
  border:1px solid rgba(198,145,67,.65);
  padding:.7rem;
  background:#111;
}
.about-portrait::after{
  content:"";
  position:absolute;
  inset:1.3rem -1.3rem -1.3rem 1.3rem;
  border:1px solid rgba(198,145,67,.22);
  z-index:-1;
}
.about-portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:56% center;
  filter:saturate(.88) contrast(1.02);
}
.about-copy h2{
  margin:.7rem 0 1.5rem;
  font:400 clamp(2.3rem,4vw,4.05rem)/1.07 Georgia,serif;
}
.about-copy > p:not(.eyebrow){
  color:rgba(255,255,255,.7);
  line-height:1.8;
  margin:0 0 1.15rem;
}

.about-education{
  padding:5.5rem 0;
  background:#111214;
  border-top:1px solid rgba(198,145,67,.22);
  border-bottom:1px solid rgba(198,145,67,.22);
}
.education-grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(430px,1.28fr);
  gap:clamp(3rem,8vw,8rem);
}
.cap-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  transform:rotate(45deg);
  border:1px solid #c9953f;
  color:#d8a248;
  font-size:1.35rem;
  margin-bottom:1.6rem;
}
.education-heading h2{
  margin:.7rem 0 0;
  font:400 clamp(2.2rem,3.8vw,3.8rem)/1.08 Georgia,serif;
}
.degree-list{
  border-top:1px solid rgba(198,145,67,.35);
}
.degree-list article{
  display:grid;
  grid-template-columns:55px 1fr;
  gap:1rem 1.3rem;
  padding:1.85rem 0;
  border-bottom:1px solid rgba(198,145,67,.3);
}
.degree-list article span{
  color:#d4a04e;
  font-size:.78rem;
  letter-spacing:.14em;
}
.degree-list h3{
  margin:0;
  color:#f0e8de;
  font-size:1rem;
  line-height:1.45;
  letter-spacing:.09em;
  font-weight:500;
}
.degree-list p{
  grid-column:2;
  margin:0;
  color:rgba(255,255,255,.6);
  line-height:1.65;
  font-size:.9rem;
}

.about-strengths{
  padding:6rem 0;
}
.strengths-heading{
  max-width:760px;
  margin-bottom:3rem;
}
.strengths-heading h2{
  margin:.7rem 0 0;
  font:400 clamp(2.25rem,4vw,4rem)/1.08 Georgia,serif;
}
.strengths-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(198,145,67,.32);
  border-left:1px solid rgba(198,145,67,.32);
}
.strengths-grid article{
  min-height:205px;
  padding:1.6rem;
  border-right:1px solid rgba(198,145,67,.32);
  border-bottom:1px solid rgba(198,145,67,.32);
}
.strengths-grid span{
  display:block;
  color:#d4a04e;
  letter-spacing:.14em;
  font-size:.75rem;
  margin-bottom:2.5rem;
}
.strengths-grid h3{
  margin:0 0 .65rem;
  font:400 1.35rem/1.2 Georgia,serif;
}
.strengths-grid p{
  margin:0;
  color:rgba(255,255,255,.62);
  line-height:1.65;
  font-size:.9rem;
}

.about-philosophy{
  padding:5.5rem 0;
  background:
    radial-gradient(circle at 18% 50%,rgba(99,61,37,.22),transparent 35%),
    #111214;
  border-top:1px solid rgba(198,145,67,.22);
}
.about-philosophy-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(3rem,8vw,8rem);
  align-items:center;
}
.philosophy-quote{
  padding-right:3rem;
  border-right:1px solid rgba(198,145,67,.38);
}
.philosophy-quote p{
  margin:0;
  font:400 clamp(2rem,3.5vw,3.6rem)/1.15 Georgia,serif;
  color:#eee5da;
}
.philosophy-copy h2{
  margin:.7rem 0 1rem;
  font:400 clamp(2rem,3.2vw,3.2rem)/1.1 Georgia,serif;
}
.philosophy-copy > p:last-child{
  color:rgba(255,255,255,.66);
  line-height:1.75;
}
.about-contact{
  background:
    radial-gradient(circle at 75% 40%,rgba(125,48,55,.35),transparent 38%),
    linear-gradient(90deg,#4b171c,#681e27 50%,#421318);
  border-top:1px solid rgba(217,164,79,.5);
}

@media(max-width:900px){
  .about-story-grid,
  .education-grid,
  .about-philosophy-grid{
    grid-template-columns:1fr;
  }
  .about-portrait{
    max-width:580px;
    margin:0 auto;
  }
  .strengths-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .philosophy-quote{
    padding-right:0;
    padding-bottom:2.5rem;
    border-right:0;
    border-bottom:1px solid rgba(198,145,67,.38);
  }
}
@media(max-width:620px){
  .about-hero{min-height:390px}
  .about-manifesto{
    white-space:normal;
    line-height:1.8;
  }
  .about-manifesto span{padding:0 .25rem}
  .about-story,
  .about-education,
  .about-strengths,
  .about-philosophy{
    padding:4.3rem 0;
  }
  .strengths-grid{
    grid-template-columns:1fr;
  }
  .strengths-grid article{
    min-height:auto;
  }
}


/* =========================================================
   FINAL ABOUT PAGE REFINEMENTS
   ========================================================= */

/* More compact hero */
body[data-page="about"] .about-hero{
  min-height:335px;
}
body[data-page="about"] .about-hero-inner{
  padding:3.25rem 0 2.85rem;
}
body[data-page="about"] .about-manifesto{
  margin-bottom:1rem;
}
body[data-page="about"] .about-hero h1{
  font-size:clamp(1.9rem,2.55vw,2.85rem);
  max-width:820px;
  line-height:1.12;
}
body[data-page="about"] .about-hero-inner > p:last-child{
  margin-top:.7rem;
  max-width:640px;
  font-size:.95rem;
}

/* Portrait and story */
body[data-page="about"] .about-story{
  padding:4rem 0 3.2rem;
}
body[data-page="about"] .about-story-grid{
  grid-template-columns:minmax(250px,.72fr) minmax(430px,1.28fr);
  gap:clamp(2.5rem,6vw,6rem);
}
body[data-page="about"] .about-portrait{
  max-width:360px;
  margin:0 auto;
}
body[data-page="about"] .about-copy h2{
  font-size:clamp(1.9rem,2.65vw,2.8rem);
  margin:.55rem 0 1rem;
}
body[data-page="about"] .about-copy > p:not(.eyebrow){
  font-size:.92rem;
  line-height:1.7;
  margin-bottom:.9rem;
}

/* Education reduced approximately by half */
body[data-page="about"] .about-education{
  padding:3.25rem 0;
}
body[data-page="about"] .education-grid{
  grid-template-columns:minmax(180px,.42fr) minmax(520px,1.58fr);
  gap:clamp(2rem,5vw,5rem);
}
body[data-page="about"] .cap-icon{
  width:34px;
  height:34px;
  font-size:.9rem;
  margin-bottom:1rem;
}
body[data-page="about"] .education-heading h2{
  font-size:clamp(1.45rem,2vw,2rem);
  max-width:300px;
}
body[data-page="about"] .degree-list article{
  grid-template-columns:42px 1fr;
  padding:1.25rem 0;
}
body[data-page="about"] .degree-list h3{
  font-size:.9rem;
}
body[data-page="about"] .degree-list p{
  font-size:.82rem;
}

/* Strengths section reduced approximately by half */
body[data-page="about"] .about-strengths{
  padding:3.5rem 0;
}
body[data-page="about"] .strengths-heading{
  max-width:650px;
  margin-bottom:1.7rem;
}
body[data-page="about"] .strengths-heading h2{
  font-size:clamp(1.7rem,2.35vw,2.45rem);
  margin-top:.45rem;
}
body[data-page="about"] .strengths-grid article{
  min-height:130px;
  padding:1.1rem 1.25rem;
}
body[data-page="about"] .strengths-grid span{
  margin-bottom:1.25rem;
}
body[data-page="about"] .strengths-grid h3{
  font-size:1.08rem;
  margin-bottom:.4rem;
}
body[data-page="about"] .strengths-grid p{
  font-size:.82rem;
  line-height:1.5;
}

/* Philosophy area: significantly smaller headings and tighter spacing */
body[data-page="about"] .about-philosophy{
  padding:3.25rem 0;
}
body[data-page="about"] .about-philosophy-grid{
  gap:clamp(2.5rem,6vw,6rem);
}
body[data-page="about"] .philosophy-quote{
  padding-right:2.5rem;
}
body[data-page="about"] .philosophy-quote p{
  font-size:clamp(1.65rem,2.45vw,2.55rem);
  line-height:1.18;
  max-width:620px;
}
body[data-page="about"] .philosophy-copy h2{
  font-size:clamp(1.55rem,2.1vw,2.2rem);
  margin:.45rem 0 .65rem;
}
body[data-page="about"] .philosophy-copy > p:last-child{
  font-size:.88rem;
  line-height:1.65;
}

/* Slightly tighter CTA */
body[data-page="about"] .about-contact{
  padding-top:2.1rem;
  padding-bottom:2.1rem;
}

@media(max-width:900px){
  body[data-page="about"] .about-story-grid,
  body[data-page="about"] .education-grid{
    grid-template-columns:1fr;
  }
  body[data-page="about"] .education-heading h2{
    max-width:520px;
  }
}
@media(max-width:620px){
  body[data-page="about"] .about-hero{
    min-height:320px;
  }
  body[data-page="about"] .about-story,
  body[data-page="about"] .about-education,
  body[data-page="about"] .about-strengths,
  body[data-page="about"] .about-philosophy{
    padding:3.25rem 0;
  }
  body[data-page="about"] .about-portrait{
    max-width:300px;
  }
  body[data-page="about"] .philosophy-quote{
    padding-right:0;
  }
}


/* =========================================================
   FINAL ABOUT EDITORIAL ALIGNMENT
   ========================================================= */

/* Slightly smaller portrait and tighter story-to-education transition */
body[data-page="about"] .about-story{
  padding-bottom:2.35rem;
}
body[data-page="about"] .about-portrait{
  max-width:338px;
}

/* Approved education layout */
body[data-page="about"] .about-education{
  padding:2.8rem 0 3rem;
}
body[data-page="about"] .education-editorial{
  display:grid;
  grid-template-columns:minmax(190px,.46fr) minmax(610px,1.54fr);
  gap:clamp(2.5rem,6vw,6rem);
  align-items:start;
}
body[data-page="about"] .education-intro{
  padding-top:.15rem;
}
body[data-page="about"] .education-intro .eyebrow{
  margin:0 0 .75rem;
}
body[data-page="about"] .education-intro > p:last-child{
  margin:0;
  color:rgba(255,255,255,.72);
  font:400 clamp(1rem,1.2vw,1.18rem)/1.55 Georgia,serif;
}
body[data-page="about"] .degree-editorial{
  display:grid;
  gap:1.35rem;
}
body[data-page="about"] .degree-editorial article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:1rem;
  align-items:start;
  padding:0;
  border:0;
}
body[data-page="about"] .degree-editorial span{
  color:#d4a04e;
  font-size:.78rem;
  letter-spacing:.14em;
  padding-top:.12rem;
}
body[data-page="about"] .degree-editorial h3{
  margin:0 0 .35rem;
  color:#f0e8de;
  font-size:.91rem;
  line-height:1.42;
  letter-spacing:.085em;
  font-weight:500;
}
body[data-page="about"] .degree-editorial p{
  margin:0;
  color:rgba(255,255,255,.6);
  line-height:1.55;
  font-size:.82rem;
}

/* One-line What I Bring heading */
body[data-page="about"] .strengths-heading{
  max-width:none;
  margin-bottom:1.35rem;
}
body[data-page="about"] .strengths-heading h2{
  font-size:clamp(1.35rem,1.85vw,1.85rem);
  white-space:nowrap;
  letter-spacing:-.012em;
}

/* Compact expertise grid */
body[data-page="about"] .strengths-grid article{
  min-height:118px;
  padding:.95rem 1.1rem;
}
body[data-page="about"] .strengths-grid span{
  margin-bottom:.9rem;
}
body[data-page="about"] .strengths-grid h3{
  font-size:1rem;
}
body[data-page="about"] .strengths-grid p{
  font-size:.79rem;
}

/* Smaller philosophy text and shorter divider */
body[data-page="about"] .about-philosophy{
  padding:2.65rem 0;
}
body[data-page="about"] .philosophy-quote{
  position:relative;
  padding-right:2rem;
  border-right:0;
}
body[data-page="about"] .philosophy-quote::after{
  content:"";
  position:absolute;
  right:0;
  top:14%;
  height:72%;
  width:1px;
  background:rgba(198,145,67,.42);
}
body[data-page="about"] .philosophy-quote p{
  font-size:clamp(1.35rem,1.9vw,1.9rem);
  max-width:560px;
}
body[data-page="about"] .philosophy-copy h2{
  font-size:clamp(1.35rem,1.75vw,1.75rem);
}

/* Align education content with biography text column */
@media(min-width:901px){
  body[data-page="about"] .education-editorial{
    padding-left:calc((100% - min(100%, 1200px)) * 0);
  }
}

@media(max-width:900px){
  body[data-page="about"] .education-editorial{
    grid-template-columns:1fr;
    gap:1.8rem;
  }
  body[data-page="about"] .strengths-heading h2{
    white-space:normal;
  }
}
@media(max-width:620px){
  body[data-page="about"] .degree-editorial article{
    grid-template-columns:36px 1fr;
  }
  body[data-page="about"] .philosophy-quote::after{
    display:none;
  }
}


/* =========================================================
   FINAL ABOUT PAGE ALIGNMENT & FOOTER
   ========================================================= */

/* Keep the About section clean: no decorative numbers */
body[data-page="about"] .about-copy .about-number,
body[data-page="about"] .about-copy > span:first-child:not(.eyebrow){
  display:none !important;
}

/* Align Education with the portrait frame */
body[data-page="about"] .education-editorial{
  grid-template-columns:minmax(250px,.72fr) minmax(430px,1.28fr);
  gap:clamp(2.5rem,6vw,6rem);
}
body[data-page="about"] .education-intro{
  width:100%;
  max-width:338px;
  margin:0 auto;
  padding-left:0;
}
body[data-page="about"] .education-intro .eyebrow,
body[data-page="about"] .education-intro > p:last-child{
  text-align:left;
}

/* Align Education numbering with the About paragraph column */
body[data-page="about"] .degree-editorial{
  width:100%;
}
body[data-page="about"] .degree-editorial article{
  grid-template-columns:44px minmax(0,1fr);
}
body[data-page="about"] .degree-editorial span{
  text-align:left;
}

/* Slightly tighter transition between biography and Education */
body[data-page="about"] .about-story{
  padding-bottom:2rem;
}
body[data-page="about"] .about-education{
  padding-top:2.4rem;
  padding-bottom:2.55rem;
}

/* Slightly smaller footer/CTA */
body[data-page="about"] .about-contact{
  padding-top:1.55rem !important;
  padding-bottom:1.55rem !important;
}
body[data-page="about"] .about-contact .contact-inner{
  min-height:auto;
}
body[data-page="about"] .about-contact .contact-inner > div p{
  margin-top:.28rem;
  font-size:clamp(1.45rem,2.1vw,2rem);
}
body[data-page="about"] .about-contact .button{
  padding:.9rem 1.35rem;
}

/* Maintain responsive alignment */
@media(max-width:900px){
  body[data-page="about"] .education-editorial{
    grid-template-columns:1fr;
  }
  body[data-page="about"] .education-intro{
    max-width:none;
    margin:0;
  }
}


/* =========================================================
   CONTACT PAGE
   ========================================================= */
body[data-page="contact"]{
  background:#08090a;
}

body[data-page="contact"] .nav a.active::after{
  right:0;
}

.contact-hero{
  position:relative;
  overflow:hidden;
  min-height:360px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 72% 52%,rgba(117,68,35,.34),transparent 34%),
    radial-gradient(circle at 36% 115%,rgba(89,42,31,.2),transparent 34%),
    linear-gradient(180deg,#090a0b 0%,#0c0d0e 100%);
  border-bottom:1px solid rgba(200,145,67,.12);
}

.contact-hero-inner{
  position:relative;
  z-index:2;
  max-width:880px;
  padding:4.2rem 0 4.5rem;
}

.contact-hero h1{
  max-width:800px;
  margin:.2rem 0 1.15rem;
  font:400 clamp(2.55rem,5vw,5rem)/1.02 Georgia,serif;
  letter-spacing:-.035em;
}

.contact-hero p:last-child{
  max-width:700px;
  margin:0;
  color:var(--text);
  font-size:clamp(.95rem,1.35vw,1.08rem);
}

.contact-hero-lines{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.75;
}

.contact-hero-lines span{
  position:absolute;
  display:block;
  width:78%;
  height:220px;
  right:-17%;
  border-radius:50%;
  border-top:1px solid rgba(200,145,67,.54);
}

.contact-hero-lines span:first-child{
  top:19%;
  transform:rotate(-8deg);
}

.contact-hero-lines span:last-child{
  top:45%;
  right:-24%;
  transform:rotate(7deg);
  opacity:.56;
}

.contact-main{
  padding:clamp(3.4rem,7vw,6.5rem) 0;
  background:
    linear-gradient(90deg,rgba(200,145,67,.025) 1px,transparent 1px),
    linear-gradient(180deg,#0b0c0d,#08090a);
  background-size:110px 100%;
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.72fr);
  gap:clamp(2rem,6vw,6.5rem);
  align-items:start;
}

.contact-form-panel{
  padding:clamp(1.7rem,3.2vw,3rem);
  border:1px solid rgba(200,145,67,.35);
  background:linear-gradient(145deg,rgba(24,26,28,.96),rgba(13,14,15,.96));
  box-shadow:0 30px 85px rgba(0,0,0,.28);
}

.contact-panel-heading{
  margin-bottom:2rem;
}

.contact-panel-heading h2,
.contact-details h2{
  margin:0;
  font:400 clamp(1.8rem,3vw,2.85rem)/1.12 Georgia,serif;
  letter-spacing:-.02em;
}

.contact-form{
  display:grid;
  gap:1.45rem;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.35rem;
}

.contact-form label{
  display:grid;
  gap:.6rem;
}

.contact-form label > span{
  color:var(--cream);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-form label b{
  color:var(--gold);
  font-weight:400;
}

.contact-form label small{
  color:var(--muted);
  font-size:.62rem;
  letter-spacing:.08em;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(216,208,199,.35);
  border-radius:0;
  outline:0;
  padding:.75rem 0;
  background:transparent;
  color:var(--cream);
  font:400 1rem/1.5 Arial,Helvetica,sans-serif;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.contact-form textarea{
  resize:vertical;
  min-height:150px;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:var(--gold);
  box-shadow:0 1px 0 rgba(200,145,67,.35);
}

.contact-submit{
  justify-self:start;
  margin-top:.3rem;
  cursor:pointer;
  background:#641d2b;
  border-color:#8b3848;
  color:var(--cream);
}

.contact-submit:hover{
  background:#7b2738;
  border-color:#a54d5d;
  color:var(--cream);
}

.form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.contact-details{
  padding-top:.4rem;
}

.contact-details h2{
  margin-bottom:2.7rem;
}

.contact-detail{
  padding:1.35rem 0;
  border-top:1px solid rgba(200,145,67,.28);
}

.contact-detail > span{
  display:block;
  margin-bottom:.42rem;
  color:var(--gold);
  font-size:.67rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.contact-detail a,
.contact-detail p{
  margin:0;
  color:var(--text);
  font:400 clamp(1rem,1.4vw,1.14rem)/1.45 Georgia,serif;
  overflow-wrap:anywhere;
}

.contact-detail a:hover{
  color:var(--gold);
}

.contact-note{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:1rem;
  margin-top:2.1rem;
  color:var(--muted);
}

.contact-note span{
  height:1px;
  margin-top:.8rem;
  background:var(--gold);
}

.contact-note p{
  margin:0;
  font-size:.88rem;
}

.site-footer{
  border-top:1px solid rgba(200,145,67,.18);
  background:#641d2b;
}

.footer-inner{
  min-height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  color:rgba(255,255,255,.78);
  font-size:.72rem;
  letter-spacing:.06em;
}

.footer-inner p{
  margin:.2rem 0;
}

.footer-brand{
  color:#fff;
  font:400 1rem/1.2 Georgia,serif;
  letter-spacing:.12em;
}

@media(max-width:900px){
  .contact-layout{
    grid-template-columns:1fr;
  }
  .contact-details{
    max-width:650px;
  }
}

@media(max-width:680px){
  .contact-hero{
    min-height:320px;
  }
  .contact-hero-inner{
    padding:3.2rem 0 3.5rem;
  }
  .form-row{
    grid-template-columns:1fr;
  }
  .contact-form-panel{
    padding:1.35rem;
  }
  .footer-inner{
    min-height:auto;
    padding:1.5rem 0;
    flex-direction:column;
    align-items:flex-start;
    gap:.8rem;
  }
}


/* =========================================================
   FINAL CONTACT PAGE
   ========================================================= */
body.final-contact-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 58% 24%,rgba(117,68,35,.25),transparent 34%),
    #08090a;
}

body.final-contact-page .site-header{
  border-bottom:1px solid rgba(200,145,67,.18);
}

.final-contact-hero{
  min-height:auto;
  text-align:center;
  border-bottom:0;
}

.final-contact-hero .contact-hero-inner{
  max-width:900px;
  padding:clamp(3rem,5vw,4.8rem) 0 clamp(2.5rem,4vw,4rem);
}

.final-contact-hero h1{
  max-width:none;
  margin:0 0 1.15rem;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1.05;
  letter-spacing:-.03em;
}

.final-contact-hero p{
  max-width:720px;
  margin:0 auto;
  text-align:center;
  line-height:1.7;
}

.final-contact-main{
  padding:0 0 clamp(4rem,7vw,7rem);
  background:transparent;
}

.final-contact-panel{
  width:min(100%,860px);
  margin:0 auto;
  padding:clamp(2rem,4vw,3.3rem);
}

.final-contact-panel .contact-form{
  gap:1.65rem;
}

.final-contact-panel .contact-form input,
.final-contact-panel .contact-form textarea{
  border:1px solid rgba(200,145,67,.35);
  padding:1rem;
}

.final-contact-panel .contact-form textarea{
  min-height:170px;
}

.final-contact-submit{
  width:100%;
  justify-content:center;
  margin-top:.55rem;
  padding:1.1rem 1.5rem;
}

body.final-contact-page .contact-hero-lines span:first-child{
  top:28%;
}

body.final-contact-page .contact-hero-lines span:last-child{
  top:53%;
}

@media(max-width:680px){
  .final-contact-panel{
    padding:1.4rem;
  }

  .final-contact-hero .contact-hero-inner{
    padding:2.6rem 0 2.2rem;
  }

  .final-contact-main{
    padding-bottom:3rem;
  }
}


/* =========================================================
   CONTACT HERO — FINAL SIZE & ALIGNMENT REFINEMENTS
   ========================================================= */
body.final-contact-page .final-contact-hero .contact-hero-inner{
  max-width:820px;
  padding-top:clamp(2.7rem,4.3vw,4rem);
  padding-bottom:clamp(2.1rem,3.2vw,3rem);
}

body.final-contact-page .final-contact-hero h1{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:.95rem;
  font-size:clamp(1.9rem,3.15vw,3.25rem);
  line-height:1.08;
}

body.final-contact-page .final-contact-hero p{
  width:min(100%,680px);
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  line-height:1.65;
}

body.final-contact-page .final-contact-main{
  padding-top:0;
}

body.final-contact-page .final-contact-panel{
  margin-top:0;
}

@media(max-width:680px){
  body.final-contact-page .final-contact-hero .contact-hero-inner{
    padding-top:2.35rem;
    padding-bottom:1.9rem;
  }

  body.final-contact-page .final-contact-hero h1{
    font-size:clamp(1.75rem,8vw,2.35rem);
  }

  body.final-contact-page .final-contact-hero p{
    width:min(100%,34rem);
  }
}
