
:root{
  --navy:#0b2440;
  --navy-2:#173b5d;
  --gold:#b8843c;
  --gold-soft:#d8b16f;
  --cream:#f8f6f1;
  --paper:#fffdf9;
  --ink:#132033;
  --muted:#66707c;
  --line:#e9e3da;
  --shadow:0 20px 50px rgba(11,36,64,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.eyebrow{
  font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
}
h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-weight:500}
h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.03;margin:.3rem 0 1.35rem}
h2{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.08;margin:0 0 1.2rem}
h3{font-size:1.45rem;line-height:1.25}
p{margin:.65rem 0;color:#344252}
.section{padding:92px 0}
.section-sm{padding:64px 0}
.section-soft{background:var(--cream)}
.section-title{max-width:760px;margin-bottom:42px}
.section-title p{font-size:1.05rem}

.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,253,249,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,227,218,.85)
}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:250px;height:auto}
.nav-links{display:flex;align-items:center;gap:30px;font-size:.86rem;font-weight:600;color:var(--navy)}
.nav-links a{position:relative;padding:10px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold);transition:.25s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.menu-btn{display:none;background:none;border:0;padding:8px;color:var(--navy);font-size:1.65rem}

.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;min-height:610px}
.hero-copy{display:flex;align-items:center;padding:78px 70px max(78px,7vw) max(24px,calc((100vw - 1180px)/2))}
.hero-copy-inner{max-width:610px}
.hero-copy p{font-size:1.08rem;max-width:570px}
.hero-image{min-height:610px;position:relative;background:#d8dfe5}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.25),transparent 28%)}
.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-top:20px}
.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(5px)}

.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
.quote-card{padding:40px;border-left:1px solid var(--gold);background:#fff}
.quote-card p{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.42;color:var(--navy);margin:0}
.tripod{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tripod-card{background:#fff;padding:34px;text-align:center}
.tripod-icon{width:54px;height:54px;margin:0 auto 14px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.5rem}
.tripod-card p{font-size:.9rem}

.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.service-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.service-icon{color:var(--gold);font-size:1.25rem;line-height:1.4}
.service-item strong{display:block;color:var(--navy);font-weight:600}
.service-item small{display:block;color:var(--muted);margin-top:2px}

.case-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.case-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.case-card img{width:100%;aspect-ratio:1.25/1;object-fit:cover}
.case-card-body{padding:18px}
.case-card .case-no{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-weight:700}
.case-card h3{font-size:1.08rem;margin:.3rem 0}
.case-card p{font-size:.82rem;margin:.3rem 0}

.page-hero{padding:82px 0 56px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffdf9,#f8f6f1)}
.page-hero .lede{max-width:780px;font-size:1.1rem}
.prose{max-width:860px}
.prose h2{margin-top:52px}
.prose p{font-size:1.04rem}
.prose ul{padding-left:1.2rem;color:#344252}
.prose li{margin:.55rem 0}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:34px 0}
.media-grid img{width:100%;height:360px;object-fit:cover;border-radius:18px}
.media-grid .wide{grid-column:1/-1;height:auto}

.case-hero{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.case-hero-copy{padding:80px 70px 70px max(24px,calc((100vw - 1180px)/2))}
.case-hero-image img{width:100%;height:100%;object-fit:cover}
.meta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.chip{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--navy);background:#fff}
.note{background:var(--cream);border-left:3px solid var(--gold);padding:24px 28px;margin:20px 0;border-radius:0 14px 14px 0}
.back-link{display:inline-flex;gap:8px;align-items:center;color:var(--gold);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:20px}

.site-footer{border-top:1px solid var(--line);padding:30px 0;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-inner img{width:190px}
.footer-links{display:flex;gap:22px;font-size:.8rem;color:var(--navy)}
.copyright{font-size:.72rem;color:#8a9198}

@media(max-width:980px){
  .nav-links{
    position:absolute;left:0;right:0;top:86px;background:#fff;border-bottom:1px solid var(--line);
    display:none;flex-direction:column;align-items:flex-start;padding:24px;
  }
  .nav-links.open{display:flex}.menu-btn{display:block}
  .hero-grid,.case-hero{grid-template-columns:1fr}
  .hero-copy,.case-hero-copy{padding:64px 24px}
  .hero-image{min-height:420px;order:-1}.case-hero-image{height:420px;order:-1}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .container{width:min(100% - 32px,1180px)}
}
@media(max-width:640px){
  .nav{height:74px}.brand img{width:190px}.nav-links{top:74px}
  .section{padding:68px 0}.section-sm{padding:48px 0}
  .hero-image{min-height:360px}
  .hero-copy{padding:44px 20px 54px}
  h1{font-size:2.65rem}
  .hero-copy p{font-size:.98rem}
  .tripod{grid-template-columns:1fr}
  .tripod-card{text-align:left;display:grid;grid-template-columns:54px 1fr;column-gap:16px}
  .tripod-icon{grid-row:1/3;margin:0}
  .services-grid{grid-template-columns:1fr}
  .case-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;gap:14px}
  .case-card{min-width:82vw;scroll-snap-align:start}
  .media-grid{grid-template-columns:1fr}
  .media-grid img{height:auto}.media-grid .wide{grid-column:auto}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-links{flex-wrap:wrap}
  .page-hero{padding:58px 0 42px}
  .case-hero-copy{padding:44px 20px}
}
