:root{
  --ivory:#f2f0eb;--ivory-2:#e7e3db;--paper:#faf9f6;--ink:#18191c;--ink-2:#3a3b3f;--muted:#6c6d70;
  --rule:#d7d2c8;--oxblood:#8f4f24;--oxblood-2:#1c1e22;--brass:#b58a5c;--brass-light:#d9b48c;
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",Georgia,serif;
  --sans:"Manrope","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
img,svg{display:block}
::selection{background:var(--oxblood);color:var(--ivory)}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:100}
.skip-link:focus{left:16px}

/* masthead */
.masthead{background:var(--ivory);border-bottom:1px solid var(--rule)}
.masthead .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px;gap:24px}
.nav{display:flex;gap:30px}
.nav a{font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.nav a:hover,.nav a[aria-current="true"],.nav a[aria-current="page"]{color:var(--oxblood);border-color:var(--brass)}
.nav-right{justify-content:flex-end}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.brand svg{width:46px;height:46px;flex:none}
.brand-name{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:.06em;line-height:1}
.brand-name small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.42em;color:var(--muted);font-weight:600;margin-top:6px}
.menu-toggle{display:none}

/* type */
.kicker{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--oxblood);font-weight:700}
.kicker::before{content:"";width:36px;height:1px;background:var(--brass)}
.display{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.02}
.display em{font-style:italic;color:var(--oxblood)}
.lede{font-size:18px;color:var(--ink-2);max-width:560px}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;text-decoration:none;border:1px solid var(--oxblood);transition:background .2s,color .2s}
.btn-solid{background:var(--oxblood);color:var(--ivory)}
.btn-solid:hover{background:var(--oxblood-2)}
.btn-line{color:var(--oxblood)}
.btn-line:hover{background:var(--oxblood);color:var(--ivory)}
.btn svg{width:16px;height:16px}

/* hero */
.hero{border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;padding-top:96px;padding-bottom:104px;align-items:center}
.hero h1{font-size:clamp(52px,7.4vw,104px);margin:28px 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.showcase{position:relative;width:100%;max-width:580px;justify-self:end;aspect-ratio:1/1;margin:0}
.browser{position:absolute;top:4%;right:0;width:90%;height:72%;background:var(--paper);border:1px solid var(--rule);border-radius:14px;overflow:hidden;box-shadow:0 50px 90px -50px rgba(24,25,28,.45),0 2px 6px rgba(24,25,28,.05);display:flex;flex-direction:column}
.browser-bar{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-bottom:1px solid var(--rule);background:#f6f4f0}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#d4cfc6}
.browser-bar span{margin:0 auto;font-size:11px;letter-spacing:.06em;color:var(--muted);background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:3px 18px;transform:translateX(-14px)}
.browser-body{flex:1;display:grid;grid-template-columns:52px 1fr;min-height:0}
.side{border-right:1px solid var(--rule);display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:18px}
.side b{width:22px;height:22px;border-radius:6px;background:var(--oxblood-2);margin-bottom:8px}
.side em{width:18px;height:4px;border-radius:2px;background:#ddd8cf}
.side em.on{background:var(--oxblood)}
.main{padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.m-kicker{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:700}
.m-title{font-family:var(--serif);font-size:30px;line-height:1;margin-top:-6px;color:var(--ink)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tiles div{border:1px solid var(--rule);border-radius:8px;padding:10px 12px;background:#fff}
.tiles span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tiles b{display:block;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);margin-top:2px}
.tiles div:first-child b{color:var(--oxblood)}
.chart{width:100%;height:76px;border:1px solid var(--rule);border-radius:8px;background:#fff;padding:8px 0 0}
.rows{display:grid;gap:9px}
.rows em{height:7px;border-radius:4px;background:#e6e2da}
.rows em:nth-child(1){width:92%}.rows em:nth-child(2){width:74%}.rows em:nth-child(3){width:58%}
.phone{position:absolute;left:0;bottom:2%;width:27%;aspect-ratio:9/18.5;background:var(--oxblood-2);border-radius:30px;padding:7px;box-shadow:0 40px 70px -30px rgba(24,25,28,.6)}
.screen{position:relative;height:100%;background:var(--ivory);border-radius:24px;overflow:hidden;padding:30px 12px 12px;display:flex;flex-direction:column;gap:10px}
.notch{position:absolute;top:8px;left:50%;width:34%;height:12px;border-radius:8px;background:var(--oxblood-2);transform:translateX(-50%)}
.p-kicker{font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:.12em}
.p-card{background:var(--oxblood);color:var(--ivory);border-radius:12px;padding:14px 12px;min-height:34%;display:flex;align-items:flex-end}
.p-card p{font-family:var(--serif);font-size:17px;line-height:1.1}
.p-card i{color:#f0d4b8}
.p-rows{display:grid;gap:8px}
.p-rows em{height:22px;border-radius:6px;background:var(--paper);border:1px solid var(--rule)}
.p-btn{margin-top:auto;height:26px;border-radius:999px;background:var(--oxblood-2)}
.chip{position:absolute;right:6%;bottom:10%;display:flex;align-items:center;gap:10px;background:var(--oxblood-2);color:#eceae5;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:12px 18px;border-radius:999px;box-shadow:0 20px 40px -20px rgba(24,25,28,.6)}
.chip span{width:7px;height:7px;border-radius:50%;background:var(--brass-light);box-shadow:0 0 0 4px rgba(217,180,140,.18)}

/* marquee strip */
.strip{background:var(--paper);border-bottom:1px solid var(--rule)}
.strip ul{list-style:none;margin:0 auto;padding:22px 40px;max-width:var(--max);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.strip li{font-family:var(--serif);font-size:21px;font-style:italic;color:var(--ink-2);display:flex;align-items:center;gap:20px}
.strip li+li::before{content:"✦";font-style:normal;font-size:11px;color:var(--brass)}

/* sections */
.section{padding:120px 0}
.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;margin-bottom:72px;align-items:end}
.section-head h2{font-size:clamp(40px,5vw,64px);margin-top:20px}
.section-head p{color:var(--muted);font-size:17px}

.practice{border-top:1px solid var(--ink)}
.practice-item{display:grid;grid-template-columns:110px 1fr 1.3fr;gap:40px;padding:44px 0;border-bottom:1px solid var(--rule);align-items:start;transition:background .25s}
.practice-item:hover{background:var(--paper)}
.numeral{font-family:var(--serif);font-size:56px;line-height:.9;color:var(--brass);font-weight:500}
.practice-item h3{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1.1}
.practice-item p{color:var(--ink-2)}
.practice-item ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.practice-item li{font-size:15px;color:var(--muted);padding-left:20px;position:relative}
.practice-item li::before{content:"—";position:absolute;left:0;color:var(--brass)}

/* principles */
.principles{background:var(--oxblood-2);color:var(--ivory);position:relative}
.principles .kicker{color:var(--brass-light)}
.principles .section-head p{color:#bfbcb5}
.principles .display em{color:var(--brass-light)}
.tenets{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(215,183,122,.4)}
.tenet{padding:36px 30px 8px 0}
.tenet+.tenet{padding-left:30px;border-left:1px solid rgba(215,183,122,.25)}
.tenet span{font-size:11px;letter-spacing:.28em;color:var(--brass-light);font-weight:700}
.tenet h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:16px 0 12px}
.tenet p{color:#c8c5be;font-size:15px}

/* company */
.company{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start}
.company h2{font-size:clamp(40px,5vw,60px);margin:20px 0 28px}
.company-copy p{color:var(--ink-2);font-size:17px}
.company-copy p+p{margin-top:18px}
.quote{margin-top:40px;padding-left:24px;border-left:2px solid var(--brass);font-family:var(--serif);font-size:26px;font-style:italic;line-height:1.35;color:var(--oxblood)}
.ledger{background:var(--paper);border:1px solid var(--rule);padding:12px 36px;position:relative}
.ledger::before{content:"";position:absolute;inset:6px;border:1px solid var(--ivory-2);pointer-events:none}
.ledger-title{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:24px 0 18px;border-bottom:1px solid var(--ink);font-weight:700}
.ledger div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--rule)}
.ledger div:last-child{border-bottom:0}
.ledger dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:3px}
.ledger dd{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.35;word-break:break-word}
.ledger dd a{color:var(--oxblood);text-decoration-color:var(--brass);text-underline-offset:4px}

/* correspondence */
.correspondence{background:var(--paper);border-top:1px solid var(--rule)}
.letter{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.letter h2{font-size:clamp(42px,5.4vw,72px);margin:20px 0 22px}
.letter p{color:var(--ink-2);font-size:17px;max-width:520px}
.envelope{background:var(--ivory);border:1px solid var(--rule);padding:44px;position:relative}
.envelope span{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:700}
.envelope a{display:inline-block;margin:14px 0 26px;font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:600;color:var(--oxblood);text-decoration:none;border-bottom:1px solid var(--brass);word-break:break-all}
.envelope a:hover{color:var(--oxblood-2)}
.envelope small{display:block;color:var(--muted);font-size:14px;padding-top:20px;border-top:1px solid var(--rule)}

/* footer */
.footer{background:var(--oxblood-2);color:#d8d4cc;padding:72px 0 36px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(215,183,122,.25)}
.footer .brand{color:var(--ivory)}
.footer .brand-name small{color:#a19e97}
.footer p{margin-top:20px;font-size:15px;color:#b9b6af;max-width:360px}
.footer h4{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-light);margin-bottom:18px;font-weight:700}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer a{color:#eceae5;text-decoration:none}
.footer a:hover{color:var(--brass-light)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:28px;font-size:13px;color:#97948d;letter-spacing:.04em}

/* legal */
.legal-head{border-bottom:1px solid var(--rule)}
.legal-head .wrap{max-width:900px;padding-top:88px;padding-bottom:64px;text-align:center}
.legal-head .kicker{justify-content:center}
.legal-head .kicker::after{content:"";width:36px;height:1px;background:var(--brass)}
.legal-head h1{font-size:clamp(48px,7vw,84px);margin:22px 0 18px}
.legal-head p{color:var(--muted);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.legal{max-width:820px;margin:0 auto;padding:72px 40px 120px}
.legal .intro{font-family:var(--serif);font-size:23px;line-height:1.5;color:var(--ink-2);padding-bottom:36px;border-bottom:1px solid var(--rule);margin-bottom:12px}
.legal h2{font-family:var(--serif);font-size:30px;font-weight:600;margin:48px 0 14px;display:flex;gap:16px;align-items:baseline}
.legal h2 span{font-size:20px;color:var(--brass);min-width:34px}
.legal p,.legal li{color:var(--ink-2)}
.legal p+p{margin-top:12px}
.legal ul{padding-left:22px;margin:12px 0}
.legal li+li{margin-top:6px}
.legal a{color:var(--oxblood);text-underline-offset:3px}

@media (max-width:1024px){
  .wrap{padding:0 28px}
  .hero .wrap{grid-template-columns:1fr;gap:56px}
  .showcase{justify-self:center}
  .section-head{grid-template-columns:1fr;gap:20px}
  .practice-item{grid-template-columns:80px 1fr;gap:20px 28px}
  .practice-item>p,.practice-item>div:not(.numeral){grid-column:2}
  .tenets{grid-template-columns:1fr 1fr}
  .tenet:nth-child(3){padding-left:0;border-left:0}
  .tenet{padding-bottom:36px}
  .company,.letter{grid-template-columns:1fr;gap:56px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  .wrap{padding:0 16px}
  .masthead .wrap{grid-template-columns:1fr auto;height:76px}
  .nav{display:none}
  .masthead .brand{grid-column:1;grid-row:1}
  .menu-toggle{display:inline-flex;grid-column:2;grid-row:1;background:none;border:1px solid var(--rule);padding:10px 14px;font:700 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood);cursor:pointer}
  .masthead.open .nav-right{display:flex;flex-direction:column;gap:0;grid-column:1/-1;padding-bottom:12px}
  .masthead.open .nav-mobile-only{display:block!important}
  .masthead.open .wrap{height:auto;padding-top:18px;padding-bottom:6px}
  .masthead.open .nav a{padding:12px 0;border-bottom:1px solid var(--rule)}
  .brand-name{font-size:24px}
  .brand svg{width:36px;height:36px}
  .hero .wrap{padding-top:56px;padding-bottom:72px}
  .lede{font-size:17px}
  .strip ul{padding:18px 16px;justify-content:flex-start}
  .strip li{font-size:18px}
  .section{padding:80px 0}
  .section-head{margin-bottom:44px}
  .practice-item{grid-template-columns:1fr;padding:36px 0}
  .practice-item>*{grid-column:1!important}
  .numeral{font-size:44px}
  .practice-item h3{font-size:30px}
  .tenets{grid-template-columns:1fr}
  .tenet,.tenet+.tenet{padding:30px 0;border-left:0;border-bottom:1px solid rgba(215,183,122,.25)}
  .ledger{padding:8px 20px}
  .ledger div{grid-template-columns:1fr;gap:4px}
  .envelope{padding:32px 22px}
    .footer-top{grid-template-columns:1fr}
  .legal{padding:48px 16px 88px}
  .legal .intro{font-size:20px}
  .legal h2{font-size:26px}
  .browser-body{grid-template-columns:38px 1fr}
  .main{padding:14px 14px;gap:10px}
  .m-title{font-size:22px}
  .tiles{gap:6px}
  .tiles div{padding:7px 8px}
  .tiles span{font-size:8px;letter-spacing:.08em}
  .tiles b{font-size:16px}
  .chart{height:54px}
  .rows{display:none}
  .phone{border-radius:22px;padding:5px}
  .screen{border-radius:18px;padding:22px 8px 8px;gap:7px}
  .notch{top:6px;height:9px}
  .p-kicker{font-size:11px}
  .p-card{padding:9px 8px;border-radius:9px}
  .p-card p{font-size:12px}
  .p-rows em{height:15px}
  .p-btn{height:18px}
  .chip{font-size:9px;padding:9px 12px;right:0;bottom:8%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
