:root{
  --ink:#141210;
  --ink-soft:#3A342D;
  --slate:#6E675D;
  --paper:#FFFFFF;
  --linen:#F4F0E8;
  --linen-deep:#EAE3D6;
  --gold:#A8823C;
  --gold-deep:#7C5C21;
  --rule:rgba(20,18,16,.13);
  --rule-strong:rgba(20,18,16,.26);
  --rule-gold:rgba(168,130,60,.42);

  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  --fs-hero:clamp(2.9rem,8.4vw,6.4rem);
  --fs-d1:clamp(2.1rem,5.2vw,3.9rem);
  --fs-d2:clamp(1.6rem,3.4vw,2.5rem);
  --fs-d3:clamp(1.2rem,2vw,1.45rem);
  --fs-body:1.0625rem;
  --fs-lead:clamp(1.1rem,1.6vw,1.25rem);
  --fs-sm:.9375rem;
  --fs-xs:.8125rem;
  --fs-eyebrow:.71rem;

  --gut:clamp(1.25rem,4vw,2.75rem);
  --maxw:1220px;
  --sec-y:clamp(4.5rem,9vw,8.5rem);
  --radius:2px;

  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0;}
ul[class],ol[class]{list-style:none;padding:0;}
img,svg{max-width:100%;display:block;}
button,input,select,textarea{font:inherit;color:inherit;}
a{color:inherit;}

body{
  font-family:var(--body);
  font-size:var(--fs-body);
  line-height:1.72;
  color:var(--ink-soft);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.wrap-narrow{max-width:760px;}
.section{padding-block:var(--sec-y);}
.section--linen{background:var(--linen);}
.section--ink{background:var(--ink);color:#DED9D0;}
.section--ink h2,.section--ink h3{color:#FBF9F5;}
.section--tight{padding-block:clamp(3rem,6vw,5rem);}
.rule{height:1px;background:var(--rule);border:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:var(--gut);top:-100px;z-index:200;background:var(--ink);color:#fff;padding:.75rem 1.25rem;transition:top .2s;}
.skip-link:focus{top:.75rem;}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--gold-deep);
  outline-offset:3px;
  border-radius:1px;
}

h1,h2,h3,h4,.display{
  font-family:var(--display);
  font-weight:500;
  color:var(--ink);
  line-height:1.08;
  letter-spacing:-.015em;
  font-variation-settings:'opsz' 40;
}
h2{font-size:var(--fs-d1);}
h3{font-size:var(--fs-d3);line-height:1.25;letter-spacing:-.005em;}
.eyebrow{
  font-family:var(--body);
  font-size:var(--fs-eyebrow);
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold-deep);
  display:block;
  margin-bottom:1.35rem;
}
.section--ink .eyebrow{color:var(--gold);}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-soft);}
.section--ink .lead,.section--ink p{color:#C9C3B9;}
.meta{font-size:var(--fs-xs);letter-spacing:.13em;text-transform:uppercase;color:var(--slate);font-weight:600;}
p + p{margin-top:1.15rem;}
.prose p{max-width:66ch;}
strong{font-weight:700;color:var(--ink);}

.sec-head{max-width:720px;margin-bottom:clamp(2.5rem,5vw,4rem);}
.sec-head .lead{margin-top:1.4rem;}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.site-header.is-scrolled{border-bottom-color:var(--rule);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;}
.brand{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;}
.brand__mark{
  font-family:var(--display);font-size:1.32rem;font-weight:600;color:var(--ink);
  letter-spacing:-.01em;line-height:1;
}
.brand__rule{width:22px;height:1px;background:var(--gold);align-self:center;}
.brand__role{font-size:var(--fs-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--slate);font-weight:600;}

.nav__list{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2rem);}
.nav__link{
  text-decoration:none;font-size:var(--fs-sm);font-weight:600;color:var(--ink-soft);
  padding-block:.4rem;position:relative;transition:color .2s;
}
.nav__link::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .32s var(--ease);
}
.nav__link:hover{color:var(--ink);}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1);}
.nav__link[aria-current="page"]{color:var(--ink);}
.nav__cta{margin-left:.4rem;}

.nav__toggle{
  display:none;background:none;border:1px solid var(--rule-strong);
  padding:.55rem .85rem;cursor:pointer;font-size:var(--fs-xs);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
}

@media (max-width:880px){
  .nav__toggle{display:block;}
  .nav__list{
    position:fixed;inset:74px 0 0;background:var(--paper);
    flex-direction:column;align-items:flex-start;justify-content:flex-start;
    gap:0;padding:2rem var(--gut) 3rem;
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:opacity .28s var(--ease),transform .28s var(--ease);
    overflow-y:auto;
  }
  .nav__list.is-open{opacity:1;transform:none;pointer-events:auto;}
  .nav__list li{width:100%;border-bottom:1px solid var(--rule);}
  .nav__link{display:block;padding:1.05rem 0;font-family:var(--display);font-size:1.5rem;font-weight:500;}
  .nav__link::after{display:none;}
  .nav__cta{margin:1.75rem 0 0;width:100%;}
  .nav__list li:last-child{border-bottom:0;}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.92rem 1.65rem;font-size:var(--fs-sm);font-weight:700;
  letter-spacing:.03em;text-decoration:none;cursor:pointer;
  border:1px solid var(--ink);border-radius:var(--radius);
  background:var(--ink);color:#FBF9F5;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong);}
.btn--ghost:hover{background:var(--ink);color:#FBF9F5;border-color:var(--ink);}
.btn--light{background:#FBF9F5;color:var(--ink);border-color:#FBF9F5;}
.btn--light:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn--sm{padding:.62rem 1.1rem;font-size:var(--fs-xs);}
.btn svg{width:15px;height:15px;flex:none;}

.textlink{
  display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  font-weight:700;font-size:var(--fs-sm);color:var(--ink);
  border-bottom:1px solid var(--rule-gold);padding-bottom:.22rem;
  transition:border-color .25s,color .25s,gap .25s;
}
.textlink:hover{color:var(--gold-deep);border-color:var(--gold-deep);gap:.8rem;}
.section--ink .textlink{color:#FBF9F5;}
.section--ink .textlink:hover{color:var(--gold);}

.hero{padding-block:clamp(3.5rem,8vw,7rem) clamp(3rem,6vw,5.5rem);position:relative;overflow:hidden;}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:end;}
.hero__name{
  font-size:var(--fs-hero);line-height:.94;letter-spacing:-.032em;
  font-variation-settings:'opsz' 144;font-weight:500;
}
.hero__name span{display:block;}
.hero__name em{font-style:italic;color:var(--gold-deep);}
.hero__headline{
  font-family:var(--display);font-size:var(--fs-d2);font-weight:400;
  color:var(--ink);line-height:1.22;margin-top:1.9rem;max-width:20ch;
}
.hero__positioning{margin-top:1.5rem;max-width:52ch;color:var(--slate);}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.4rem;}
.hero__rule{margin-top:clamp(3rem,6vw,4.5rem);height:1px;background:linear-gradient(90deg,var(--gold) 0%,var(--rule) 42%,transparent 100%);}

.ledger{border-top:1px solid var(--rule-strong);padding-top:1.15rem;}
.ledger__label{font-size:var(--fs-eyebrow);letter-spacing:.24em;text-transform:uppercase;color:var(--slate);font-weight:700;margin-bottom:1.15rem;}
.ledger__row{display:flex;align-items:baseline;gap:.7rem;padding-block:.55rem;}
.ledger__row + .ledger__row{border-top:1px solid var(--rule);}
.ledger__term{font-size:var(--fs-sm);font-weight:600;color:var(--ink);white-space:nowrap;}
.ledger__leader{flex:1 1 auto;border-bottom:1px dotted var(--rule-strong);transform:translateY(-.28rem);min-width:1rem;}
.ledger__val{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;color:var(--gold-deep);white-space:nowrap;}
.section--ink .ledger{border-top-color:rgba(255,255,255,.22);}
.section--ink .ledger__row + .ledger__row{border-top-color:rgba(255,255,255,.12);}
.section--ink .ledger__term{color:#FBF9F5;}
.section--ink .ledger__leader{border-bottom-color:rgba(255,255,255,.28);}
.section--ink .ledger__val{color:var(--gold);}

@media (max-width:880px){
  .hero__grid{grid-template-columns:1fr;gap:2.75rem;align-items:start;}
}

.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.split--even{grid-template-columns:repeat(2,minmax(0,1fr));}
.split--wide-left{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.split__sticky{position:sticky;top:110px;}
@media (max-width:880px){
  .split,.split--even,.split--wide-left{grid-template-columns:1fr;gap:2.25rem;}
  .split__sticky{position:static;}
}

.disciplines{border-top:1px solid var(--rule-strong);}
.discipline{
  display:grid;grid-template-columns:3.2rem minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(1rem,3vw,2.5rem);align-items:start;
  padding-block:clamp(1.6rem,3vw,2.35rem);
  border-bottom:1px solid var(--rule);
  transition:background .3s var(--ease);
}
.discipline:hover{background:rgba(168,130,60,.045);}
.discipline__idx{font-family:var(--body);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;color:var(--gold-deep);padding-top:.42rem;}
.discipline__title{font-size:var(--fs-d3);}
.discipline__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem;}
.tag{
  font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--slate);border:1px solid var(--rule);padding:.25rem .55rem;border-radius:var(--radius);
}
.discipline__body{color:var(--slate);}
.discipline__body p{max-width:56ch;}
@media (max-width:760px){
  .discipline{grid-template-columns:2.4rem minmax(0,1fr);}
  .discipline__body{grid-column:2;}
}

.projects{display:grid;gap:clamp(2rem,4vw,3.25rem);}
.project{
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
  padding-bottom:clamp(2rem,4vw,3.25rem);border-bottom:1px solid var(--rule);
}
.project:last-child{border-bottom:0;padding-bottom:0;}
.project--flip .project__figure{order:2;}
.project__figure{
  position:relative;aspect-ratio:4/3;background:var(--linen-deep);
  border:1px solid var(--rule);overflow:hidden;
}
.project__figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.project:hover .project__figure img{transform:scale(1.035);}
.project__figure figcaption{
  position:absolute;inset:auto 0 0 0;padding:.7rem .9rem;
  font-size:var(--fs-xs);font-weight:600;color:var(--slate);
  background:linear-gradient(0deg,rgba(244,240,232,.96),rgba(244,240,232,0));
}
.project__discipline{font-size:var(--fs-eyebrow);letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold-deep);}
.project__title{font-size:var(--fs-d2);margin-top:.9rem;}
.project__meta{margin-top:.7rem;}
.project__body{margin-top:1.2rem;color:var(--slate);}
.project__body p{max-width:56ch;}
.project__facts{margin-top:1.5rem;border-top:1px solid var(--rule);}
.project__fact{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding-block:.7rem;border-bottom:1px solid var(--rule);}
.project__fact dt{font-size:var(--fs-xs);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--slate);}
.project__fact dd{margin:0;font-size:var(--fs-sm);color:var(--ink-soft);}
.project__actions{margin-top:1.6rem;}
@media (max-width:880px){
  .project,.project--flip{grid-template-columns:1fr;}
  .project--flip .project__figure{order:0;}
  .project__fact{grid-template-columns:1fr;gap:.2rem;}
}

.plate{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.55rem;background:
    linear-gradient(135deg,rgba(168,130,60,.09),transparent 60%),var(--linen-deep);
}
.plate__mark{font-family:var(--display);font-size:2.1rem;color:var(--gold-deep);line-height:1;}
.plate__text{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--slate);font-weight:700;text-align:center;padding-inline:1.5rem;}

.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);}
.cred{background:var(--paper);padding:clamp(1.5rem,3vw,2.1rem);}
.section--linen .cred{background:var(--linen);}
.cred__figure{font-family:var(--display);font-size:clamp(2rem,3.6vw,2.9rem);color:var(--ink);line-height:1;font-weight:500;}
.cred__label{margin-top:.75rem;font-size:var(--fs-sm);color:var(--slate);line-height:1.5;}

.timeline{border-left:1px solid var(--rule-strong);padding-left:clamp(1.25rem,3vw,2.25rem);margin-left:.35rem;}
.tl-item{position:relative;padding-bottom:clamp(2rem,4vw,2.9rem);}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:'';position:absolute;left:calc(-1 * clamp(1.25rem,3vw,2.25rem) - 4.5px);top:.55rem;
  width:8px;height:8px;background:var(--gold);border-radius:50%;
}
.tl-item h3{margin-bottom:.55rem;}
.tl-item p{color:var(--slate);max-width:60ch;}

.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--rule);border-block:1px solid var(--rule);}
.value{background:var(--paper);padding:clamp(1.5rem,3vw,2.15rem);}
.section--linen .value{background:var(--linen);}
.value h3{font-size:1.12rem;margin-bottom:.65rem;}
.value p{font-size:var(--fs-sm);color:var(--slate);}

.faq{border-top:1px solid var(--rule-strong);}
.faq details{border-bottom:1px solid var(--rule);}
.faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
  padding-block:1.35rem;font-family:var(--display);font-size:1.14rem;font-weight:500;color:var(--ink);line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:'';flex:none;width:13px;height:13px;margin-top:.4rem;
  background:linear-gradient(var(--gold-deep),var(--gold-deep)) center/100% 1px no-repeat,
             linear-gradient(var(--gold-deep),var(--gold-deep)) center/1px 100% no-repeat;
  transition:transform .3s var(--ease);
}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details[open] summary{color:var(--gold-deep);}
.faq__answer{padding-bottom:1.5rem;color:var(--slate);max-width:70ch;}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1.5rem;}
.field{display:flex;flex-direction:column;gap:.5rem;}
.field--full{grid-column:1/-1;}
.field label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--slate);}
.field .req{color:var(--gold-deep);}
.field input,.field select,.field textarea{
  width:100%;padding:.82rem .95rem;background:var(--paper);
  border:1px solid var(--rule-strong);border-radius:var(--radius);
  font-size:var(--fs-sm);color:var(--ink);transition:border-color .2s,box-shadow .2s;
}
.field textarea{min-height:150px;resize:vertical;line-height:1.65;}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(168,130,60,.16);
}
.field input[type=file]{padding:.62rem .7rem;background:var(--linen);cursor:pointer;}
.field .hint{font-size:var(--fs-xs);color:var(--slate);line-height:1.5;}
.field .error{font-size:var(--fs-xs);color:#9B2C1E;font-weight:600;min-height:1.1em;}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#9B2C1E;}
.consent{display:flex;align-items:flex-start;gap:.75rem;grid-column:1/-1;}
.consent input{width:18px;height:18px;flex:none;margin-top:.25rem;accent-color:var(--gold-deep);}
.consent label{text-transform:none;letter-spacing:0;font-size:var(--fs-sm);font-weight:400;color:var(--slate);line-height:1.6;}
.form-status{
  grid-column:1/-1;padding:1rem 1.15rem;border:1px solid var(--rule-strong);
  border-left:3px solid var(--gold-deep);font-size:var(--fs-sm);display:none;background:var(--linen);
}
.form-status.is-visible{display:block;}
.form-status.is-error{border-left-color:#9B2C1E;}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}
@media (max-width:680px){ .form-grid{grid-template-columns:1fr;} }

.channels{border-top:1px solid var(--rule-strong);}
.channel{
  display:flex;align-items:baseline;justify-content:space-between;gap:1.25rem;
  padding-block:1.1rem;border-bottom:1px solid var(--rule);text-decoration:none;
}
.channel__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);}
.channel__value{font-size:var(--fs-sm);font-weight:600;color:var(--ink);text-align:right;word-break:break-word;}
a.channel:hover .channel__value{color:var(--gold-deep);}

.cta-band{background:var(--ink);color:#DED9D0;padding-block:clamp(3.5rem,7vw,6rem);}
.cta-band h2{color:#FBF9F5;max-width:16ch;}
.cta-band p{color:#B7B1A7;max-width:52ch;margin-top:1.25rem;}
.cta-band__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.1rem;}

.site-footer{background:var(--ink);color:#9F9A92;padding-block:clamp(3rem,5vw,4rem) 2rem;border-top:1px solid rgba(255,255,255,.09);}
.footer__top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1);}
.footer__brand{font-family:var(--display);font-size:1.6rem;color:#FBF9F5;line-height:1.2;}
.footer__tag{margin-top:.9rem;font-size:var(--fs-sm);max-width:34ch;color:#9F9A92;}
.footer__col h4{font-size:var(--fs-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:var(--body);font-weight:700;margin-bottom:1.1rem;}
.footer__col a{display:block;text-decoration:none;font-size:var(--fs-sm);padding-block:.34rem;color:#C9C3B9;transition:color .2s;}
.footer__col a:hover{color:var(--gold);}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.75rem;font-size:var(--fs-xs);color:#7E7A73;}
.footer__social{display:flex;gap:1rem;}
.footer__social a{color:#9F9A92;transition:color .2s,transform .2s;}
.footer__social a:hover{color:var(--gold);transform:translateY(-2px);}
.footer__social svg{width:19px;height:19px;}
@media (max-width:760px){ .footer__top{grid-template-columns:1fr;gap:2rem;} }

[data-reveal]{opacity:0;transform:translateY(14px);}
.is-revealed[data-reveal]{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease);}
[data-reveal-delay="1"]{transition-delay:.09s;}
[data-reveal-delay="2"]{transition-delay:.18s;}
[data-reveal-delay="3"]{transition-delay:.27s;}
[data-reveal-delay="4"]{transition-delay:.36s;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  [data-reveal]{opacity:1 !important;transform:none !important;}
}

@media print{
  .site-header,.site-footer,.cta-band,.nav__toggle,.hero__actions{display:none !important;}
  body{color:#000;background:#fff;}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.75em;color:#555;}
}
