*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --navy:   #1928b8;
  --gold:   #c99148;
  --cream:  #faf9f6;
  --white:  #ffffff;
  --ink:    #111218;
  --slate:  #6b6e82;
  --rule:   #e5e2db;
  --max:    1160px;
  --pad:    clamp(24px, 5vw, 80px);
}

html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--ink); background: var(--cream); -webkit-font-smoothing: antialiased; line-height: 1; }
img { display:block; max-width:100%; }
a { color: inherit; text-decoration: none; }

.container { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
.label { font-size: 10px; font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; color: var(--slate); display:block; }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  background: rgba(250,249,246,0.94); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rule); height: 68px;
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 100%; max-width: var(--max); margin:0 auto; padding: 0 var(--pad);
}
.nav-logo { display:flex; align-items:baseline; gap:0; }
.nav-paul { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:25px; letter-spacing:-0.01em; color:var(--navy); }
.nav-space { width:6px; }
.nav-dornan { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:25px; letter-spacing:-0.01em; color:var(--navy); }
.nav-sep { width:1px; height:20px; background:var(--rule); margin:0 16px; }
.nav-sub { font-size:9px; font-weight:400; letter-spacing:0.26em; text-transform:uppercase; color:var(--slate); }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { font-size:10.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--slate); transition:color 0.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--navy); }
.nav-cta { color:var(--gold) !important; border:1px solid rgba(201,145,72,0.35); padding:8px 16px; transition:background 0.2s !important; }
.nav-cta:hover { background:rgba(201,145,72,0.08) !important; }
@media(max-width:680px){ .nav-sub,.nav-sep{ display:none; } .nav-links { gap:16px; } .nav-links a:not(.nav-cta){ display:none; } }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10.5px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase;
  border:1px solid rgba(201,145,72,0.45); color:var(--gold);
  padding:14px 28px; transition:background 0.2s, border-color 0.2s; width:fit-content;
}
.btn:hover { background:rgba(201,145,72,0.08); border-color:var(--gold); }
.btn-navy { background:var(--navy); color:var(--white) !important; border-color:var(--navy); }
.btn-navy:hover { background:#1420a0; border-color:#1420a0; }
.btn-white { background:var(--white); color:var(--navy) !important; border-color:rgba(25,40,184,0.2); }
.btn-white:hover { background:var(--cream); border-color:var(--navy); }

/* ── SECTIONS ── */
section { padding: clamp(72px,10vw,128px) 0; }
.section-label { margin-bottom:20px; }
.section-title {
  font-family:'Cormorant Garamond',serif; font-weight:700;
  font-size:clamp(38px,5vw,68px); line-height:1.02; letter-spacing:-0.01em; color:var(--navy);
}
.section-title em { font-style:italic; color:var(--gold); }
.section-intro { font-size:clamp(17px,1.8vw,21px); line-height:1.75; color:var(--slate); margin-top:22px; max-width:600px; }

/* ── BODY TEXT ── */
.body-text p { font-size:clamp(16px,1.7vw,19px); line-height:1.8; color:var(--slate); margin-bottom:22px; }
.body-text p:last-child { margin-bottom:0; }
.body-text p strong { font-weight:600; color:var(--ink); }
.body-text blockquote {
  border-left:3px solid var(--gold); padding:4px 0 4px 24px; margin:36px 0;
  font-family:'Cormorant Garamond',serif; font-size:clamp(20px,2.4vw,28px);
  font-style:italic; line-height:1.5; color:var(--navy);
}
.body-text blockquote cite { display:block; font-family:'DM Sans',sans-serif; font-size:13px; font-style:normal; color:var(--slate); margin-top:10px; }

/* ── RULE ── */
hr.gold-rule { border:none; border-top:1px solid var(--rule); margin:48px 0; }
.gold-dot { display:inline-block; width:6px; height:6px; background:var(--gold); border-radius:50%; margin-right:12px; vertical-align:middle; }

/* ── PAGE HERO (inner pages) ── */
.page-hero { margin-top:68px; padding:clamp(64px,10vw,120px) 0 clamp(48px,7vw,80px); background:var(--navy); }
.page-hero .label { color:rgba(255,255,255,0.4); margin-bottom:16px; }
.page-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:clamp(44px,7vw,88px); letter-spacing:-0.02em; color:var(--white); line-height:0.95; }
.page-hero h1 em { font-style:italic; color:var(--gold); }
.page-hero .lead { font-size:clamp(18px,2vw,24px); line-height:1.65; color:rgba(255,255,255,0.72); max-width:600px; margin-top:28px; }

/* ── CTA BAR ── */
.cta-bar { background:var(--navy); padding:clamp(56px,8vw,96px) 0; text-align:center; }
.cta-bar h2 { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:clamp(32px,4.5vw,56px); color:var(--white); line-height:1.1; margin-bottom:32px; }
.cta-bar h2 em { font-style:italic; color:var(--gold); }
.cta-bar .btn { margin:0 auto; }

/* ── TESTIMONIAL CALLOUT (large) ── */
.testi-hero {
  background:var(--cream); padding:clamp(64px,10vw,112px) 0;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.testi-hero-inner { max-width:860px; margin:0 auto; padding:0 var(--pad); }
.testi-hero-mark { font-family:'Cormorant Garamond',serif; font-size:120px; line-height:0.6; color:var(--gold); opacity:0.25; margin-bottom:16px; }
.testi-hero-quote {
  font-family:'Cormorant Garamond',serif; font-weight:400; font-style:italic;
  font-size:clamp(24px,3.2vw,40px); line-height:1.45; color:var(--navy); margin-bottom:32px;
}
.testi-hero-attr { display:flex; align-items:center; gap:16px; }
.testi-hero-line { width:32px; height:2px; background:var(--gold); flex-shrink:0; }
.testi-hero-name { font-size:13px; font-weight:600; color:var(--ink); }
.testi-hero-role { font-size:12px; color:var(--slate); margin-top:2px; }

/* ── TESTI GRID ── */
.testi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:clamp(20px,3vw,32px); }
.testi-card { padding:clamp(24px,3vw,36px); border:1px solid var(--rule); display:flex; flex-direction:column; gap:18px; background:var(--white); }
.testi-mark { font-family:'Cormorant Garamond',serif; font-size:64px; line-height:0.6; color:var(--gold); opacity:0.25; }
.testi-quote { font-family:'Cormorant Garamond',serif; font-size:clamp(17px,1.8vw,21px); font-style:italic; line-height:1.6; color:var(--ink); flex:1; }
.testi-attr { border-top:1px solid var(--rule); padding-top:16px; }
.testi-name { font-size:13px; font-weight:600; color:var(--navy); }
.testi-role { font-size:12px; color:var(--slate); margin-top:2px; }

/* ── FOOTER ── */
footer { background:var(--ink); padding:clamp(40px,5vw,60px) var(--pad); }
.footer-inner { max-width:var(--max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.footer-logo { display:flex; align-items:baseline; }
.footer-paul { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:22px; letter-spacing:-0.01em; color:#fff; }
.footer-space { width:4px; }
.footer-dornan { font-family:'Cormorant Garamond',serif; font-weight:700; font-size:22px; letter-spacing:-0.01em; color:#fff; }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; }
.footer-links a { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.38); transition:color 0.2s; }
.footer-links a:hover { color:rgba(255,255,255,0.75); }
.footer-copy { font-size:10px; color:rgba(255,255,255,0.22); }
