:root {
  --ink: #172d33;
  --ink-deep: #112329;
  --ink-soft: #34484a;
  --ivory: #f7f5ef;
  --paper: #fcfbf8;
  --sand: #ede8dd;
  --border: #dcd8cd;
  --gold: #cdb68e;
  --gold-deep: #a48b62;
  --slate: #6c7876;
  --serif: 'Iowan Old Style', 'Baskerville', 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  --sans: 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body { margin:0; background: var(--ivory); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
body, button, input, textarea, select { font-synthesis:none; }
::selection { background:var(--gold); color:var(--ink-deep); }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
img, svg { max-width:100%; }
:focus-visible { outline:2px solid #be9a5c; outline-offset:4px; }
h1, h2, h3, p { margin-top:0; }
.container { width:min(100% - 104px, 1220px); margin-inline:auto; }
.section { padding-block:124px; }
.skip-link { position:absolute; left:12px; top:-100px; background:#fff; color:#111; padding:12px 18px; z-index:100; }
.skip-link:focus { top:12px; }

/* Header */
.site-header { position:sticky; top:0; z-index:30; background:rgba(250,248,242,.97); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(23,45,51,.12); }
.header-inner { height:88px; display:flex; align-items:center; justify-content:space-between; gap:48px; }
.brand { display:flex; flex-direction:column; align-items:flex-start; gap:0; color:var(--ink); white-space:nowrap; }
.brand-name { font-family:var(--serif); font-size:25px; font-weight:500; line-height:1.23; letter-spacing:.054em; }
.brand-hb { letter-spacing:.08em; }
.brand-descriptor { font-size:8px; line-height:1.7; font-weight:600; letter-spacing:.195em; }
.site-nav { display:flex; align-items:center; gap:27px; }
.site-nav a { font-size:12px; font-weight:550; letter-spacing:.02em; color:#3d5050; transition:color .2s ease; white-space:nowrap; }
.site-nav a:hover { color:var(--gold-deep); }
.site-nav .nav-contact { border:1px solid #a99a7f; padding:12px 15px 11px; color:var(--ink); margin-left:6px; transition:background .2s,color .2s; }
.site-nav .nav-contact:hover { background:var(--ink); color:var(--ivory); }
.nav-contact span { margin-left:12px; font-size:16px; }
.menu-toggle { display:none; background:transparent; border:0; padding:12px 5px; width:44px; }
.menu-toggle span { display:block; height:1.5px; width:25px; background:var(--ink); margin:6px auto; transition:transform .2s,opacity .2s; }

/* Shared */
.eyebrow { display:flex; align-items:center; gap:14px; font-size:10px; font-weight:650; letter-spacing:.21em; line-height:1.4; text-transform:uppercase; }
.eyebrow-line { width:31px; height:1px; background:var(--gold-deep); flex-shrink:0; }
.eyebrow.light { color:#d3c09d; }
.eyebrow.dark { color:#917b56; }
.display-heading { font-family:var(--serif); font-size:clamp(44px,5.1vw,74px); font-weight:400; line-height:1.06; letter-spacing:-.033em; margin-bottom:0; }
.display-heading em, .hero h1 em { font-weight:400; font-style:italic; }
.button-group { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; padding:15px 21px; border:none; font-size:12px; font-weight:650; letter-spacing:.012em; line-height:1.3; transition:transform .2s, background .2s, color .2s, box-shadow .2s; }
.button span { font-size:17px; font-weight:400; }
.button:hover { transform:translateY(-2px); }
.button-gold { color:#183038; background:var(--gold); }
.button-gold:hover { background:#dfcaa9; box-shadow:0 8px 24px rgba(12,24,28,.14); }
.button-dark { background:var(--ink); color:var(--paper); }
.button-dark:hover { background:#29474c; }
.text-link { display:inline-flex; align-items:center; gap:15px; font-size:12px; font-weight:630; padding-block:9px; line-height:1.3; border-bottom:1px solid currentColor; }
.text-link span { font-size:17px; }
.text-link-light { color:#eee8d9; }
.dark-link { color:#4c5c56; border-color:#a99b82; }

/* Hero */
.hero { background:#14272c; color:#f9f7ef; position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; right:-20%; top:-48%; width:900px; height:900px; border:1px solid rgba(206,186,151,.05); border-radius:50%; pointer-events:none; }
.hero::after { content:""; position:absolute; width:720px; height:720px; border:1px solid rgba(206,186,151,.07); border-radius:50%; right:-27%; top:-34%; pointer-events:none; }
.hero-grain { position:absolute; inset:0; opacity:.14; background-image:radial-gradient(#ffffff 0.4px,transparent 0.6px); background-size:10px 10px; pointer-events:none; }
.hero-inner { min-height:640px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:10px; position:relative; z-index:1; align-items:center; }
.hero-copy { padding-block:92px 62px; }
.hero-copy .eyebrow { margin-bottom:39px; }
.hero h1 { font-family:var(--serif); font-size:clamp(57px,6.2vw,96px); line-height:1.03; letter-spacing:-.046em; font-weight:400; margin:0 0 30px; }
.hero h1 em { color:#d4be99; }
.hero-intro { max-width:530px; color:#c4ceca; font-size:16px; line-height:1.92; margin-bottom:35px; }
.hero-signature { margin-top:76px; font-size:10px; color:#c9b48f; letter-spacing:.2em; font-weight:650; }
.hero-signature span { margin-inline:8px; }
.hero-art { height:590px; display:flex; justify-content:center; align-items:center; position:relative; transform:translateX(25px); }
.hero-art svg { width:100%; max-width:510px; height:100%; filter:drop-shadow(0 15px 35px rgba(0,0,0,.1)); }
.hero-art-label { position:absolute; left:10%; right:10%; bottom:48px; display:flex; justify-content:space-between; gap:15px; color:#b9aa90; font-size:8px; letter-spacing:.17em; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; height:70px; border-top:1px solid rgba(208,192,164,.26); color:#b4b8ae; position:relative; z-index:1; }
.hero-bottom span, .hero-bottom a { font-size:9px; letter-spacing:.19em; font-weight:600; }
.hero-bottom i { display:inline-block; width:3px; height:3px; border-radius:50%; background:#bfa47e; vertical-align:middle; margin:0 12px 2px; }
.hero-bottom a span { font-size:16px; margin-left:10px; }

/* Introduction */
.intro-section { background:var(--ivory); }
.intro-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:12%; align-items:start; }
.intro-grid .eyebrow { margin-bottom:28px; }
.intro-grid .display-heading { max-width:600px; }
.intro-grid em { color:#8b8f7e; }
.intro-right { padding-top:39px; color:#667471; font-size:15px; line-height:1.95; }
.intro-right .lead { color:var(--ink); font-family:var(--serif); font-size:26px; line-height:1.43; letter-spacing:-.014em; margin-bottom:24px; }
.intro-right .text-link { margin-top:15px; }
.principle-row { margin-top:100px; border-top:1px solid #cdc7bb; border-bottom:1px solid #cdc7bb; display:grid; grid-template-columns:repeat(3,1fr); }
.principle-row > div { padding:31px 22px 29px 0; }
.principle-row > div:not(:last-child) { border-right:1px solid #cdc7bb; margin-right:24px; }
.principle-row span { color:#a78f67; font-size:10px; letter-spacing:.14em; display:block; margin-bottom:13px; }
.principle-row strong { display:block; font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.3; }
.principle-row p { margin:5px 0 0; font-size:13px; color:#66736f; }

/* Expertise */
.expertise-section { background:#edebe4; }
.section-heading-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:10%; align-items:end; margin-bottom:53px; }
.section-heading-grid .eyebrow { margin-bottom:28px; }
.section-heading-grid em { color:#8b8f7e; }
.section-intro { color:#65716c; font-size:15px; line-height:1.9; max-width:350px; padding-bottom:8px; }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.service-card { background:var(--paper); min-height:420px; padding:34px 31px 32px; display:flex; flex-direction:column; box-shadow:0 10px 36px rgba(32,44,40,.025); transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(32,44,40,.07); }
.service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:36px; }
.service-index { font-size:10px; font-weight:600; letter-spacing:.15em; color:#9f8967; }
.service-mark { font-family:var(--serif); font-size:25px; color:#baa57e; }
.service-card h3 { font-family:var(--serif); font-size:37px; font-weight:400; line-height:1.12; letter-spacing:-.025em; margin:0 0 19px; }
.service-card p { font-size:13px; line-height:1.9; color:#65736f; margin:0 0 26px; }
.service-card ul { margin:auto 0 0; padding:20px 0 0; list-style:none; border-top:1px solid #e4e0d7; }
.service-card li { font-size:12px; line-height:1.65; color:#3c514f; padding:4px 0 4px 18px; position:relative; }
.service-card li::before { content:""; position:absolute; left:0; top:13px; width:5px; height:5px; border-radius:50%; background:#bfa883; }

/* Golf */
.golf-section { color:#f5f2e9; background:linear-gradient(135deg,#1d363a 0%, #13272e 70%); padding-block:111px; overflow:hidden; position:relative; }
.golf-section::before { content:""; width:620px; height:620px; border:1px solid rgba(212,191,157,.09); border-radius:50%; position:absolute; left:-250px; bottom:-450px; box-shadow:0 0 0 72px rgba(212,191,157,.022),0 0 0 155px rgba(212,191,157,.025); }
.golf-top { display:grid; grid-template-columns:1.03fr .97fr; gap:9%; align-items:start; position:relative; z-index:1; }
.golf-copy { padding-top:8px; }
.golf-copy .eyebrow { margin-bottom:32px; }
.golf-copy .display-heading { font-size:clamp(54px,5.5vw,80px); margin-bottom:30px; }
.golf-copy em { color:#d0bd99; }
.golf-copy p { color:#b7c5c0; font-size:14px; line-height:1.92; max-width:490px; }
.golf-copy .golf-lead { color:#e4e6df; font-size:17px; line-height:1.8; }
.golf-levers { margin-top:48px; max-width:490px; border-top:1px solid rgba(236,232,216,.26); }
.golf-levers > div { display:flex; gap:27px; align-items:baseline; border-bottom:1px solid rgba(236,232,216,.20); padding:15px 5px; font-size:13px; color:#e6e7df; }
.golf-levers span { font-size:10px; font-weight:650; color:#cab38f; letter-spacing:.1em; }
.golf-offer { background:#f6f3eb; color:var(--ink); padding:42px 43px 39px; margin-top:5px; box-shadow:0 23px 48px rgba(5,15,18,.15); }
.offer-top { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:10px; font-weight:650; color:#927b55; letter-spacing:.16em; margin-bottom:38px; }
.offer-dot { width:7px; height:7px; border:1px solid #9c8a69; border-radius:50%; }
.golf-offer h3 { font-family:var(--serif); font-size:clamp(34px,3vw,44px); line-height:1.14; font-weight:400; letter-spacing:-.03em; margin-bottom:15px; }
.golf-offer > p { color:#697772; font-size:13px; line-height:1.75; }
.offer-facts { display:grid; grid-template-columns:.54fr 1.46fr; gap:17px; border-block:1px solid #d7d1c4; margin-block:31px; padding-block:24px; }
.offer-facts > div { display:flex; flex-direction:column; gap:4px; }
.offer-facts > div:first-child { border-right:1px solid #d7d1c4; }
.offer-facts strong { font-family:var(--serif); font-size:36px; font-weight:400; line-height:1.1; }
.offer-facts span { color:#8d8a7f; font-size:8px; letter-spacing:.14em; font-weight:650; line-height:1.6; }
.offer-deliverables { margin-bottom:28px; }
.offer-deliverables > strong { display:block; font-size:12px; font-weight:650; margin-bottom:11px; }
.offer-deliverables ul { list-style:none; padding:0; margin:0; }
.offer-deliverables li { color:#65736f; font-size:13px; line-height:1.8; padding-left:21px; position:relative; }
.offer-deliverables li::before { content:'↗'; position:absolute; left:0; color:#a18c68; }
.golf-offer .button { width:100%; }
.pdf-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; border-bottom:1px solid #a8a294; font-size:12px; color:#56665f; padding-bottom:7px; margin-top:22px; }
.pdf-link span { font-size:17px; }
.golf-offer .offer-fine { font-size:11px; color:#8c8e84; margin:20px 0 0; }

/* Approach */
.approach-section { background:#f7f5ef; }
.approach-wrap { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.approach-intro .eyebrow { margin-bottom:28px; }
.approach-intro .display-heading { margin-bottom:26px; }
.approach-intro em { color:#8f937c; }
.approach-intro > p:last-child { max-width:420px; color:#687570; line-height:1.88; font-size:15px; }
.approach-steps { padding-top:13px; }
.approach-steps article { display:grid; grid-template-columns:65px 1fr; gap:14px; padding:22px 0 28px; border-bottom:1px solid #d3cdbf; }
.approach-steps article:first-child { padding-top:0; }
.step-no { color:#a68e63; font-size:13px; font-weight:550; padding-top:9px; letter-spacing:.13em; }
.approach-steps h3 { font-family:var(--serif); font-weight:400; font-size:29px; letter-spacing:-.014em; margin:0 0 8px; }
.approach-steps p { margin:0; color:#677570; font-size:13px; line-height:1.85; max-width:450px; }

/* Leadership */
.leadership-section { padding-block:110px; background:#eae7de; }
.leadership-grid { display:grid; grid-template-columns:.83fr 1.17fr; gap:9%; align-items:stretch; }
.leadership-art { min-height:575px; background:linear-gradient(145deg,#233d41,#142a31); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.leadership-ellipse { position:absolute; width:440px; height:440px; border:1px solid rgba(206,183,146,.15); border-radius:50%; }
.ellipse-one { top:-110px; left:-180px; }
.ellipse-two { width:590px; height:590px; right:-420px; bottom:-290px; box-shadow:0 0 0 36px rgba(206,183,146,.025),0 0 0 88px rgba(206,183,146,.025); }
.leader-monogram { font-family:var(--serif); font-size:135px; color:#e7e7d9; letter-spacing:-.12em; padding-right:20px; z-index:1; font-weight:400; }
.leader-monogram span { color:#cfb68d; font-size:27px; vertical-align:top; padding-left:23px; letter-spacing:0; }
.leadership-art-footer { position:absolute; left:34px; bottom:32px; font-size:9px; line-height:1.8; letter-spacing:.17em; font-weight:550; color:#cbb895; }
.leadership-copy { padding:32px 0 22px; }
.leadership-copy .eyebrow { margin-bottom:31px; }
.leadership-copy .display-heading { font-size:clamp(44px,4.6vw,64px); margin-bottom:30px; }
.leadership-copy em { color:#8e947f; }
.leader-name { display:flex; align-items:center; flex-wrap:wrap; column-gap:15px; row-gap:4px; font-family:var(--serif); font-size:25px; border-bottom:1px solid #c7c2b5; padding-bottom:18px; margin-bottom:20px; }
.leader-name span { font-family:var(--sans); font-size:9px; color:#9d865f; font-weight:650; letter-spacing:.14em; }
.leadership-copy > p:not(.eyebrow) { color:#63716d; line-height:1.9; font-size:14px; margin-bottom:16px; }
.leader-strengths { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.leader-strengths span { border:1px solid #c8c1b4; padding:7px 10px 6px; color:#53655f; font-size:9px; font-weight:600; letter-spacing:.09em; }
.leadership-copy > .leader-note { font-size:11px !important; color:#828880 !important; margin-top:14px; }

/* Contact */
.contact-section { background:#14272c; color:#f7f3e9; padding-block:115px; }
.contact-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:12%; align-items:start; }
.contact-copy .eyebrow { margin-bottom:33px; }
.contact-copy .display-heading { font-size:clamp(49px,5.2vw,73px); margin-bottom:29px; }
.contact-copy em { color:#d3bc98; }
.contact-copy > p:not(.eyebrow) { max-width:460px; font-size:15px; line-height:1.93; color:#b5c5c0; }
.contact-aside { display:flex; gap:20px; margin-top:65px; align-items:stretch; }
.aside-line { width:2px; background:#c4af87; flex:none; }
.contact-aside div { display:flex; flex-direction:column; gap:4px; }
.contact-aside strong { font-size:13px; font-weight:600; color:#f3eee1; }
.contact-aside span:last-child { font-size:12px; color:#aebeb6; }
.contact-card { background:#f8f6ef; padding:40px; color:var(--ink); }
.form-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid #ddd7cc; color:#988364; font-size:10px; letter-spacing:.17em; font-weight:650; }
.form-head span:last-child { font-size:20px; }
.contact-card form { display:flex; flex-direction:column; gap:17px; }
.contact-card label { display:block; min-width:0; font-size:12px; font-weight:600; color:#425753; }
.contact-card label > span { color:#a58d65; }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.contact-card input, .contact-card textarea, .contact-card select { display:block; margin-top:7px; width:100%; min-width:0; border:1px solid #d9d7cd; background:#fdfcf9; border-radius:0; color:#1a3035; padding:12px 13px; font-size:13px; line-height:1.4; font-weight:400; outline:0; transition:border-color .2s,box-shadow .2s; }
.contact-card input:focus, .contact-card textarea:focus, .contact-card select:focus { border-color:#ac956f; box-shadow:0 0 0 2px rgba(205,182,142,.2); }
.contact-card input::placeholder,.contact-card textarea::placeholder { color:#a2a9a4; }
.contact-card select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2363746d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 13px center; background-repeat:no-repeat; padding-right:33px; }
.contact-card textarea { resize:vertical; min-height:105px; }
.contact-card .privacy-inline { color:#89938b; font-size:11px; line-height:1.65; margin:0; }
.privacy-inline a { text-decoration:underline; text-underline-offset:2px; }
.hidden-honeypot { display:none !important; }
.submit-button { width:100%; }

/* Footer */
.site-footer { background:#f7f5ef; color:var(--ink); }
.footer-main { padding-block:70px 54px; display:flex; justify-content:space-between; gap:40px; }
.footer-brand { font-family:var(--serif); font-size:37px; letter-spacing:.035em; display:block; line-height:1.2; }
.footer-main > div:first-child > span { font-size:9px; letter-spacing:.16em; font-weight:650; }
.footer-main p { font-family:var(--serif); font-style:italic; font-size:15px; color:#8e806c; margin:24px 0 0; }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(110px,1fr)); gap:14px 45px; padding-top:10px; font-size:12px; font-weight:550; }
.footer-links a:hover,.footer-bottom a:hover { color:var(--gold-deep); }
.footer-bottom { border-top:1px solid #d6d0c4; padding-block:20px 29px; display:flex; justify-content:space-between; gap:20px; color:#8a9189; font-size:11px; }
.footer-bottom div { display:flex; gap:25px; }

/* Secondary pages */
.secondary-header { background:#f7f5ef; }
.secondary-main { min-height:calc(100vh - 250px); padding-block:95px 130px; }
.secondary-main .eyebrow { margin-bottom:25px; }
.secondary-main .display-heading { margin-bottom:30px; }
.secondary-main .secondary-lead { font-family:var(--serif); font-size:24px; line-height:1.5; max-width:710px; color:#3b5051; }
.secondary-body { max-width:760px; color:#596a65; font-size:15px; line-height:1.95; }
.secondary-body h2 { font-family:var(--serif); font-size:28px; font-weight:400; color:var(--ink); margin:33px 0 8px; }
.secondary-body ul { padding-left:23px; }
.secondary-back { margin-top:30px; }
.thank-you-mark { display:inline-flex; width:70px; height:70px; border:1px solid var(--gold-deep); color:var(--gold-deep); align-items:center; justify-content:center; border-radius:50%; font-family:var(--serif); font-size:32px; margin-bottom:27px; }

@media(max-width:1100px){
  .container { width:min(100% - 70px, 1220px); }
  .header-inner { gap:15px; }
  .site-nav { gap:15px; }
  .site-nav a { font-size:11px; }
  .brand-name { font-size:22px; }
  .brand-descriptor { font-size:7px; }
  .hero-inner { min-height:610px; }
  .hero h1 { font-size:clamp(58px,6.4vw,80px); }
  .hero-art { transform:none; }
  .golf-top { gap:5%; }
  .golf-offer { padding:34px 30px; }
  .contact-grid { gap:6%; }
  .leadership-grid { gap:6%; }
}
@media(max-width:840px){
  .container { width:min(100% - 52px, 1220px); }
  .section { padding-block:90px; }
  .header-inner { height:76px; }
  .menu-toggle { display:block; margin-left:auto; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
  .site-nav { position:absolute; top:calc(100% + 1px); left:0; right:0; padding:18px 26px 26px; background:#f7f5ef; box-shadow:0 20px 26px rgba(18,39,44,.1); display:none; flex-direction:column; align-items:stretch; gap:0; border-bottom:1px solid #d7d1c5; }
  .site-nav.is-open { display:flex; }
  .site-nav a { font-size:15px; padding:11px 4px; }
  .site-nav .nav-contact { margin:12px 0 0; text-align:center; }
  .hero-inner { grid-template-columns:1.1fr .9fr; min-height:540px; }
  .hero h1 { font-size:clamp(52px,7vw,66px); }
  .hero-art { height:510px; opacity:.86; }
  .hero-copy { padding-block:74px; }
  .hero-signature { margin-top:48px; }
  .hero-bottom { height:60px; }
  .intro-grid,.approach-wrap { grid-template-columns:1fr 1fr; gap:7%; }
  .section-heading-grid { grid-template-columns:1fr 1fr; gap:4%; }
  .service-card { padding:28px 24px; min-height:450px; }
  .service-card h3 { font-size:32px; }
  .golf-top { grid-template-columns:1fr; gap:35px; }
  .golf-copy p { max-width:680px; }
  .golf-levers { max-width:100%; display:grid; grid-template-columns:1fr 1fr; gap:0 27px; }
  .golf-offer { max-width:640px; }
  .leadership-grid { grid-template-columns:.8fr 1.2fr; gap:5%; }
  .leadership-art { min-height:540px; }
  .leader-monogram { font-size:90px; }
  .contact-grid { grid-template-columns:1fr 1.15fr; gap:5%; }
  .contact-card { padding:27px; }
  .field-row { grid-template-columns:1fr; }
}
@media(max-width:640px){
  html { scroll-padding-top:74px; }
  .container { width:calc(100% - 38px); }
  .section { padding-block:72px; }
  .display-heading { font-size:clamp(41px,11vw,59px); }
  .eyebrow { font-size:9px; gap:10px; }
  .eyebrow-line { width:22px; }
  .header-inner { height:70px; }
  .brand-name { font-size:20px; }
  .brand-descriptor { font-size:6.3px; letter-spacing:.14em; }
  .hero-inner { display:block; position:relative; min-height:688px; }
  .hero-copy { position:relative; z-index:2; padding-block:69px 80px; }
  .hero-copy .eyebrow { margin-bottom:32px; }
  .hero h1 { font-size:clamp(52px,12vw,78px); line-height:1.06; }
  .hero-intro { font-size:14px; max-width:465px; margin-bottom:30px; }
  .desktop-only { display:none; }
  .hero-art { position:absolute; top:260px; right:-130px; width:390px; height:455px; opacity:.18; z-index:1; pointer-events:none; }
  .hero-art-label { display:none; }
  .button-group { gap:19px; }
  .button { min-height:52px; }
  .hero-signature { margin-top:60px; font-size:8px; }
  .hero-signature span { margin-inline:2px; }
  .hero-bottom { height:58px; }
  .hero-bottom > span { max-width:200px; font-size:7px; line-height:1.6; }
  .hero-bottom a { font-size:7px; white-space:nowrap; }
  .intro-grid,.section-heading-grid,.approach-wrap,.leadership-grid,.contact-grid { grid-template-columns:1fr; }
  .intro-right { padding-top:26px; }
  .intro-right .lead { font-size:23px; }
  .principle-row { grid-template-columns:1fr; margin-top:54px; }
  .principle-row > div { border-right:0 !important; margin-right:0 !important; border-bottom:1px solid #d4d0c7; padding:21px 0; }
  .principle-row > div:last-child { border-bottom:0; }
  .principle-row span { margin-bottom:5px; }
  .principle-row strong { font-size:22px; }
  .section-heading-grid { margin-bottom:28px; }
  .section-intro { max-width:100%; padding-top:23px; margin:0; }
  .services-grid { grid-template-columns:1fr; gap:13px; }
  .service-card { min-height:unset; padding:28px; }
  .service-top { margin-bottom:17px; }
  .service-card h3 { font-size:37px; margin-bottom:12px; }
  .service-card p { margin-bottom:24px; }
  .golf-section { padding-block:74px; }
  .golf-copy .display-heading { font-size:clamp(49px,11.5vw,66px); }
  .golf-levers { grid-template-columns:1fr; margin-top:30px; }
  .golf-top { gap:37px; }
  .golf-offer { padding:30px 25px; }
  .golf-offer h3 { font-size:39px; }
  .offer-facts { grid-template-columns:.6fr 1.4fr; }
  .offer-facts strong { font-size:32px; }
  .offer-facts span { font-size:7px; }
  .approach-steps { padding-top:24px; }
  .leadership-section { padding-block:70px; }
  .leadership-art { min-height:290px; }
  .leader-monogram { font-size:94px; }
  .leadership-art-footer { left:22px; bottom:19px; font-size:8px; }
  .leadership-copy { padding:38px 0 0; }
  .leadership-copy .display-heading { font-size:clamp(40px,10vw,53px); }
  .contact-section { padding-block:77px; }
  .contact-copy .display-heading { font-size:clamp(45px,10.5vw,62px); }
  .contact-aside { margin:28px 0 38px; }
  .contact-card { padding:29px 24px; }
  .field-row { grid-template-columns:1fr; }
  .footer-main { padding-block:52px 35px; flex-direction:column; gap:36px; }
  .footer-brand { font-size:31px; }
  .footer-links { gap:8px 15px; max-width:380px; }
  .footer-bottom { flex-direction:column; padding-bottom:30px; gap:10px; }
  .secondary-main { padding-block:75px 100px; }
  .secondary-main .secondary-lead { font-size:21px; }
}
@media(max-width:380px){
  .container { width:calc(100% - 30px); }
  .hero h1 { font-size:49px; }
  .button-group { align-items:flex-start; flex-direction:column; }
  .hero-copy { padding-bottom:45px; }
  .hero-inner { min-height:710px; }
  .contact-card { padding:23px 18px; }
  .golf-offer { padding:25px 18px; }
  .offer-facts { gap:10px; }
}
@media(prefers-reduced-motion:reduce){
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
.footer-wordmark-link { display:inline-block; width:min(100%, 350px); }
.footer-wordmark { display:block; width:100%; height:auto; object-fit:contain; }

/* AI for Golf homepage preview */
.ai-home-preview { background:#1b3438; color:#f5f0e6; padding-block:105px; overflow:hidden; }
.ai-home-preview-inner { display:grid; grid-template-columns:1.22fr .78fr; gap:10%; align-items:center; }
.ai-home-preview .display-heading { margin:24px 0; font-size:clamp(45px,5vw,69px); }
.ai-home-preview .display-heading em { color:#d1bd96; }
.ai-home-preview-inner > div:first-child > p:not(.eyebrow) { color:#c7d0cc; max-width:650px; margin-bottom:31px; }
.ai-home-preview-side { border-top:1px solid rgba(213,193,156,.36); }
.ai-home-preview-side > div { padding:23px 0 24px; border-bottom:1px solid rgba(213,193,156,.3); }
.ai-home-preview-side span { display:block; color:#bea881; font-size:10px; letter-spacing:.17em; margin-bottom:7px; }
.ai-home-preview-side strong { font-family:var(--serif); font-weight:400; font-size:25px; }
.ai-home-preview-side p { color:#aebeb6; font-size:13px; margin:5px 0 0; }
@media(max-width:1200px) { .site-nav {gap:15px;} .header-inner {gap:20px;} }
@media(max-width:950px) { .ai-home-preview-inner {gap:6%;} }
@media(max-width:840px) { .ai-home-preview-inner {grid-template-columns:1fr; gap:40px;} .ai-home-preview {padding-block:80px;} }
@media(max-width:640px) { .ai-home-preview {padding-block:72px;} .ai-home-preview .display-heading {font-size:clamp(43px,10vw,60px);} }
