:root{
  --ink:#161514;
  --ink-soft:#4a463f;
  --parchment:#ffffff;
  --parchment-deep:#f4f4f2;
  --card:#f7f6f3;
  --gold:#b8892a;
  --gold-bright:#dba53f;
  --indigo:#161514;
  --indigo-deep:#0e0d0c;
  --stamp:#161514;
  --line:#e3e0d8;
  --line-dark:#332f28;
  --cream-text:#f4f2ec;
  --max:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Inter', sans-serif;
  margin:0;
  color:var(--ink);
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'Inter', sans-serif;}
img,svg{display:block;max-width:100%;}

.wrap{max-width:var(--max); margin:0 auto; padding:0 clamp(20px,5vw,56px);}

/* subtle paper grain */
.grain{position:relative;}
.grain::before{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/></svg>");
  pointer-events:none;
  mix-blend-mode:multiply;
}

/* ---------- NAV ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(239,231,211,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px clamp(20px,5vw,56px);
  max-width:var(--max); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand-mark{
  width:38px; height:38px; border-radius:50%;
  border:1.5px solid var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-family:'Inter', sans-serif; font-weight:700; font-size:14px;
  flex-shrink:0;
}
.brand-text{line-height:1.15;}
.brand-text strong{display:block; font-family:'Inter', sans-serif; font-size:15px; font-weight:600;}
.brand-text span{display:block; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); font-weight:600;}

nav.links{display:flex; align-items:center; gap:32px;}
nav.links a{
  font-size:13px; letter-spacing:0.04em; text-transform:uppercase; font-weight:500;
  position:relative; padding-bottom:3px;
}
nav.links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--gold); transition:right .25s ease;
}
nav.links a:hover::after{right:0;}
.nav-phone{
  display:flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:500;
  border:1px solid var(--ink); border-radius:999px;
  padding:8px 14px;
}
.nav-phone svg{width:14px; height:14px;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; color:var(--ink);}
.nav-toggle svg{width:24px;height:24px;}

@media (max-width: 860px){
  nav.links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--parchment); flex-direction:column; align-items:flex-start;
    gap:0; border-bottom:1px solid var(--line); padding:8px clamp(20px,5vw,56px) 20px;
  }
  nav.links.open{display:flex;}
  nav.links a{width:100%; padding:12px 0; border-bottom:1px solid var(--line);}
  .nav-phone{display:none;}
  .nav-toggle{display:block;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative; overflow:hidden;
  padding:clamp(64px,10vw,120px) 0 clamp(56px,8vw,96px);
}
.hero-inner{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin-bottom:22px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}
.hero h1{
  font-size:clamp(40px,6vw,68px);
  font-weight:600; line-height:1.03;
}
.hero h1 em{font-style:italic; color:var(--gold); font-weight:500;}
.hero-sub{
  margin-top:24px; font-size:clamp(15px,1.6vw,17.5px); line-height:1.65;
  color:var(--ink-soft); max-width:46ch;
}
.cta-row{display:flex; align-items:center; gap:20px; margin-top:36px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--ink); color:var(--parchment);
  padding:14px 24px; border-radius:2px;
  font-size:13.5px; font-weight:600; letter-spacing:0.03em;
  border:1px solid var(--ink);
  transition:background .2s ease, color .2s ease;
}
.btn svg{width:15px;height:15px;}
.btn:hover{background:transparent; color:var(--ink);}
.btn-ghost{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--ink); font-size:13.5px; font-weight:600; letter-spacing:0.03em;
  border-bottom:1px solid var(--ink); padding-bottom:2px;
}
.btn-ghost svg{width:14px;height:14px;}

/* signature stamp */
.stamp-zone{position:relative; display:flex; justify-content:center; align-items:center; min-height:280px;}
.stamp{
  width:min(240px,80%); aspect-ratio:1/1; color:var(--stamp);
  transform:rotate(-9deg) scale(1);
  animation:stampDown .9s cubic-bezier(.2,1.6,.4,1) both;
  animation-delay:.15s;
}
.stamp svg{width:100%;height:100%;}
@keyframes stampDown{
  0%{opacity:0; transform:rotate(-9deg) scale(2.1) translateY(-40px);}
  60%{opacity:1;}
  100%{opacity:1; transform:rotate(-9deg) scale(1) translateY(0);}
}
@media (prefers-reduced-motion: reduce){
  .stamp{animation:none;}
}

@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr; text-align:left;}
  .stamp-zone{min-height:auto; justify-content:flex-start; margin-top:8px;}
  .stamp{width:150px;}
}

/* ---------- ABOUT / PILLARS ---------- */
.about{
  background:var(--indigo); color:var(--cream-text);
  padding:clamp(64px,9vw,108px) 0;
}
.about-head{max-width:640px; margin-bottom:56px;}
.about-head .eyebrow{color:var(--gold-bright);}
.about-head h2{
  color:var(--cream-text); font-size:clamp(28px,4vw,40px); font-weight:600; line-height:1.15;
}
.about-head p{margin-top:18px; color:#c9c5ba; font-size:15.5px; line-height:1.7;}
.pillars{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line-dark); border:1px solid var(--line-dark);
}
.pillar{background:var(--indigo); padding:32px 28px;}
.pillar .num{font-family:'Inter',sans-serif; font-size:12px; color:var(--gold-bright); letter-spacing:.06em;}
.pillar h3{color:var(--cream-text); font-size:19px; font-weight:600; margin-top:14px;}
.pillar p{color:#b3afa2; font-size:14px; line-height:1.6; margin-top:10px;}
@media (max-width: 760px){.pillars{grid-template-columns:1fr;}}

/* ---------- SERVICES ---------- */
.services{padding:clamp(72px,10vw,120px) 0;}
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
  margin-bottom:52px; border-bottom:1px solid var(--line); padding-bottom:28px;
}
.section-head h2{font-size:clamp(28px,4vw,40px); font-weight:600;}
.section-head .count{font-family:'Inter',sans-serif; font-size:13px; color:var(--gold); text-align:right;}
.grid-services{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.s-card{background:var(--card); padding:32px 28px 30px; display:flex; flex-direction:column; min-height:220px;}
.s-card .ref{font-family:'Inter',sans-serif; font-size:11.5px; color:var(--gold); letter-spacing:.05em;}
.s-card .icon-wrap{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--ink);
  display:flex; align-items:center; justify-content:center; margin-top:18px;
}
.s-card .icon-wrap svg{width:17px; height:17px;}
.s-card h3{font-size:18px; font-weight:600; margin-top:18px; line-height:1.25;}
.s-card p{font-size:13.8px; line-height:1.6; color:var(--ink-soft); margin-top:10px;}
@media (max-width: 900px){.grid-services{grid-template-columns:repeat(2,1fr);}}
@media (max-width: 620px){.grid-services{grid-template-columns:1fr;} .section-head{flex-direction:column; align-items:flex-start; gap:10px;}}

/* ---------- DIPLOMATICS FEATURE ---------- */
.feature{
  background:var(--ink); color:var(--parchment);
  padding:clamp(80px,11vw,132px) 0; position:relative; overflow:hidden;
}
.feature-inner{
  display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:center;
}
.feature .stamp-big{width:min(260px,100%); color:var(--gold-bright); margin:0 auto;}
.feature .eyebrow{color:var(--gold-bright);}
.feature h2{color:var(--parchment); font-size:clamp(28px,4.2vw,42px); font-weight:600; line-height:1.12;}
.feature p{margin-top:20px; color:#c9c2ac; font-size:15.5px; line-height:1.75; max-width:52ch;}
.feature-tags{display:flex; gap:10px; flex-wrap:wrap; margin-top:28px;}
.feature-tags span{
  font-family:'Inter',sans-serif; font-size:11.5px; letter-spacing:.03em;
  border:1px solid #4a453a; color:#d8d2bf; padding:6px 12px; border-radius:999px;
}
@media (max-width: 860px){.feature-inner{grid-template-columns:1fr; text-align:left;} .feature .stamp-big{margin:0 0 12px;}}

/* ---------- EVENTS ---------- */
.events{padding:clamp(72px,10vw,120px) 0;}
.event-band{
  background:var(--card); border:1px solid var(--line);
  padding:clamp(36px,5vw,56px); display:flex; justify-content:space-between; align-items:center; gap:32px;
}
.event-band h3{font-size:clamp(22px,3vw,30px); font-weight:600; max-width:26ch; line-height:1.25;}
.event-band p{margin-top:12px; color:var(--ink-soft); font-size:14.5px; line-height:1.6; max-width:48ch;}
@media (max-width: 760px){.event-band{flex-direction:column; align-items:flex-start;}}

/* ---------- CONTACT ---------- */
.contact{padding:0 0 clamp(80px,10vw,120px);}
.ledger{
  background:var(--card); border:1px solid var(--line);
  display:grid; grid-template-columns:1fr 1fr;
}
.ledger-left{padding:clamp(40px,5vw,60px); border-right:1px solid var(--line);}
.ledger-left h2{font-size:clamp(26px,3.6vw,36px); font-weight:600;}
.ledger-left p{margin-top:16px; color:var(--ink-soft); font-size:15px; line-height:1.65; max-width:40ch;}
.field-list{margin-top:36px; display:flex; flex-direction:column; gap:0;}
.field{
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.field:first-child{border-top:1px solid var(--line);}
.field svg{width:16px;height:16px; margin-top:2px; color:var(--gold); flex-shrink:0;}
.field .k{font-family:'Inter',sans-serif; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);}
.field .v{font-size:14.5px; margin-top:3px; line-height:1.5;}
.ledger-right{padding:clamp(40px,5vw,60px); display:flex; flex-direction:column; justify-content:center;}
.ledger-right .tag{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);}
.ledger-right h3{margin-top:12px; font-size:22px; font-weight:600; line-height:1.3;}
.ledger-right p{margin-top:12px; font-size:14px; color:var(--ink-soft); line-height:1.6;}
.ledger-actions{margin-top:24px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
@media (max-width: 760px){.ledger{grid-template-columns:1fr;} .ledger-left{border-right:none; border-bottom:1px solid var(--line);}}

/* ---------- FOOTER ---------- */
footer{background:var(--ink); color:#a49c86; padding:44px 0 30px;}
.foot-top{display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; padding-bottom:28px; border-bottom:1px solid #3a352a;}
.foot-brand{display:flex; gap:12px; align-items:center;}
.foot-brand .brand-mark{border-color:#a49c86; color:var(--parchment);}
.foot-brand strong{color:var(--parchment); font-family:'Inter',sans-serif; font-size:15px;}
.foot-brand span{display:block; font-size:11px; color:#82795f; margin-top:2px;}
.foot-links{display:flex; gap:28px; font-size:12.5px;}
.foot-bottom{display:flex; justify-content:space-between; padding-top:20px; font-size:11.5px; flex-wrap:wrap; gap:10px;}
</content>
