:root { --ink:#101010; --muted:#646464; --soft:#f3f3f1; --line:#d5d5d1; --paper:#fbfbfa; --white:#fff; --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:15px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:3px solid #005fcc; outline-offset:3px; }
.mobile-menu :focus-visible,.site-header-dark :focus-visible,.site-footer :focus-visible,.trust-section :focus-visible,.contact-cta :focus-visible,.contact-band :focus-visible { outline-color:#fff; }
img { display:block; max-width:100%; }
/* Scale the watermarks proportionally when CSS overrides their HTML width. */
.contact-owl,.team-hero-owl,.privacy-policy-hero-owl,.contact-hero-owl { height:auto; }
.shell { width:min(100% - 96px, 1440px); margin:0 auto; }
.skip-link { position:fixed; z-index:1000; left:16px; top:-60px; padding:10px 15px; background:var(--ink); color:#fff; transition:top .2s; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(251,251,250,.94); border-bottom:1px solid transparent; backdrop-filter:blur(8px); transition:background .3s,border-color .3s,box-shadow .3s; }
.site-header.scrolled { border-color:var(--line); box-shadow:0 5px 22px rgba(0,0,0,.04); }
.header-inner { height:94px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { flex:0 0 225px; height:54px; overflow:hidden; }
.brand-logo { display:block; height:100%; width:100%; background:url("assets/images/firm-logo.webp") center/220% auto no-repeat; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:28px; flex:1; }
.desktop-nav a { position:relative; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; padding:8px 0; }
.desktop-nav a::after { content:""; position:absolute; height:1px; width:0; background:var(--ink); left:0; bottom:0; transition:width .25s; }
.desktop-nav a:hover::after,.desktop-nav a.active::after { width:100%; }
.header-cta,.button { display:inline-flex; gap:12px; align-items:center; justify-content:center; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.075em; min-height:46px; padding:0 19px; border:1px solid var(--ink); transition:background .25s,color .25s,transform .25s; }
.header-cta { min-height:42px; white-space:nowrap; }
.header-cta:hover,.button-dark:hover { background:#fff; color:var(--ink); }
.header-cta i,.button i { transition:transform .25s; }
.header-cta:hover i,.button:hover i,.text-link:hover i { transform:translateX(4px); }
.menu-toggle { display:none; border:0; background:none; padding:8px; width:44px; min-height:44px; cursor:pointer; }
.menu-toggle span { height:1px; display:block; margin:6px 0; background:var(--ink); transition:transform .25s; }
.mobile-menu { position:fixed; z-index:45; inset:0; padding:142px 32px 40px; background:var(--ink); color:#fff; display:flex; flex-direction:column; justify-content:space-between; transform:translateX(100%); transition:transform .45s cubic-bezier(.77,0,.18,1); }
.mobile-menu.open { transform:translateX(0); }
.mobile-menu nav { display:grid; }
.mobile-menu nav a { font-family:var(--serif); font-size:clamp(30px,8vw,48px); border-bottom:1px solid #444; padding:13px 0; }
.button-light { color:#fff; border-color:#fff; }
.button-light:hover { background:#fff; color:var(--ink); }
.eyebrow { margin:0 0 18px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:500; line-height:1.04; letter-spacing:-.045em; }
em { font-weight:500; }
.hero { min-height:620px; display:grid; grid-template-columns:minmax(315px,43%) 1fr; align-items:center; gap:5vw; padding-top:52px; padding-bottom:54px; overflow:hidden; }
.hero-copy { padding-left:2px; max-width:550px; margin-top:-42px; }
.hero h1 { font-size:clamp(50px,5vw,83px); margin-bottom:25px; }
.hero h1 em { font-style:normal; }
.hero-lead { max-width:375px; font-size:17px; line-height:1.45; margin-bottom:17px; }
.rule { width:47px; height:1px; background:var(--ink); margin:17px 0; }
.hero-detail { max-width:400px; font-size:13px; line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:28px; flex-wrap:wrap; }
.button-dark { color:#fff; background:var(--ink); }
.text-link { display:inline-flex; align-items:center; gap:13px; font-size:10px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.text-link i { transition:transform .25s; }
.hero-visual { min-width:0; }
.hero-image-wrap { height:500px; position:relative; overflow:hidden; background:#202020; }
.hero-image { height:100%; width:100%; max-width:none; object-fit:cover; object-position:center; filter:grayscale(1) contrast(.9) brightness(1.03); transform:scale(1.05); }
.section { padding:106px 0; }
.section-heading { text-align:center; max-width:650px; margin:0 auto 54px; }
.section-heading h2 { font-size:clamp(32px,3.1vw,48px); margin:0; }
.practice-grid { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.practice-card { display:flex; min-height:174px; padding:24px 15px 16px; flex-direction:column; align-items:center; text-align:center; border-right:1px solid var(--line); transition:background .25s,color .25s; }
.practice-card:last-child { border:0; }
.practice-card > i { font-size:25px; height:38px; }
.practice-card span { text-transform:uppercase; font-size:9px; letter-spacing:.04em; font-weight:700; line-height:1.5; }
.practice-card b { font-size:13px; margin-top:auto; font-weight:400; }
.practice-card:hover { background:var(--ink); color:#fff; }
.section-action { text-align:center; margin-top:30px; }
.trust-section { position:relative; overflow:hidden; color:#fff; background:var(--ink); }
.trust-background { position:absolute; inset:0; opacity:.17; }
.trust-background::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#080808 6%,rgba(8,8,8,.82) 44%,rgba(8,8,8,.65)); }
.trust-background img { height:125%; width:100%; max-width:none; object-fit:cover; filter:grayscale(1); }
.trust-content { position:relative; display:grid; grid-template-columns:29% 1fr; gap:50px; padding-top:72px; padding-bottom:72px; }
.trust-intro h2 { font-size:clamp(32px,3vw,45px); margin-bottom:19px; }
.trust-intro p { font-size:12px; line-height:1.6; max-width:320px; }
.text-link-light { color:#fff; margin-top:13px; }
.trust-points { display:grid; grid-template-columns:repeat(3,1fr); align-items:start; }
.trust-point { min-height:180px; padding:0 26px; border-left:1px solid rgba(255,255,255,.45); }
.trust-point i { font-size:28px; margin-bottom:17px; }
.trust-point h3 { font-family:var(--sans); margin:0 0 12px; font-size:15px; text-transform:uppercase; line-height:1.25; letter-spacing:.04em; font-weight:600; }
.trust-point p { margin:0; max-width:170px; font-size:11px; line-height:1.55; }
.team-publications { display:grid; grid-template-columns:1.04fr 1fr; gap:58px; padding-top:98px; padding-bottom:98px; }
.team-publications .section-heading { text-align:left; margin:0 0 37px; }
.team-publications .section-heading h2 { font-size:clamp(29px,2.6vw,42px); }
.team-preview { padding-right:58px; border-right:1px solid var(--line); }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.team-card { min-width:0; }
.image-frame { display:block; overflow:hidden; aspect-ratio:.73; background:#ddd; }
.image-frame img { height:100%; width:100%; object-fit:cover; filter:grayscale(1); transition:transform .5s; }
.team-card:hover img { transform:scale(1.06); }
.card-meta { display:grid; grid-template-columns:1fr auto; gap:3px 8px; padding:13px 1px 0; }
.card-meta strong { text-transform:uppercase; letter-spacing:.04em; font-size:10px; }
.card-meta small { font-size:9px; color:var(--muted); line-height:1.35; }
.card-meta i { grid-column:2; grid-row:1 / 3; align-self:center; font-size:12px; transition:transform .25s; }
.team-card:hover .card-meta i { transform:translateX(4px); }
.all-link { margin-top:33px; }
.publication-list { border-top:1px solid var(--line); }
.publication-card { display:grid; grid-template-columns:30px 1fr 18px; gap:12px; align-items:start; padding:19px 0 20px; border-bottom:1px solid var(--line); transition:padding .25s; }
.publication-card:hover { padding-left:7px; }
.publication-number { color:#9e9e9e; font-family:var(--serif); font-size:19px; }
.publication-card small { color:var(--muted); text-transform:uppercase; font-size:9px; letter-spacing:.065em; }
.publication-card h3 { font-size:19px; line-height:1.2; margin:8px 0 0; letter-spacing:-.025em; }
.publication-card > i { font-size:11px; margin-top:12px; }
.publication-preview-copy { display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; align-items:center; }
.publication-preview-image { width:88px; height:68px; object-fit:cover; filter:grayscale(1); transition:transform .45s; }
.publication-card:hover .publication-preview-image { transform:scale(1.05); }
.contact-cta { position:relative; overflow:hidden; background:#161616; color:#fff; padding:79px 0; }
.contact-owl { position:absolute; width:490px; max-width:50%; right:-74px; top:-98px; opacity:.16; filter:invert(1) grayscale(1) brightness(1.8); mix-blend-mode:screen; pointer-events:none; }
.contact-cta-inner { position:relative; text-align:center; }
.contact-cta h2 { font-size:clamp(38px,4vw,59px); margin-bottom:12px; }
.contact-cta p:not(.eyebrow) { font-size:14px; }
.contact-actions { margin-top:25px; display:flex; justify-content:center; align-items:center; gap:27px; }
.phone-link { text-transform:uppercase; letter-spacing:.075em; font-size:10px; font-weight:700; }
.site-footer { color:#f7f7f7; background:#101010; }
.footer-main { display:grid; grid-template-columns:1.2fr .75fr 1.55fr 1.25fr; gap:45px; padding:57px 0 51px; }
.footer-main h2 { margin:3px 0 15px; font-family:var(--sans); font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.footer-main ul { list-style:none; padding:0; margin:0; }
.footer-main li,.footer-main address > a,.footer-main address > span { display:block; margin:0 0 7px; font-size:11px; font-style:normal; }
.footer-main li a:hover,.footer-main address a:hover,.footer-bottom a:hover,.footer-brand a:hover { text-decoration:underline; }
.two-column { columns:2; column-gap:25px; }
.two-column li { break-inside:avoid; }
.footer-brand { padding-right:20px; }
.footer-owl { width:53px; height:60px; margin-bottom:17px; background:url("assets/images/owl-watermark.webp") center/43px auto no-repeat; filter:invert(1) grayscale(1) brightness(1.8); mix-blend-mode:screen; opacity:.9; }
.footer-brand p { max-width:205px; color:#d3d3d3; font-size:11px; }
.footer-brand a { display:inline-flex; gap:10px; align-items:center; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:700; }
address i { display:inline-block; width:18px; }
.footer-bottom { min-height:55px; padding:16px 0; border-top:1px solid #3b3b3b; display:flex; align-items:center; justify-content:space-between; color:#a8a8a8; font-size:9px; }
.footer-bottom > span:last-child { display:flex; gap:16px; }
.reveal { opacity:1; transform:none; }
.motion-ready .reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.motion-ready .reveal.is-visible { opacity:1; transform:none; }
.hero-reveal { opacity:0; transform:translateY(22px); animation:hero-in .8s .12s forwards cubic-bezier(.2,.75,.25,1); }
.hero-visual { animation-delay:.3s; }
@keyframes hero-in { to { opacity:1; transform:none; } }
@media (max-width:1120px) { .shell { width:min(100% - 56px, 1440px); } .desktop-nav { gap:18px; } .brand { flex-basis:190px; } .header-cta { padding:0 12px; font-size:9px; } .practice-grid { grid-template-columns:repeat(4,1fr); } .practice-card:nth-child(4) { border-right:0; } .practice-card:nth-child(-n+4) { border-bottom:1px solid var(--line); } .trust-content { grid-template-columns:34% 1fr; } .trust-point { padding:0 16px; } }
@media (max-width:820px) { .shell { width:min(100% - 40px, 1440px); } .header-inner { height:74px; } .brand { flex:0 0 184px; height:46px; } .desktop-nav,.header-cta { display:none; } .menu-toggle { display:block; } .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); } .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); } .hero { min-height:auto; grid-template-columns:1fr; padding-top:62px; gap:40px; } .hero-copy { max-width:580px; margin-top:-18px; } .hero h1 { font-size:clamp(48px,10vw,75px); } .hero-visual { width:100%; } .hero-image-wrap { height:370px; } .section { padding:76px 0; } .trust-content { grid-template-columns:1fr; gap:42px; padding-top:62px; padding-bottom:58px; } .trust-points { grid-template-columns:repeat(3,1fr); } .team-publications { grid-template-columns:1fr; gap:68px; padding-top:75px; padding-bottom:76px; } .team-preview { padding-right:0; border-right:0; } .footer-main { grid-template-columns:1.2fr 1fr; gap:40px 58px; } }
@media (max-width:560px) { .shell { width:min(100% - 32px, 1440px); } .brand { flex-basis:165px; height:42px; } .hero { padding-top:48px; padding-bottom:38px; } .hero-lead { font-size:16px; } .hero-actions,.contact-actions { align-items:stretch; flex-direction:column; gap:15px; } .hero-actions .text-link { justify-content:center; } .button { min-height:49px; } .hero-image-wrap { height:280px; } .section-heading { text-align:left; margin-bottom:33px; } .practice-grid { grid-template-columns:repeat(2,1fr); } .practice-card { min-height:148px; border-bottom:1px solid var(--line); } .practice-card:nth-child(2n) { border-right:0; } .practice-card:nth-last-child(-n+2) { border-bottom:0; } .section-action { text-align:left; } .trust-points { grid-template-columns:1fr; gap:26px; } .trust-point { min-height:0; padding:0 0 0 18px; } .team-grid { grid-template-columns:1fr; gap:26px; } .image-frame { aspect-ratio:1.15; } .card-meta small { max-width:90%; } .team-publications .section-heading { margin-bottom:27px; } .contact-cta { padding:62px 0; } .phone-link { text-align:center; } .footer-main { grid-template-columns:1fr; gap:31px; padding:45px 0 38px; } .footer-brand { padding:0; } .footer-bottom { align-items:flex-start; flex-direction:column; gap:9px; } .two-column { columns:1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .reveal,.hero-reveal { opacity:1; transform:none; } }

/* Our team */
.team-hero { min-height:520px; position:relative; overflow:hidden; display:flex; align-items:center; background:#f6f6f4; }
.team-hero-inner { position:relative; z-index:1; padding:80px 0 74px; }
.team-hero .eyebrow { margin-bottom:22px; }
.team-heading-lines { display:grid; max-width:655px; margin:0; font-family:var(--serif); font-size:clamp(51px,6vw,88px); font-weight:500; line-height:1.02; letter-spacing:-.06em; }
.team-heading-lines span { opacity:0; transform:translateY(25px); animation:team-heading-in .72s forwards cubic-bezier(.2,.75,.25,1); }
.team-heading-lines span:nth-child(2) { animation-delay:.12s; }
.team-heading-lines span:nth-child(3) { animation-delay:.24s; }
.team-heading-lines em { font-style:normal; }
.team-hero-rule { width:47px; height:1px; background:var(--ink); margin:25px 0 16px; }
.team-hero p:not(.eyebrow) { width:min(100%,470px); margin-bottom:0; font-size:13px; }
.team-hero-owl { position:absolute; width:min(58vw,850px); right:-125px; top:-155px; opacity:.6; filter:grayscale(1); mix-blend-mode:multiply; pointer-events:none; }
@keyframes team-heading-in { to { opacity:1; transform:none; } }
.team-directory { padding:104px 0 74px; }
.attorney-row { display:grid; grid-template-columns:minmax(300px,.79fr) minmax(0,1.21fr); gap:clamp(46px,8vw,148px); align-items:center; padding:0 0 69px; margin:0 0 69px; border-bottom:1px solid var(--line); }
.attorney-row-reverse { grid-template-columns:minmax(0,1.21fr) minmax(300px,.79fr); }
.attorney-row-reverse .attorney-portrait { order:2; }
.attorney-row-reverse .attorney-details { order:1; }
.attorney-portrait { overflow:hidden; background:#e4e4e2; aspect-ratio:.84; }
.attorney-portrait img { height:100%; width:100%; object-fit:cover; filter:grayscale(1); transition:transform .6s cubic-bezier(.2,.75,.25,1); }
.attorney-portrait:hover img { transform:scale(1.045); }
.attorney-details { max-width:680px; }
.attorney-details .eyebrow { margin-bottom:11px; color:var(--muted); }
.attorney-details h2 { font-size:clamp(39px,4vw,61px); margin:0 0 14px; }
.qualification { max-width:570px; font-size:10px; font-weight:700; letter-spacing:.05em; line-height:1.5; text-transform:uppercase; }
.attorney-details .rule { margin:18px 0 24px; }
.attorney-details > p:not(.eyebrow):not(.qualification) { margin-bottom:15px; font-size:13px; line-height:1.72; }
.email-link { display:inline-flex; align-items:center; gap:10px; margin-top:8px; font-size:11px; font-weight:700; letter-spacing:.04em; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.email-link i { font-size:13px; }
.team-contact-cta { padding:57px 0; }
.team-contact-inner { position:relative; display:grid; grid-template-columns:1.1fr 1fr auto; gap:45px; align-items:center; }
.team-contact-inner .eyebrow { margin-bottom:15px; }
.team-contact-inner h2 { margin:0; font-size:clamp(30px,3.1vw,46px); }
.team-contact-inner h2 em { font-style:normal; }
.team-contact-details { display:flex; gap:38px; padding-left:42px; border-left:1px solid rgba(255,255,255,.4); }
.team-contact-details a { display:flex; align-items:center; gap:13px; font-size:11px; }
.team-contact-details i { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(255,255,255,.8); border-radius:50%; font-size:17px; }
.team-contact-details span { color:#d3d3d3; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.team-contact-details strong { display:block; color:#fff; font-size:12px; letter-spacing:0; text-transform:none; margin-top:2px; }
@media (max-width:950px) { .team-hero { min-height:460px; } .attorney-row,.attorney-row-reverse { grid-template-columns:minmax(235px,.76fr) minmax(0,1.24fr); gap:45px; } .attorney-row-reverse .attorney-portrait { order:0; } .attorney-row-reverse .attorney-details { order:0; } .team-contact-inner { grid-template-columns:1fr; gap:27px; } .team-contact-details { padding:24px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.4); } .team-contact-inner .button { justify-self:start; } }
@media (max-width:620px) { .team-hero { min-height:440px; } .team-hero-inner { padding:60px 0; } .team-heading-lines { font-size:clamp(48px,14vw,68px); } .team-hero-owl { width:590px; max-width:none; right:-275px; top:-85px; } .team-directory { padding:63px 0 26px; } .attorney-row,.attorney-row-reverse { display:flex; flex-direction:column; gap:30px; align-items:stretch; padding-bottom:53px; margin-bottom:53px; } .attorney-row-reverse .attorney-portrait { order:0; } .attorney-row-reverse .attorney-details { order:0; } .attorney-portrait { aspect-ratio:1.08; } .attorney-details h2 { font-size:43px; } .attorney-details > p:not(.eyebrow):not(.qualification) { font-size:12px; } .team-contact-cta { padding:50px 0; } .team-contact-details { flex-direction:column; gap:17px; } .team-contact-inner .button { width:100%; } }
@media (prefers-reduced-motion:reduce) { .team-heading-lines span { opacity:1; transform:none; } }

/* Our expertise */
.expertise-hero { overflow:hidden; background:#f4f4f2; }
.expertise-hero-grid { min-height:474px; display:grid; grid-template-columns:minmax(330px,.92fr) 1.08fr; align-items:stretch; }
.expertise-hero-copy { position:relative; z-index:1; align-self:center; padding:72px 5vw 72px 2px; }
.expertise-hero-copy .eyebrow { margin-bottom:24px; }
.expertise-heading-lines { display:grid; margin:0; font-family:var(--serif); font-size:clamp(45px,4.7vw,71px); line-height:1.02; letter-spacing:-.06em; }
.expertise-heading-lines span { opacity:0; transform:translateY(25px); animation:team-heading-in .72s forwards cubic-bezier(.2,.75,.25,1); }
.expertise-heading-lines span:nth-child(2) { animation-delay:.12s; }
.expertise-heading-lines span:nth-child(3) { animation-delay:.24s; }
.expertise-heading-lines em { font-style:normal; }
.expertise-hero-copy p:not(.eyebrow) { max-width:475px; margin:0; font-size:13px; }
.expertise-hero-visual { position:relative; overflow:hidden; min-height:390px; background:#1e1e1e; }
.expertise-hero-visual::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.12); }
.expertise-hero-visual > img:first-child { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; filter:grayscale(1) contrast(.85); transform:scale(1.05); animation:expertise-mask-in 1.05s cubic-bezier(.2,.75,.25,1) both; }
@keyframes expertise-mask-in { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
.expertise-explorer { display:grid; grid-template-columns:minmax(220px,.56fr) minmax(0,1.74fr); gap:clamp(35px,5vw,76px); align-items:start; padding-top:94px; padding-bottom:95px; }
.expertise-tabs { border:1px solid var(--line); }
.expertise-tab { width:100%; min-height:72px; padding:14px 15px; display:grid; grid-template-columns:24px 1fr 14px; gap:9px; align-items:center; color:var(--ink); border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; font-family:var(--serif); font-size:14px; cursor:pointer; transition:background .28s,color .28s,padding .28s; }
.expertise-tab:last-child { border-bottom:0; }
.expertise-tab > i:first-child { font-family:"Font Awesome 6 Free"; font-size:19px; text-align:center; transition:transform .28s; }
.expertise-tab > i:last-child { font-size:12px; opacity:.8; transition:transform .28s; }
.expertise-tab[aria-selected="true"] { padding-left:19px; color:#fff; background:var(--ink); }
.expertise-tab[aria-selected="true"] > i:first-child { transform:scale(1.12); }
.expertise-tab:hover:not([aria-selected="true"]) { background:#ececea; }
.expertise-tab:focus-visible { position:relative; z-index:1; outline:2px solid #005fcc; outline-offset:-3px; }
.expertise-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.66fr); gap:clamp(30px,4vw,68px); min-height:480px; align-items:start; }
.tabs-ready .expertise-panel[hidden] { display:none; }
.expertise-panel.is-entering { animation:panel-in .48s ease both; }
@keyframes panel-in { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
.expertise-panel-content h2 { font-size:clamp(38px,4.1vw,62px); margin:0 0 20px; }
.expertise-panel-content .eyebrow { margin-bottom:12px; color:var(--muted); }
.practice-intro,.expertise-panel-content > p:not(.eyebrow):not(.service-label) { font-size:13px; line-height:1.7; margin:0 0 16px; }
.service-label { margin:25px 0 13px; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.service-list { list-style:none; padding:0; margin:0 0 28px; border-top:1px solid #a7a7a2; }
.service-list li { position:relative; padding:8px 0 8px 24px; font-size:12px; line-height:1.45; border-bottom:1px solid #deded9; }
.service-list li::before { content:""; position:absolute; left:2px; top:13px; width:10px; height:10px; border-radius:50%; background:var(--ink); }
.service-list li::after { content:""; position:absolute; left:5px; top:15px; width:4px; height:2px; border-left:1px solid #fff; border-bottom:1px solid #fff; transform:rotate(-45deg); }
.practice-cta { max-width:max-content; }
.expertise-panel-image { position:sticky; top:126px; overflow:hidden; align-self:start; aspect-ratio:1.08; margin-top:44px; padding:7px; border:1px solid var(--line); background:#f1f1ef; }
.expertise-panel-image::after { content:""; position:absolute; inset:7px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.2)); pointer-events:none; }
.expertise-panel-image img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; filter:grayscale(1) contrast(.95); transform:scale(1.03); transition:opacity .3s,transform .5s; }
.expertise-panel-image:hover img { transform:scale(1.06); }
.expertise-panel.is-entering .expertise-panel-image img { animation:panel-image-in .65s ease both; }
@keyframes panel-image-in { from { clip-path:inset(0 0 100% 0); opacity:0; } to { clip-path:inset(0); opacity:1; } }
.expertise-trust .trust-content { padding-top:61px; padding-bottom:61px; }
@media (max-width:950px) { .expertise-hero-grid { grid-template-columns:1fr .85fr; } .expertise-explorer { grid-template-columns:225px minmax(0,1fr); gap:32px; } .expertise-panel { grid-template-columns:1fr; } .expertise-panel-image { width:min(440px,100%); margin:0 0 8px; position:relative; top:auto; order:-1; aspect-ratio:1.45; } }
@media (max-width:700px) { .expertise-hero-grid { grid-template-columns:1fr; } .expertise-hero-copy { padding:58px 0 44px; } .expertise-hero-visual { min-height:245px; } .expertise-hero-visual > img:first-child { transform:scale(1.07); } .expertise-explorer { display:block; padding-top:52px; padding-bottom:63px; } .expertise-tabs { display:flex; overflow-x:auto; overflow-y:hidden; border-left:0; border-right:0; margin:0 calc((100vw - 100%) / -2) 36px; padding:0 16px; scrollbar-width:thin; } .expertise-tab { flex:0 0 auto; width:auto; min-height:61px; grid-template-columns:20px auto; padding:0 14px; border:0; border-right:1px solid var(--line); font-size:14px; white-space:nowrap; } .expertise-tab > i:last-child { display:none; } .expertise-tab[aria-selected="true"] { padding-left:14px; } .expertise-panel { min-height:0; } .expertise-panel-content h2 { font-size:45px; } .expertise-panel-image { width:100%; max-width:none; aspect-ratio:1.45; } .service-list li { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .expertise-heading-lines span { opacity:1; transform:none; } .expertise-hero-visual > img:first-child { clip-path:inset(0); } .expertise-panel.is-entering { animation:none; } }

/* Publications */
.privacy-policy-hero { padding:clamp(84px,12vw,156px) 0 clamp(54px,8vw,95px); overflow:hidden; background:#f4f4f2; border-bottom:1px solid var(--line); }
.privacy-policy-hero-inner { position:relative; display:flex; align-items:center; justify-content:space-between; gap:48px; }
.privacy-policy-hero .eyebrow { margin-bottom:18px; }
.privacy-policy-hero h1 { max-width:730px; margin:0 0 23px; font-size:clamp(60px,8vw,118px); line-height:.88; letter-spacing:-.065em; }
.privacy-policy-hero h1 em { font-style:normal; }
.privacy-policy-hero-inner > div > p:not(.eyebrow) { max-width:465px; margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.privacy-policy-hero-owl { width:clamp(235px,31vw,390px); flex:0 0 auto; filter:grayscale(1) brightness(.51) contrast(100); mix-blend-mode:darken; opacity:.2; }
.privacy-policy-content { max-width:900px; padding-top:clamp(55px,8vw,92px); padding-bottom:clamp(70px,10vw,120px); }
.privacy-policy-content > p { max-width:785px; margin:0 0 20px; font-size:15px; line-height:1.75; }
.privacy-policy-content section { padding:33px 0 37px; border-top:1px solid var(--line); }
.privacy-policy-content h2 { margin:0 0 17px; font-size:clamp(30px,3.4vw,47px); line-height:1; }
.privacy-policy-content h3 { margin:25px 0 10px; font:700 10px var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.privacy-policy-content p,.privacy-policy-content li { font-size:13px; line-height:1.72; }
.privacy-policy-content p { margin:0 0 15px; }
.privacy-policy-content ul { display:grid; gap:10px; margin:17px 0 0; padding-left:20px; }
.privacy-policy-content a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:600px) { .privacy-policy-hero { padding-top:82px; } .privacy-policy-hero-inner { align-items:flex-end; gap:18px; } .privacy-policy-hero-owl { width:165px; margin-bottom:5px; } .privacy-policy-content { padding-top:49px; } .privacy-policy-content section { padding:28px 0 31px; } .privacy-policy-content > p { font-size:14px; } }
.publications-hero { overflow:hidden; background:#f4f4f2; }
.publications-hero-grid { min-height:436px; display:grid; grid-template-columns:minmax(330px,.92fr) 1.08fr; align-items:stretch; }
.publications-hero-copy { position:relative; z-index:1; align-self:center; padding:68px 5vw 68px 2px; }
.publications-hero-copy .eyebrow { margin-bottom:23px; }
.publications-hero-copy p:not(.eyebrow) { max-width:440px; margin:0; font-size:13px; }
.publications-hero-visual { position:relative; min-height:370px; overflow:hidden; background:#202020; }
.publications-hero-visual::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.2); }
.publications-hero-visual > img:first-child { width:100%; height:100%; max-width:none; object-fit:cover; filter:grayscale(1) contrast(.9); transform:scale(1.04); animation:expertise-mask-in 1.05s cubic-bezier(.2,.75,.25,1) both; }
.publications-section { padding:64px 0 98px; }
.publication-controls { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:20px; }
.publication-search { min-height:43px; width:230px; display:flex; align-items:center; gap:11px; border:1px solid #aaa; padding:0 13px; }
.publication-search i { font-size:13px; }
.publication-search input { min-width:0; flex:1; border:0; outline:0; font:11px var(--sans); background:transparent; }
.publication-search:focus-within { outline:3px solid #005fcc; outline-offset:3px; }
.publication-law-filter { display:flex; gap:7px; flex:1; }
.filter-button,.publication-sort { min-height:40px; border:1px solid var(--line); padding:0 12px; background:transparent; color:var(--ink); font:700 9px var(--sans); text-transform:uppercase; letter-spacing:.06em; transition:background .25s,color .25s; }
.filter-button { cursor:pointer; }
.filter-button:hover,.filter-button.active { background:var(--ink); color:#fff; }
.filter-button:focus-visible,.publication-sort:focus-within { outline:2px solid #005fcc; outline-offset:2px; }
.publication-sort { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.publication-sort select { padding:0 2px 0 4px; border:0; background:transparent; color:var(--ink); font:700 9px var(--sans); text-transform:uppercase; letter-spacing:.06em; outline:0; }
.publication-status { min-height:18px; margin:0 0 12px; color:var(--muted); font-size:11px; }
.featured-publication { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:36px; padding:17px; border:1px solid var(--line); margin-bottom:17px; }
.featured-publication-image { align-self:start; overflow:hidden; min-height:0; aspect-ratio:3 / 2; background:#ddd; }
.featured-publication-image img { height:100%; width:100%; object-fit:cover; filter:grayscale(1); transition:transform .5s; }
.featured-publication:hover .featured-publication-image img { transform:scale(1.045); }
.featured-publication-copy { align-self:center; max-width:610px; padding:24px 14px 22px 0; }
.publication-category { margin:0 0 10px; color:#555; text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:700; }
.featured-publication h2,.publication-item h2 { margin:0 0 11px; font-size:clamp(26px,2.8vw,40px); }
.featured-publication h2 a,.publication-item h2 a { transition:color .25s; }
.featured-publication h2 a:hover,.publication-item h2 a:hover { color:#555; }
.publication-meta { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 17px; color:#666; font-size:10px; }
.publication-meta span { padding-left:12px; border-left:1px solid #bbb; }
.featured-publication-copy > p:not(.publication-category):not(.publication-meta) { max-width:555px; font-size:12px; line-height:1.65; }
.publication-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.publication-item { display:grid; grid-template-columns:1fr; border:1px solid var(--line); min-height:0; overflow:hidden; transition:opacity .3s,transform .3s; }
.publication-item.is-filtered-in { animation:publication-in .45s ease both; }
@keyframes publication-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.publication-image { overflow:hidden; aspect-ratio:3 / 2; background:#ddd; }
.publication-image img { width:100%; height:100%; max-width:none; object-fit:cover; filter:grayscale(1); transition:transform .5s; }
.publication-item:hover .publication-image img { transform:scale(1.06); }
.publication-card-copy { display:flex; flex-direction:column; padding:22px 22px 18px; }
.publication-item h2 { font-size:25px; line-height:1.05; }
.publication-item .publication-meta { margin-bottom:13px; font-size:9px; }
.publication-card-copy > p:not(.publication-category):not(.publication-meta) { margin:0 0 15px; font-size:11px; line-height:1.55; }
.publication-card-copy .text-link { margin-top:auto; }
.publication-empty { padding:33px 0; text-align:center; color:var(--muted); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1030px) { .publication-controls { justify-content:flex-start; } .publication-law-filter { flex:0 1 auto; flex-wrap:wrap; } .featured-publication { grid-template-columns:.85fr 1.15fr; } .publication-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .publications-hero-grid { grid-template-columns:1fr; } .publications-hero-copy { padding:58px 0 44px; } .publications-hero-visual { min-height:240px; } .publications-section { padding:43px 0 62px; } .publication-controls { align-items:stretch; } .publication-search { width:100%; } .publication-law-filter { overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; } .filter-button { white-space:nowrap; flex:0 0 auto; } .publication-sort { width:max-content; } .featured-publication { display:block; padding:0; } .featured-publication-image { min-height:225px; } .featured-publication-copy { padding:23px 19px 25px; } .publication-grid { gap:13px; } .publication-item { grid-template-columns:1fr; } .publication-image { min-height:185px; } .publication-image img { max-height:250px; } .publication-card-copy { padding:21px 18px; } .publication-item h2 { font-size:29px; } }
@media (prefers-reduced-motion:reduce) { .publications-hero-visual > img:first-child { clip-path:inset(0); } .publication-item.is-filtered-in { animation:none; } }
@media (max-width:700px) { .featured-publication-image,.publication-image { min-height:0; } .publication-image img { max-height:none; } }

/* Contact */
.site-header-dark { background:#101010; color:#fff; }
.site-header-dark.scrolled { background:rgba(16,16,16,.96); border-color:#3a3a3a; box-shadow:0 5px 22px rgba(0,0,0,.18); }
.site-header-dark .desktop-nav a::after { background:#fff; }
.site-header-dark .header-cta { border-color:#aaa; }
.site-header-dark .header-cta:hover { color:var(--ink); }
.site-header-dark .brand-logo-light { filter:invert(1); }
.site-header-dark .menu-toggle span { background:#fff; }
.contact-hero { position:relative; min-height:410px; overflow:hidden; color:#fff; background:#141414; }
.contact-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#101010 24%,rgba(16,16,16,.78)); }
.contact-hero-image { position:absolute; z-index:0; top:0; right:0; width:58%; height:100%; max-width:none; object-fit:cover; object-position:center; filter:grayscale(1) contrast(.92); }
.contact-hero-owl { position:absolute; right:-90px; top:-195px; width:min(70vw,890px); opacity:.1; filter:grayscale(1) brightness(4); }
.contact-hero-inner { position:relative; z-index:1; padding:87px 0 68px; }
.contact-hero .eyebrow { margin-bottom:22px; }
.contact-heading-lines { display:flex; flex-direction:column; margin:0; font:500 clamp(66px,8vw,125px)/.92 var(--serif); letter-spacing:-.065em; }
.contact-heading-lines span { opacity:0; transform:translateY(28px); animation:team-heading-in .82s forwards cubic-bezier(.2,.75,.25,1); }
.contact-heading-lines span:nth-child(2) { animation-delay:.14s; }
.contact-heading-lines em { font-style:normal; }
.contact-hero-inner > p:not(.eyebrow) { max-width:390px; margin:25px 0 0; font-size:14px; }
.contact-main { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:clamp(55px,8vw,145px); align-items:start; padding-top:74px; padding-bottom:85px; }
.contact-details > .eyebrow { display:flex; gap:18px; align-items:center; margin-bottom:13px; }
.contact-details > .eyebrow::after { content:""; width:70px; height:1px; background:var(--line); }
.contact-detail { display:grid; grid-template-columns:43px 1fr; gap:17px; align-items:center; min-height:80px; border-bottom:1px solid var(--line); }
.contact-detail > i { display:grid; place-items:center; width:38px; height:38px; color:#fff; background:var(--ink); border-radius:50%; font-size:15px; }
.contact-detail h2 { margin:0 0 2px; font:700 9px var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.contact-detail span,.contact-detail a { font-size:14px; line-height:1.38; }
.contact-detail a:hover { text-decoration:underline; }
.directions-block { padding-top:27px; }
.directions-block .eyebrow { margin-bottom:12px; }
.map-frame { display:block; height:184px; overflow:hidden; border:1px solid var(--line); filter:grayscale(1); transition:filter .3s,transform .3s; }
.map-frame:hover { filter:grayscale(.35); transform:translateY(-2px); }
.map-frame iframe { width:100%; height:100%; border:0; pointer-events:none; }
.map-link { margin-top:15px; min-height:41px; }
.contact-form-card { padding:42px; border:1px solid var(--line); box-shadow:0 10px 28px rgba(0,0,0,.06); background:#fff; }
.contact-form-card .eyebrow { margin-bottom:13px; }
.contact-form-card h2 { font-size:clamp(39px,4vw,60px); margin:0 0 28px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 17px; }
.form-field { min-width:0; display:grid; gap:7px; align-content:start; }
.form-field-full { grid-column:1 / -1; }
.form-field label { font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.form-field input,.form-field textarea { width:100%; border:1px solid #d0d0cc; border-radius:0; outline:0; background:#fbfbfa; padding:12px 13px; color:var(--ink); font:13px var(--sans); line-height:1.45; transition:border-color .2s,box-shadow .2s,background .2s; }
.form-field input { height:46px; }
.form-field textarea { resize:vertical; min-height:145px; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--ink); background:#fff; box-shadow:0 0 0 3px rgba(0,0,0,.09); }
.form-field.is-invalid input,.form-field.is-invalid textarea { border-color:#a10000; }
.form-hint,.form-error { font-size:10px; line-height:1.35; }
.form-hint { color:var(--muted); }
.form-error { min-height:13px; color:#a10000; }
.form-status { min-height:18px; margin:21px 0 10px; font-size:11px; }
.form-status.is-sending { color:#444; }
.form-submit { width:100%; margin-top:2px; }
.contact-band { background:#131313; color:#fff; border-bottom:1px solid #414141; }
.contact-band-inner { display:grid; grid-template-columns:1fr 1.1fr; gap:45px; align-items:center; padding:47px 0; }
.contact-band-inner .eyebrow { margin-bottom:13px; }
.contact-band h2 { margin:0; font-size:clamp(31px,3vw,46px); }
.contact-band h2 em { font-style:normal; }
.contact-band-links { display:flex; justify-content:flex-end; gap:44px; }
.contact-band-links a { display:flex; gap:13px; align-items:center; }
.contact-band-links i { display:grid; width:46px; height:46px; place-items:center; border:1px solid #aaa; border-radius:50%; font-size:16px; }
.contact-band-links span { color:#d0d0d0; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.contact-band-links strong { display:block; color:#fff; font-size:13px; letter-spacing:0; text-transform:none; margin-top:2px; }
@media (max-width:800px) { .contact-main { grid-template-columns:1fr; gap:52px; padding-top:58px; } .contact-details { max-width:610px; } .contact-form-card { padding:32px; } .contact-band-inner { grid-template-columns:1fr; gap:30px; } .contact-band-links { justify-content:flex-start; } }
@media (max-width:540px) { .contact-hero { min-height:360px; } .contact-hero-image { width:100%; opacity:.36; } .contact-hero-inner { padding-top:70px; } .contact-heading-lines { font-size:78px; } .contact-main { padding-top:45px; padding-bottom:59px; } .contact-form-card { padding:25px 18px; margin:0 -2px; } .form-grid { grid-template-columns:1fr; } .form-field-full { grid-column:auto; } .contact-band-inner { padding:42px 0; } .contact-band-links { flex-direction:column; gap:18px; } }
@media (prefers-reduced-motion:reduce) { .contact-heading-lines span { opacity:1; transform:none; } }

/* Article CMS */
.cms-page { min-height:100vh; background:#f2f2f0; }
.cms-main { padding-top:clamp(72px,9vw,125px); padding-bottom:clamp(62px,8vw,110px); }
.cms-intro { max-width:675px; margin-bottom:clamp(42px,6vw,72px); }
.cms-intro .eyebrow { margin-bottom:14px; }
.cms-intro h1 { margin:0 0 18px; font-size:clamp(48px,6.2vw,88px); line-height:.95; letter-spacing:-.06em; }
.cms-intro h1 em { font-style:normal; }
.cms-intro > p:not(.eyebrow) { max-width:580px; margin:0; font-size:14px; line-height:1.65; }
.cms-layout { display:grid; grid-template-columns:minmax(300px,.92fr) minmax(390px,1.08fr); gap:clamp(28px,4vw,58px); align-items:start; }
.cms-form-card,.cms-list-card { background:#fff; border:1px solid var(--line); }
.cms-form-card { padding:clamp(23px,3vw,42px); }
.cms-list-card { padding:clamp(23px,3vw,37px); }
.cms-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding-bottom:22px; margin-bottom:26px; border-bottom:1px solid var(--line); }
.cms-card-heading .eyebrow { margin:0 0 8px; }
.cms-card-heading h2 { margin:0; font-size:clamp(31px,3.1vw,46px); }
.cms-text-button { border:0; border-bottom:1px solid currentColor; padding:2px 0; background:transparent; color:var(--ink); font:700 10px var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:color .2s; }
.cms-text-button:hover { color:#5f5f5c; }
.cms-text-button:focus-visible,.cms-icon-button:focus-visible { outline:2px solid #005fcc; outline-offset:3px; }
.cms-reset-button { color:#5d2525; }
.cms-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 16px; }
.cms-field { min-width:0; display:grid; gap:7px; align-content:start; }
.cms-field-full { grid-column:1 / -1; }
.cms-field label { font:700 9px var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.cms-optional { color:var(--muted); font-weight:500; letter-spacing:.02em; text-transform:none; }
.cms-field input,.cms-field textarea,.cms-field select { width:100%; min-height:44px; border:1px solid #cfcfca; border-radius:0; outline:0; background:#fafaf9; padding:10px 12px; color:var(--ink); font:13px var(--sans); line-height:1.45; transition:border-color .2s,box-shadow .2s,background .2s; }
.cms-field input[type="file"] { padding:9px; font-size:11px; }
.cms-field textarea { min-height:138px; resize:vertical; }
.cms-field input:focus,.cms-field textarea:focus,.cms-field select:focus { border-color:var(--ink); background:#fff; box-shadow:0 0 0 3px rgba(0,0,0,.09); }
.cms-field [aria-invalid="true"] { border-color:#a10000; }
.cms-field-help,.cms-field-error { margin:0; font-size:10px; line-height:1.4; }
.cms-field-help { color:var(--muted); }
.cms-field-error { min-height:12px; color:#a10000; }
.cms-file-selection { display:flex; align-items:center; gap:8px; margin:3px 0 0; color:var(--muted); font-size:11px; }
.cms-file-selection[hidden] { display:none; }
.cms-file-selection i { color:#8a2222; font-size:14px; }
.cms-file-selection .cms-text-button { margin-left:auto; color:#6d1b1b; font-size:8px; }
.cms-image-preview { display:grid; grid-template-columns:115px 1fr; gap:15px; align-items:center; padding:14px 0; margin:22px 0 4px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cms-image-preview[hidden] { display:none; }
.cms-image-preview img { width:115px; height:78px; max-width:none; object-fit:cover; filter:grayscale(1); }
.cms-image-preview figcaption { color:var(--muted); font-size:11px; line-height:1.45; }
.cms-form-status { min-height:18px; margin:19px 0 10px; font-size:11px; }
.cms-form-status.is-error { color:#a10000; }
.cms-submit { width:100%; justify-content:center; }
.cms-list-summary { margin:-10px 0 20px; color:var(--muted); font-size:11px; }
.cms-article-list { border-top:1px solid var(--line); }
.cms-article-row { display:grid; grid-template-columns:118px minmax(0,1fr) auto; gap:17px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.cms-article-row > img { width:118px; height:82px; max-width:none; object-fit:cover; background:#e0e0dd; filter:grayscale(1); }
.cms-article-title-row { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.cms-article-details .publication-category { margin:0 0 5px; }
.cms-article-details h3 { margin:0 0 7px; font:600 20px/1.08 var(--serif); }
.cms-article-details > p { margin:0; color:var(--muted); font-size:10px; }
.cms-status { flex:0 0 auto; padding:4px 6px; font:700 8px var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.cms-status-published { color:#fff; background:#1a1a1a; }
.cms-status-draft { border:1px solid #aaa; color:#555; }
.cms-row-actions { display:flex; flex-direction:column; gap:7px; }
.cms-icon-button { min-width:70px; padding:6px 4px; border:0; background:transparent; color:var(--ink); font:700 9px var(--sans); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.cms-icon-button i { margin-right:5px; }
.cms-icon-button:hover { background:#ededeb; }
.cms-delete-button { color:#6d1b1b; }
.cms-empty-state { margin:0; padding:30px 0; color:var(--muted); font-size:13px; }
.cms-footer { color:#dadada; background:#101010; }
.cms-footer > div { display:flex; justify-content:space-between; gap:20px; padding-top:21px; padding-bottom:21px; font-size:10px; }
@media (max-width:920px) { .cms-layout { grid-template-columns:1fr; } .cms-list-card { order:2; } }
@media (max-width:560px) { .cms-main { padding-top:62px; } .cms-form-grid { grid-template-columns:1fr; } .cms-field-full { grid-column:auto; } .cms-form-card,.cms-list-card { padding:22px 17px; } .cms-card-heading { margin-bottom:21px; padding-bottom:18px; } .cms-article-row { grid-template-columns:78px minmax(0,1fr); gap:12px; } .cms-article-row > img { width:78px; height:78px; } .cms-article-details h3 { font-size:18px; } .cms-row-actions { grid-column:1 / -1; display:flex; flex-direction:row; } .cms-icon-button { border:1px solid var(--line); } .cms-image-preview { grid-template-columns:90px 1fr; } .cms-image-preview img { width:90px; height:65px; } .cms-footer > div { flex-direction:column; gap:5px; } }
.cms-login { width:100%; max-width:32rem; margin-bottom:3rem; }
.cms-login h2 { font:500 clamp(2rem,5vw,2.75rem) var(--serif); margin:0 0 1.5rem; }
.cms-login .cms-field + .cms-field { margin-top:1.25rem; }
.cms-login input,.cms-page .cms-field input,.cms-page .cms-field select,.cms-page .cms-field textarea { font-size:1rem; }
.cms-login .button { min-height:3rem; }
.cms-session { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding:0 0 1.5rem; }
.cms-session .cms-text-button { min-height:2.75rem; }
.cms-page .cms-text-button,.cms-page .cms-icon-button { min-height:2.75rem; }
.cms-page [hidden] { display:none !important; }
@media (min-width:700px) { .cms-session { flex-direction:row; align-items:center; justify-content:space-between; } }
