:root { --forest:#18352d; --forest2:#25483e; --ink:#26342d; --stone:#737c72; --ivory:#f8f6f0; --paper:#f1eee6; --white:#fffefb; --copper:#be855f; --border:#e4dfd2; --serif:Georgia,'Times New Roman',serif; --sans:Inter,'Segoe UI',Arial,sans-serif; }
    *,*::before,*::after { box-sizing:border-box }
    html { scroll-behavior:smooth; scroll-padding-top:85px }
    body { margin:0; color:var(--ink); background:var(--ivory); font-family:var(--sans); line-height:1.65; -webkit-font-smoothing:antialiased }
    a { color:inherit; text-decoration:none }
    a:focus-visible,button:focus-visible { outline:3px solid var(--copper); outline-offset:4px }
    .skip { position:absolute; left:1rem; top:-4rem; background:#fff; padding:.5rem 1rem; z-index:10 }
    .skip:focus { top:1rem }
    .wrap { width:min(1170px,calc(100% - 72px)); margin:auto }
    .eyebrow { font-size:.73rem; text-transform:uppercase; letter-spacing:.18em; font-weight:700; color:#a06b4e; line-height:1.6 }
    .header { position:sticky; top:0; z-index:9; background:rgba(248,246,240,.96); border-bottom:1px solid #e9e5da; backdrop-filter:blur(14px) }
    .nav { height:78px; display:flex; align-items:center; justify-content:space-between; gap:26px }
    .brand { display:flex; gap:14px; align-items:center; min-width:260px }
    .brand-emblem { width:41px; height:41px; display:grid; place-items:center; background:var(--forest); color:#f8f1e6; font-family:var(--serif); font-size:19px; font-style:italic; letter-spacing:-3px; padding-right:4px }
    .brand-name { font-family:var(--serif); font-size:1.08rem; line-height:1.1; letter-spacing:.02em; font-weight:bold }
    .brand-label { display:block; margin-top:5px; color:#727d74; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600 }
    .nav-links { display:flex; align-items:center; gap:32px; list-style:none; padding:0; margin:0 }
    .nav-links a { font-size:.78rem; letter-spacing:.05em; font-weight:600; color:#3c4a42 }
    .nav-links a:hover { color:#a66f4b }
    .nav-links .nav-cta { padding:11px 20px; color:white; background:var(--forest); border:1px solid var(--forest) }
    .nav-links .nav-cta:hover { background:var(--forest2); color:white }
    .menu-button { display:none; border:0; background:transparent; font-size:1.7rem; color:var(--forest); cursor:pointer }
    .hero { position:relative; overflow:hidden; background:var(--forest); color:var(--ivory); min-height:690px }
    .hero::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 82% 41%,rgba(233,216,180,.13),transparent 38%),linear-gradient(115deg,rgba(13,33,26,.01) 0%,rgba(8,28,22,.33) 90%); pointer-events:none }
    .hero-grid { display:grid; grid-template-columns: 1.09fr .91fr; gap:68px; align-items:center; min-height:690px; padding:105px 0 90px; position:relative }
    .hero .eyebrow { color:#d5b198 }
    h1,h2,h3,p { margin-top:0 }
    h1 { font-family:var(--serif); font-weight:400; font-size:clamp(3.35rem,5.25vw,5.3rem); letter-spacing:-.048em; line-height:1.065; margin:21px 0 27px; max-width:750px }
    .hero h1 em { font-weight:400; color:#d5b79a }
    .hero-copy { font-size:1.03rem; line-height:1.9; color:#dbe3db; max-width:575px; margin-bottom:32px }
    .actions { display:flex; flex-wrap:wrap; gap:13px }
    .btn { display:inline-flex; justify-content:center; align-items:center; padding:14px 23px; min-height:49px; font-size:.78rem; font-weight:700; letter-spacing:.065em; border:1px solid transparent; transition:transform .18s,background .18s }
    .btn:hover { transform:translateY(-2px) }
    .btn-light { background:#f2e8dc; color:var(--forest) }
    .btn-outline { border-color:rgba(250,247,238,.45); color:#f5f4ed }
    .hero-note { display:flex; gap:18px; align-items:center; margin-top:47px; color:#c5d0c6; font-size:.77rem; letter-spacing:.065em }
    .hero-note::before { content:""; height:1px; width:34px; background:var(--copper) }
    .art-stage { position:relative; width:100%; aspect-ratio:4/5; max-height:515px; border:1px solid rgba(227,223,209,.16); background:linear-gradient(145deg,#325248,#1c3a31); overflow:hidden; box-shadow:26px 25px 0 rgba(4,20,15,.13) }
    .art-stage::before { content:""; position:absolute; left:13%; top:8%; width:65%; height:81%; border:1px solid rgba(237,225,202,.26) }
    .art-stage svg { position:absolute; width:108%; height:78%; left:-3%; bottom:17%; stroke:#c0b39a; opacity:.74 }
    .art-stamp { position:absolute; right:7%; top:7%; font-family:var(--serif); font-size:5.5rem; color:rgba(242,238,219,.13); line-height:1 }
    .art-caption { position:absolute; bottom:24px; left:31px; right:22px; color:#e3e3d6; font-size:.76rem; line-height:1.5; letter-spacing:.12em; text-transform:uppercase }
    .art-caption b { font-family:var(--serif); font-style:italic; display:block; color:#e8ccaf; font-size:1.35rem; letter-spacing:0; text-transform:none; font-weight:400; margin:2px 0 8px }
    .statbar { background:#f2efe7; border-bottom:1px solid var(--border) }
    .stats { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; padding:31px 0 }
    .stat { padding-left:23px; border-left:1px solid #d8d4c8 }
    .stat:first-child { border-left:none; padding-left:0 }
    .stat strong { font-size:2rem; color:var(--forest); line-height:1.18; font-family:var(--serif); font-weight:400; display:block }
    .stat span { font-size:.75rem; line-height:1.5; letter-spacing:.03em; color:#68736b }
    section { scroll-margin-top:90px }
    .section { padding:110px 0 }
    .section h2 { font-size:clamp(2.25rem,3.4vw,3.45rem); line-height:1.19; letter-spacing:-.033em; font-family:var(--serif); font-weight:400; color:var(--forest) }
    .section-intro { max-width:730px; color:#68746a; font-size:1rem; line-height:1.86 }
    .about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:10%; align-items:start }
    .about-grid .lead { font-size:1.18rem; color:#35483d; font-family:var(--serif); line-height:1.75 }
    .about-text p { color:#626f66; margin-bottom:18px; font-size:.96rem; line-height:1.95 }
    .line-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid #a67458; padding-bottom:7px; margin-top:7px; color:var(--forest); font-size:.82rem; font-weight:700 }
    .line-link::after { content:'↗'; font-size:1.1rem }
    .services-section { background:#edece3 }
    .section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:38px }
    .section-heading h2 { max-width:600px; margin-bottom:0 }
    .section-heading .section-intro { max-width:365px; margin:0 }
    .services { display:grid; grid-template-columns:repeat(3,1fr); gap:17px }
    .service { background:var(--white); border:1px solid #e3dfd3; padding:33px 30px 31px; min-height:259px; transition:transform .2s,box-shadow .2s }
    .service:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(28,54,43,.08) }
    .service-num { font-family:var(--serif); font-size:1.25rem; color:#b78665 }
    .service h3 { font-family:var(--serif); font-size:1.37rem; letter-spacing:-.012em; font-weight:400; line-height:1.34; margin:20px 0 13px; color:var(--forest) }
    .service p { font-size:.84rem; line-height:1.8; color:#6c776e; margin:0 }
    .work-grid { display:grid; grid-template-columns:1.07fr .93fr; gap:80px; align-items:start }
    .work-lead { background:#e8e5d8; padding:38px 38px 44px; border-top:3px solid #c5926b }
    .work-lead .tag { font-size:.68rem; text-transform:uppercase; letter-spacing:.16em; color:#8b694f; font-weight:700 }
    .work-lead h3 { font-size:2.3rem; line-height:1.25; font-weight:400; font-family:var(--serif); margin:23px 0 }
    .work-lead p { line-height:1.9; color:#59685d; font-size:.93rem }
    .progress-art { border-top:1px solid #cecbbb; display:flex; justify-content:space-between; align-items:end; margin-top:35px; padding-top:21px }
    .progress-art strong { color:var(--forest); font-family:var(--serif); font-weight:400; font-size:2.6rem; line-height:1 }
    .progress-art span { text-align:right; font-size:.75rem; color:#657067; max-width:140px }
    .work-list { list-style:none; padding:0; margin:0 }
    .work-list li { padding:25px 0 28px; border-bottom:1px solid #ddd9ce }
    .work-list li:first-child { padding-top:0 }
    .work-list h3 { font-family:var(--serif); font-size:1.45rem; font-weight:400; margin-bottom:9px }
    .work-list p { color:#69766c; font-size:.88rem; line-height:1.85; margin:0 }
    .process { background:var(--forest); color:#eff0e8 }
    .process h2 { color:#f3f0e8 }
    .process .eyebrow { color:#d4b69a }
    .process .section-intro { color:#c8d3c8 }
    .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding-top:27px }
    .process-step { border-top:1px solid rgba(246,240,221,.35); padding:24px 5px 8px 0 }
    .process-step small { font-size:.73rem; color:#dfbc9d; letter-spacing:.15em }
    .process-step h3 { font-size:1.45rem; font-family:var(--serif); font-weight:400; margin:16px 0 }
    .process-step p { color:#c3d0c5; line-height:1.83; font-size:.87rem }
    .thinking-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; margin-top:40px }
    .thought { padding:27px 0; border-top:2px solid #b18b6f }
    .thought span { color:#a67558; font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700 }
    .thought h3 { font-family:var(--serif); font-weight:400; font-size:1.55rem; line-height:1.38; margin:17px 0 }
    .thought p { color:#6b776c; font-size:.86rem; line-height:1.8 }
    .contrib { background:var(--paper); padding:62px 0 }
    .contrib-inner { display:grid; grid-template-columns:.7fr 1.3fr; gap:75px; align-items:center }
    .contrib h2 { font-size:2rem; font-family:var(--serif); font-weight:400; line-height:1.27; color:var(--forest); margin-bottom:0 }
    .contrib p { color:#647168; line-height:1.9; font-size:.9rem; margin:0 }
    .contact-section { background:#e1e5dc; position:relative; overflow:hidden }
    .contact-section::after { content:'PV'; font-size:clamp(16rem,29vw,34rem); line-height:1; position:absolute; right:-4%; bottom:-14%; color:rgba(25,66,45,.035); font-family:var(--serif); pointer-events:none }
    .contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:15%; position:relative; z-index:1 }
    .contact-section h2 { max-width:650px }
    .contact-section .section-intro { max-width:500px }
    .contact-box { border-left:1px solid #afbdb0; padding-left:34px; align-self:end }
    .contact-box h3 { font-weight:400; font-family:var(--serif); font-size:1.35rem; color:var(--forest); margin:0 0 24px }
    .contact-box a { display:block; margin:14px 0; font-size:.95rem; word-break:break-word; text-decoration:underline; text-decoration-color:#b0a28e; text-underline-offset:5px }
    .contact-box small { display:block; color:#63776a; font-size:.78rem; margin-top:22px }
    footer { background:#172d26; color:#e4e8db; padding:27px 0 }
    .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:.72rem }
    .footer-inner a { color:#e3c2aa }
    @media (max-width:950px) {
      .wrap { width:min(100% - 42px,1170px) }
      .brand { min-width:auto }
      .nav-links { gap:19px }
      .nav-links a { font-size:.74rem }
      .hero-grid { gap:34px }
      .hero { min-height:620px }
      .hero-grid { min-height:620px; padding:75px 0 }
      h1 { font-size:clamp(2.9rem,5vw,4.45rem) }
      .art-stage { aspect-ratio:3/4 }
      .work-grid { gap:36px }
      .services { gap:11px }
      .service { padding:24px 21px }
    }
    @media (max-width:700px) {
      .wrap { width:calc(100% - 38px) }
      .nav { height:69px }
      .brand-name { font-size:1rem }
      .menu-button { display:block }
      .nav-links { position:absolute; left:0; right:0; top:69px; padding:14px 19px 24px; flex-direction:column; align-items:stretch; background:var(--ivory); border-bottom:1px solid var(--border); box-shadow:0 12px 18px #00000011; display:none; gap:0 }
      .nav-links.open { display:flex }
      .nav-links li a { display:block; padding:11px 5px }
      .nav-links .nav-cta { text-align:center; padding:12px }
      .hero-grid,.about-grid,.work-grid,.contact-grid,.contrib-inner { grid-template-columns:1fr; gap:33px }
      .hero-grid { padding:68px 0 48px; min-height:auto }
      .hero { min-height:auto }
      h1 { font-size:clamp(3.04rem,12vw,4.6rem) }
      .hero-copy { font-size:.98rem }
      .hero-note { margin-top:33px }
      .art-stage { max-width:500px; height:345px; aspect-ratio:auto; justify-self:center; width:100% }
      .art-stage::before { top:8%; height:70% }
      .art-stamp { font-size:4rem }
      .stats { grid-template-columns:repeat(2,1fr); row-gap:26px; padding:28px 0 }
      .stat:nth-child(3) { border-left:none; padding-left:0 }
      .stat strong { font-size:1.7rem }
      .section { padding:72px 0 }
      .section-heading { display:block; margin-bottom:28px }
      .section-heading .section-intro { margin-top:17px }
      .services,.process-grid,.thinking-grid { grid-template-columns:1fr }
      .service { min-height:0; padding:26px }
      .service h3 { margin:13px 0 8px }
      .process-grid { gap:8px }
      .contrib { padding:54px 0 }
      .contrib-inner { gap:15px }
      .contact-box { border-left:0; border-top:1px solid #afbdb0; padding:26px 0 0 }
      .footer-inner { flex-direction:column; align-items:start; gap:5px }
    }

    /* The two clear entry points: professional legacy and current advisory */
    .dual-section { background:#fffdf7; border-bottom:1px solid var(--border); padding:78px 0 82px }
    .dual-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:32px }
    .dual-head h2 { font-family:var(--serif); color:var(--forest); font-size:clamp(2.15rem,3.6vw,3.25rem); font-weight:400; letter-spacing:-.032em; line-height:1.18; max-width:620px; margin:0 }
    .dual-head p:last-child { color:#68746a; font-size:.96rem; line-height:1.8; max-width:340px; margin:0 }
    .dual-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:20px }
    .dual-card { position:relative; min-height:315px; padding:35px 37px 34px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--border) }
    .dual-card.legacy { background:#f0ebe0 }
    .dual-card.advisory { background:var(--forest); color:#f3efe6; border-color:var(--forest) }
    .dual-card::after { content:'01'; position:absolute; font-family:var(--serif); font-size:12rem; line-height:1; right:-9px; bottom:-42px; color:#657c6720; pointer-events:none }
    .dual-card.advisory::after { content:'02'; color:#ffffff0d }
    .dual-card .eyebrow { position:relative; z-index:1 }
    .dual-card.advisory .eyebrow { color:#d9b496 }
    .dual-card h3 { font-family:var(--serif); font-size:clamp(1.65rem,2.4vw,2.2rem); font-weight:400; line-height:1.25; letter-spacing:-.021em; margin:19px 0 15px; max-width:410px; position:relative; z-index:1 }
    .dual-card p { font-size:.92rem; line-height:1.85; color:#586a5c; max-width:420px; position:relative; z-index:1; margin-bottom:28px }
    .dual-card.advisory p { color:#d1dbd1 }
    .dual-card a { border-bottom:1px solid currentColor; padding-bottom:5px; font-size:.82rem; font-weight:700; position:relative; z-index:1; margin-top:auto }
    .dual-card a:hover { color:#b88760 }
    .engagement-panel { margin-top:43px; padding:28px 35px; background:#e4e9e1; display:grid; grid-template-columns:1.15fr 1.85fr; gap:28px; align-items:center; border-left:3px solid #b8835d }
    .engagement-panel h3 { margin:0; color:var(--forest); font-family:var(--serif); font-weight:400; font-size:1.45rem; line-height:1.3 }
    .engagement-panel p { margin:0; color:#596a5f; font-size:.9rem; line-height:1.8 }
    @media (max-width:700px) {
      .dual-section { padding:60px 0 }
      .dual-head { display:block }
      .dual-head p:last-child { margin-top:17px }
      .dual-cards { grid-template-columns:1fr; gap:14px }
      .dual-card { min-height:285px; padding:28px }
      .engagement-panel { grid-template-columns:1fr; padding:25px; gap:12px }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto } .btn,.service { transition:none } }

/* Secure-build component additions */
.btn-contact { background: var(--forest); color: white; margin-top: 16px }
.footer-inner .footer-links { display:flex; flex-wrap:wrap; gap:17px; align-items:center }
.privacy-hero { padding:85px 0 30px; background:var(--paper); border-bottom:1px solid var(--border) }
.privacy-hero h1 { color:var(--forest); font-size:clamp(2.7rem,5vw,4.2rem); max-width:800px }
.prose { max-width:800px; margin:auto; padding:65px 0 95px; }
.prose h2 { color:var(--forest); font-family:var(--serif); font-size:1.65rem; font-weight:400; margin:38px 0 15px }
.prose p,.prose li { color:var(--ink); font-size:.99rem; line-height:1.9 }
.prose a { text-decoration:underline; text-underline-offset:3px }
.prose ul { padding-left:1.3rem }
@media(max-width:700px) { .privacy-hero {padding:65px 0 25px} .prose {padding:35px 0 70px} }
