/* Koyra Advisors | Independent static site inspired by the supplied Canva screenshot */
:root {
  --burgundy: #4b1e30;
  --burgundy-dark: #451d2e;
  --orange: #cf6c26;
  --orange-light: #e6ad73;
  --ink: #4b3f43;
  --muted: #6d6467;
  --paper: #fefdfc;
  --warm-paper: #faf7f5;
  --sand: #f1eee9;
  --line: #e4dfda;
  --max-width: 1190px;
  --serif: 'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans: 'Avenir Next','Segoe UI',Arial,Helvetica,sans-serif;
}
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:6rem; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible, button:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
img { max-width:100%; height:auto; }
.container { width:min(var(--max-width),calc(100% - 104px)); margin:0 auto; }
.skip-link { position:absolute; z-index:20; top:-100px; left:12px; background:var(--burgundy); padding:12px 20px; color:white; }
.skip-link:focus { top:12px; }
.site-header { background:var(--paper); }
.header-inner { min-height:110px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { text-decoration:none; display:flex; gap:14px; align-items:center; color:var(--burgundy); font-weight:750; font-size:16px; letter-spacing:-.025em; }
.brand img { width:58px; height:54px; object-fit:contain; }
.nav { display:flex; gap:34px; align-items:center; }
.nav a { text-decoration:none; color:var(--burgundy); font-size:13px; font-weight:550; transition:opacity .2s ease; }
.nav a:hover { opacity:.66; }
.nav .nav-contact { border:1px solid #bdaeb2; padding:11px 21px; }
.menu-toggle { display:none; }
.eyebrow { margin:0 0 28px; font-size:12px; font-weight:750; color:var(--burgundy); text-transform:uppercase; letter-spacing:.22em; line-height:1.4; }
.eyebrow-square { display:inline-block; height:9px; width:9px; margin-right:12px; vertical-align:1px; background:var(--orange); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; color:var(--burgundy); }
.hero-inner { min-height:650px; position:relative; padding-top:113px; padding-bottom:120px; }
.hero h1 { font-size:clamp(55px,6.2vw,87px); line-height:1.06; margin:0 0 35px; letter-spacing:-.057em; }
.hero h1 em { color:var(--orange); font-style:normal; }
.hero-lede { color:#706569; font-size:17px; line-height:1.75; max-width:600px; margin-bottom:31px; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; justify-content:center; align-items:center; text-decoration:none; font-weight:650; font-size:13px; padding:15px 27px; min-height:48px; transition:background .2s, transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--burgundy); color:white; }
.button-primary:hover { background:#713248; }
.text-link { font-weight:600; font-size:14px; text-decoration:none; color:#8d5e6d; border-bottom:1px solid #a46f80; padding:8px 0 4px; }
.text-link span { font-size:11px; }
.corner-motif { position:absolute; width:77px; height:77px; border:1px solid #ede8e2; right:10px; bottom:47px; }
.corner-motif span { position:absolute; width:27px; height:27px; background:var(--orange); right:-11px; bottom:-11px; }
.two-column { display:grid; grid-template-columns: 1fr 1fr; column-gap:100px; }
.section-tinted { background:var(--sand); }
.about-section { padding:104px 0 110px; }
.about-grid { align-items:start; }
.section-lead h2 { font-size:clamp(39px,4.5vw,62px); line-height:1.12; }
.about-content { padding-top:15px; position:relative; }
.section-mark { position:absolute; width:48px; height:auto; top:-84px; right:7px; }
.intro-copy { font-size:20px; line-height:1.64; color:#514b4d; }
.about-content .intro-copy { margin-bottom:32px; }
.accent-paragraph { font-size:15px; line-height:1.85; color:var(--burgundy); font-weight:550; }
.note-callout { margin:34px 0 0; padding-left:22px; border-left:2px solid var(--orange); font-size:13px; color:#797072; }
.story-section { background:var(--warm-paper); padding:128px 0 132px; }
.story-grid { grid-template-columns: 1fr 1fr; }
.story-section h2 { margin-bottom:30px; }
.orange-rule { display:block; width:58px; height:2px; background:var(--orange); margin-bottom:35px; }
.side-note { color:var(--burgundy); max-width:310px; line-height:1.9; font-size:15px; }
.story-content h3 { font-size:clamp(29px,3vw,41px); line-height:1.27; margin-bottom:35px; }
.story-content p { font-size:15px; line-height:1.87; margin-bottom:22px; color:var(--burgundy); }
.expertise-section { padding:119px 0 126px; }
.expertise-section h2 { font-size:clamp(39px,4.4vw,60px); line-height:1.15; margin-bottom:30px; }
.services { border-top:1px solid var(--line); }
.service-row { display:grid; grid-template-columns:70px minmax(0,1.1fr) minmax(0,.8fr); gap:33px; padding:52px 0 63px; border-bottom:1px solid var(--line); align-items:start; }
.service-number { color:var(--orange); font-family:var(--sans); font-size:13px; font-weight:650; padding-top:10px; letter-spacing:.02em; }
.service-row h3 { font-size:clamp(29px,3.1vw,41px); line-height:1.15; margin:0; }
.service-row p { color:#756d6f; font-size:15px; line-height:1.75; max-width:360px; margin:7px 0 0; }
.belief-section { background:var(--burgundy-dark); color:#fff9f8; padding:132px 0 139px; }
.belief-inner { padding-left:45px; }
.belief-section .eyebrow { color:#d7b0a8; margin-bottom:40px; }
.belief-section h2 { color:#fff9f8; font-size:clamp(58px,6.5vw,88px); line-height:1.12; margin:0 0 30px; }
.belief-section h2 em { font-style:normal; color:var(--orange-light); }
.belief-section p:not(.eyebrow) { font-size:16px; max-width:600px; color:#e3d3d8; line-height:1.85; }
.approach-section { padding:114px 0 137px; }
.approach-section h2 { font-size:clamp(42px,4.6vw,63px); line-height:1.18; margin-bottom:49px; }
.approach-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:35px; }
.approach-grid article { border-top:1px solid var(--line); padding-top:28px; }
.approach-grid h3 { font-family:var(--sans); font-size:16px; font-weight:750; letter-spacing:0; margin:0 0 13px; }
.approach-grid p { color:#746c6e; font-size:15px; line-height:1.8; }
.leadership-section { padding:110px 0 133px; }
.leadership-grid { grid-template-columns:1fr 1fr; }
.leadership-section h2 { font-size:clamp(37px,4vw,53px); }
.leadership-content .intro-copy { font-size:20px; line-height:1.7; margin-bottom:35px; }
.leadership-content p:not(.intro-copy) { color:var(--burgundy); font-size:15px; line-height:1.88; margin-bottom:23px; }
.contact-section { padding:128px 0 38px; }
.contact-inner { position:relative; }
.contact-mark { position:absolute; top:-14px; right:0; width:48px; }
.contact-section h2 { font-size:clamp(48px,5.4vw,75px); line-height:1.11; margin-bottom:35px; }
.contact-section p:not(.eyebrow) { font-size:16px; line-height:1.85; max-width:1050px; color:var(--burgundy); margin-bottom:40px; }
.footer { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); margin-top:95px; padding:22px 0 0; color:#91878a; font-size:12px; }
.footer a { color:#91878a; text-decoration:none; }
.footer a:hover { color:var(--burgundy); text-decoration:underline; }
@media (max-width:900px) {
  .container { width:min(100% - 64px, 760px); }
  .two-column { column-gap:42px; }
  .section-lead h2 { font-size:42px; }
  .service-row { grid-template-columns:45px 1fr 1fr; gap:20px; }
  .belief-inner { padding-left:0; }
}
@media (max-width:680px) {
  html { scroll-padding-top:4.75rem; }
  .container { width:calc(100% - 38px); }
  .header-inner { min-height:75px; }
  .brand { font-size:15px; gap:6px; }
  .brand img { width:44px; height:41px; }
  .menu-toggle { display:flex; flex-direction:column; gap:5px; background:transparent; border:1px solid #cbbec2; padding:12px; cursor:pointer; border-radius:2px; }
  .menu-toggle span { display:block; background:var(--burgundy); width:19px; height:2px; }
  .nav { display:none; position:absolute; z-index:10; top:75px; left:0; right:0; padding:24px 19px 26px; background:var(--paper); border-top:1px solid var(--line); box-shadow:0 12px 20px #0001; flex-direction:column; align-items:stretch; gap:16px; }
  .nav.is-open { display:flex; }
  .nav a { font-size:15px; padding:5px 8px; }
  .nav .nav-contact { text-align:center; padding:12px; }
  .hero-inner { min-height:570px; padding-top:84px; padding-bottom:85px; }
  .hero h1 { font-size:clamp(44px,9vw,66px); line-height:1.12; margin-bottom:25px; }
  .hero-lede { font-size:15px; }
  .hero-actions { flex-wrap:wrap; gap:20px; }
  .corner-motif { right:12px; bottom:31px; width:45px; height:45px; }
  .corner-motif span { height:18px; width:18px; right:-8px; bottom:-8px; }
  .eyebrow { font-size:10px; margin-bottom:22px; letter-spacing:.18em; }
  .two-column { grid-template-columns:1fr; row-gap:22px; }
  .about-section, .story-section, .expertise-section, .approach-section, .leadership-section, .contact-section { padding-top:76px; padding-bottom:85px; }
  .section-lead h2, .expertise-section h2, .approach-section h2 { font-size:clamp(37px,9vw,48px); }
  .about-content { padding-top:0; }
  .section-mark { position:absolute; top:-180px; right:0; width:38px; }
  .intro-copy { font-size:17px; }
  .story-content h3 { font-size:30px; }
  .story-content p, .leadership-content p:not(.intro-copy) { font-size:14px; }
  .services { margin-top:25px; }
  .service-row { display:grid; grid-template-columns:36px 1fr; gap:15px; padding:29px 0 35px; }
  .service-row h3 { font-size:28px; }
  .service-row p { grid-column:2; font-size:14px; margin:0; }
  .service-number { padding-top:8px; }
  .belief-section { padding:93px 0; }
  .belief-section h2 { font-size:clamp(48px,11vw,75px); }
  .belief-section p:not(.eyebrow) { font-size:14px; }
  .approach-grid { grid-template-columns:1fr; gap:22px; }
  .approach-grid article { padding-top:20px; }
  .leadership-grid { row-gap:10px; }
  .contact-mark { top:-27px; width:38px; }
  .contact-section h2 { font-size:clamp(46px,10vw,62px); }
  .contact-section p:not(.eyebrow) { font-size:14px; }
  .footer { margin-top:80px; display:grid; grid-template-columns:1fr auto; gap:8px; }
  .footer span:nth-child(2) { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button, .nav a { transition:none; } }
