
:root{--ink:#2B2B29;--ink-2:#4F4F4B;--muted:#7C7C76;--paper:#F7F6F2;--white:#FFFFFF;--line:#DAD8D0;--rule:#2B2B29;--brass:#B8952A;--brass-deep:#9A7A1F;--silver:#949CA1;--serif:"EB Garamond",Garamond,"Times New Roman",serif;--sans:"Jost","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
p{margin:0 0 14px}
.label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.logo svg{height:66px;width:auto;display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.nav ul a{padding:6px 0;border-bottom:1px solid transparent}.nav ul a:hover{border-bottom-color:var(--brass)}
.nav .tel{font-family:var(--serif);font-size:19px;white-space:nowrap}
.burger{display:none}
/* hero */
.hero{background:var(--white)}
.hero .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:stretch;min-height:640px;max-width:none;padding-right:0;padding-left:max(clamp(16px,4vw,40px),calc((100vw - 1140px)/2 + 40px))}
.hero .copy{padding-block:clamp(56px,8vw,112px);display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(40px,5.2vw,68px);letter-spacing:-.01em;margin-bottom:22px}
.hero .lede{font-family:var(--serif);font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--ink-2);max-width:32em;margin-bottom:30px}
.actions{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.btn{display:inline-block;background:var(--brass);color:var(--white);font-weight:500;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;padding:16px 28px;border-radius:2px}
.btn:hover{background:var(--brass-deep)}
.textlink{font-family:var(--serif);font-size:18px;border-bottom:1px solid var(--brass);padding-bottom:1px}
.portrait{position:relative;min-height:520px;background:#E9E7E0}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%}
/* credentials line */
.credline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.credline p{margin:0;padding-block:20px;font-family:var(--serif);font-size:18px;color:var(--ink-2);line-height:1.6}
/* sections */
.sec{padding-block:clamp(64px,8vw,112px)}
.sec.white{background:var(--white)}
.sec h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:20px;max-width:20em}
.lead{font-size:18px;color:var(--ink-2);max-width:60ch;margin-bottom:40px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:start}
.statement{font-family:var(--serif);font-size:clamp(24px,2.8vw,36px);line-height:1.3;max-width:26em;margin:0 0 40px}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);border-top:1px solid var(--rule);padding-top:28px}
.case .yr{font-family:var(--serif);font-size:30px;line-height:1;margin-bottom:6px}
.case .court{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.case h3{font-size:22px;font-style:italic;margin-bottom:8px}
.case p{font-size:15.5px;color:var(--ink-2);margin:0}
/* practice */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);border-top:1px solid var(--rule);padding-top:32px}
.pillar h3{font-size:26px;margin-bottom:12px}
.pillar p{color:var(--ink-2);font-size:16px}
.pillar .k{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
.pillar ul{list-style:none;margin:0;padding:0;font-size:15px;color:var(--ink-2)}
.pillar li{padding:7px 0;border-top:1px solid var(--line)}
/* ledger */
.ledger{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:72px 1fr 220px;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.row .yr{font-family:var(--serif);font-size:20px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.row h3{font-size:21px;margin-bottom:6px}
.row p{font-size:15px;color:var(--ink-2);margin:0;max-width:60ch}
.row .out{font-family:var(--serif);font-size:20px;line-height:1.25;text-align:right}
.row .out small{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.disclaimer{font-size:13.5px;color:var(--muted);margin-top:22px;max-width:70ch}
/* photo + text */
.photo{position:relative;background:#E9E7E0}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.tall{aspect-ratio:4/5;max-width:420px}
.photo.wide{aspect-ratio:3/2}
.rule-brass{width:56px;height:4px;background:var(--brass);margin:0 0 22px}
.firsts{list-style:none;margin:26px 0 0;padding:0}
.firsts li{padding:12px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink-2)}
.firsts b{font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ink);display:block}
/* contact */
.contact{background:var(--white)}
.contact .lines{font-family:var(--serif);font-size:22px;line-height:1.5}
.contact .lines small{display:block;font-family:var(--sans);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px}
footer{border-top:4px solid var(--brass);padding-block:40px 32px;font-size:13.5px;color:var(--muted)}
footer .in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px 40px;align-items:flex-start}
footer .logo svg{height:60px}
footer p{margin:0;max-width:64ch}
@media (max-width:980px){.row{grid-template-columns:60px 1fr}.row .out{grid-column:2;text-align:left;margin-top:8px}}
@media (max-width:860px){
  .nav ul{display:none}.burger{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--line);padding:8px 12px;font-family:var(--sans);color:inherit;cursor:pointer;border-radius:2px}
  .nav{flex-wrap:wrap}.nav ul.open{display:flex;flex-direction:column;gap:14px;width:100%;order:3;padding:14px 0 6px;border-top:1px solid var(--line)}
  .hero .grid{grid-template-columns:1fr;min-height:0;padding-inline:clamp(16px,4vw,40px)}.portrait{min-height:460px}
  .two,.pillars,.cases{grid-template-columns:1fr}.photo.tall{max-width:none}
}

/* ===== motion & sticky (adjustable in the script settings below) ===== */
.two.sticky-photo{align-items:start}
.two.sticky-photo .photo{position:sticky;top:var(--sticky-top,120px)}
.js .rv{opacity:0;transform:translateY(var(--rv-distance,18px));transition:opacity var(--rv-duration,.7s) ease,transform var(--rv-duration,.7s) ease}
.js .rv.in{opacity:1;transform:none}
.js .ledger .row{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.js .ledger .row.in{opacity:1;transform:none}
.js .photo img{transition:transform 1.2s ease}
.js .photo.rv:not(.in) img{transform:scale(1.03)}
header{transition:box-shadow .3s ease}
header.scrolled{box-shadow:0 6px 24px rgba(0,0,0,.08)}
@media (prefers-reduced-motion:reduce){.js .rv,.js .ledger .row{opacity:1!important;transform:none!important;transition:none!important}.js .photo img{transition:none!important}.two.sticky-photo .photo{position:static}}
@media (max-width:860px){.two.sticky-photo .photo{position:static}}

/* ===== merged direction: page heads, practice bands, matter rows ===== */
.logo img{height:64px;width:auto;display:block}
footer .logo img{height:58px}
.nav ul a[aria-current="page"]{border-bottom-color:var(--brass)}
.page-head{background:var(--white);border-bottom:1px solid var(--line)}
.page-head .wrap{padding-block:clamp(56px,7vw,104px) clamp(40px,5vw,64px)}
.page-head h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.01em;max-width:16em;margin-bottom:18px}
.page-head .lede{font-family:var(--serif);font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--ink-2);max-width:34em;margin:0}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,96px);align-items:start}
.split-head h2{font-size:clamp(30px,3.4vw,44px);margin:0}
.split-head.sticky{position:sticky;top:var(--sticky-top,120px)}
.split-body .sub{font-family:var(--serif);font-size:clamp(20px,1.8vw,24px);line-height:1.45;color:var(--ink);margin:0 0 22px;max-width:30em}
.split-body p{color:var(--ink-2);max-width:62ch}
.kicker{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin:30px 0 0;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.focus ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(20px,3vw,40px)}
.focus li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink)}
.related ul{list-style:none;margin:0;padding:0}
.related a{display:grid;grid-template-columns:64px 1fr 20px;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:19px;transition:color .2s}
.related a .yr{font-size:16px;color:var(--muted);font-variant-numeric:tabular-nums}
.related a .go{color:var(--brass);transition:transform .25s ease;justify-self:end}
.related a:hover{color:var(--brass-deep)}.related a:hover .go{transform:translateX(4px)}
.more{margin-top:24px}
.band{padding-block:clamp(56px,7vw,104px);border-bottom:1px solid var(--line)}
.band.white{background:var(--white)}
/* header logo, footer, page-head photo, brass rules, wide-screen cap */
.logo.line img{height:44px;width:auto}
footer{border-top:4px solid var(--brass);padding-block:52px 34px;background:var(--white)}
footer .fcols{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr;gap:32px 48px;align-items:start}
footer .logo img{height:72px;width:auto}
footer h4{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin:0 0 12px}
footer .fcols p{margin:0;font-size:14.5px;line-height:1.75;color:var(--ink-2);max-width:none}
footer .fcols a:hover{color:var(--brass-deep)}
footer .legal{margin:36px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);max-width:none}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center}
.ph-photo{aspect-ratio:4/5;max-width:400px;justify-self:end;width:100%;overflow:hidden}
.ph-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.ph-photo::after,.photo.tallish::after{content:"";position:absolute;left:0;bottom:0;width:34%;height:5px;background:var(--brass)}
.photo.tallish{aspect-ratio:5/6;overflow:hidden}
.photo.tallish img{width:100%;height:100%;object-fit:cover;object-position:78% 50%}
.split-head h2::before{content:"";display:block;width:48px;height:4px;background:var(--brass);margin:0 0 22px}
.split-head .label + h2::before{display:none}
/* cap the full-bleed hero on very wide monitors */
@media (min-width:1700px){.hero .grid{max-width:1560px;margin:0 auto;padding-left:calc((1560px - 1140px)/2 + 40px)}.hero{border-bottom:1px solid var(--line)}}
@media (max-width:860px){.ph-grid{grid-template-columns:1fr}footer .fcols{grid-template-columns:1fr 1fr}.logo.line img{height:36px}}
@media (max-width:520px){footer .fcols{grid-template-columns:1fr}}
/* hero background effect: adjust --amp-opacity and --amp-size */
.hero{--amp-opacity:.075;--amp-size:clamp(460px,50vw,780px);position:relative;overflow:hidden;background:linear-gradient(180deg,#FFFFFF 0%,#FBF9F4 100%)}
.hero .grid{position:relative}
.hero .grid::before{content:"&";position:absolute;left:30%;bottom:-30%;font-family:var(--serif);font-style:italic;font-size:var(--amp-size);line-height:1;color:var(--silver);opacity:var(--amp-opacity);pointer-events:none;z-index:0}
.hero .copy,.hero .portrait{position:relative;z-index:1}
@media (max-width:860px){.hero{--amp-size:360px;--amp-opacity:.07}.hero .grid::before{left:38%;bottom:auto;top:-6%}}
h2.label,.sec h2.label{font-family:var(--sans);font-weight:400;font-size:12px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;max-width:none}
/* accessibility */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100;font-size:14px}
.skip:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass-deep);outline-offset:3px;border-radius:2px}
/* long-form prose, credentials table, contact page */
.prose p{font-size:17.5px;line-height:1.7;color:var(--ink-2);max-width:64ch;margin:0 0 18px}
.prose p:first-of-type{font-family:var(--serif);font-size:clamp(21px,1.9vw,25px);line-height:1.45;color:var(--ink);margin-bottom:24px}
.ph-photo img.zoom{transform:scale(1.4);transform-origin:86% 12%}
.bio-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,6vw,96px);align-items:start}
.bio-grid .photo{position:sticky;top:var(--sticky-top,120px)}
.creds-table{width:100%;border-collapse:collapse;border-top:1px solid var(--rule)}
.creds-table th,.creds-table td{text-align:left;vertical-align:top;padding:18px 0;border-bottom:1px solid var(--line)}
.creds-table th{width:210px;font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);padding-right:24px;padding-top:23px}
.creds-table td{font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--ink)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:start}
.contact-block{border-top:1px solid var(--rule)}
.contact-block .item{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.contact-block .k{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500}
.contact-block .v{font-family:var(--serif);font-size:21px;line-height:1.45}
.contact-block .v a{border-bottom:1px solid transparent}.contact-block .v a:hover{border-bottom-color:var(--brass)}
.draft-flag{display:inline-block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#5A4600;background:#FFF7DC;border:1px solid #E7D89A;padding:6px 10px;margin-bottom:22px}
.legal-prose h2{font-size:26px;margin:38px 0 10px}
.legal-prose p{font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:68ch;margin:0 0 14px}
@media (max-width:860px){.bio-grid,.contact-grid{grid-template-columns:1fr}.bio-grid .photo{position:static}.creds-table th{width:auto;display:block;padding-bottom:0;border-bottom:0}.creds-table td{display:block;padding-top:6px}.contact-block .item{grid-template-columns:1fr;gap:4px}}
/* image corner radius */
:root{--radius:10px}
.photo,.photo.tall,.photo.tallish,.ph-photo{border-radius:var(--radius);overflow:hidden}
.photo img,.ph-photo img{border-radius:var(--radius)}
.hero .portrait{border-radius:var(--radius) 0 0 var(--radius);overflow:hidden}
.hero .portrait img{border-radius:var(--radius) 0 0 var(--radius)}
.ph-photo::after,.photo.tallish::after,.photo::after{border-bottom-left-radius:var(--radius)}
@media (max-width:860px){.hero .portrait,.hero .portrait img{border-radius:var(--radius)}}
@media (min-width:1700px){.hero .portrait,.hero .portrait img{border-radius:var(--radius)}}
/* calmer ground: one paper tone, hairline dividers, no watermark, tighter rhythm */
.sec.white{background:transparent}
.sec{border-top:1px solid var(--line);padding-block:clamp(52px,6vw,84px)}
.hero+.credline+.sec,.credline+.sec{border-top:0}
.credline{background:transparent;border-top:1px solid var(--line);border-bottom:0}
.hero .grid::before{display:none}
.hero{background:var(--white)}
.contact{background:transparent;border-top:1px solid var(--line)}
footer{background:var(--white)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:start}
.duo h2{font-size:clamp(26px,2.8vw,34px);margin-bottom:12px}
.duo p{color:var(--ink-2);font-size:16px}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
/* background effects: --grain-opacity, --glow-opacity adjustable */
:root{--grain-opacity:.045;--glow-opacity:.9}
body{position:relative}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0 0 0 0 0 .5'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:var(--grain-opacity);mix-blend-mode:multiply}
header,main,footer,.hero{background:radial-gradient(ellipse 70% 90% at 22% 40%,rgba(255,255,255,var(--glow-opacity)) 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#FFFFFF 0%,#F9F8F4 100%)}
.sec{background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 38%)}
.credline{background:linear-gradient(180deg,#FFFFFF 0%,rgba(255,255,255,0) 100%)}
.contact{background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 40%)}
.page-head{background:radial-gradient(ellipse 60% 100% at 18% 50%,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#FFFFFF,#F9F8F4)}
/* ribbons: crisp hairline bundles, edge-masked so nothing clips. --ribbon-opacity adjustable */
:root{--ribbon-opacity:1}
.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-navy.svg) center/cover no-repeat;opacity:var(--ribbon-opacity);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,0) 70%);mask-image:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,0) 70%)}
.hero .grid{position:relative;z-index:1}
.page-head{position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-navy.svg) right center/cover no-repeat;opacity:.8;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.9) 60%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.9) 60%)}
.page-head .wrap{position:relative;z-index:1}
.contact{position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-navy.svg) right center/cover no-repeat;opacity:.55;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.9) 75%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.9) 75%)}
.contact .wrap{position:relative;z-index:1}
/* section textures: alternate sides, masked, lower than hero. --sec-ribbon adjustable */
:root{--sec-ribbon:.6}
.sec{position:relative}
.sec>.wrap{position:relative;z-index:1}
#trial::after,#practice::after,#matters::after,#mediation::after,#biography::after,#credentials::after,#enquire::after,.band::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-navy.svg) center/cover no-repeat;opacity:var(--sec-ribbon)}
#trial::after,#matters::after,#biography::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 48%,rgba(0,0,0,.9) 78%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 48%,rgba(0,0,0,.9) 78%)}
#practice::after,#mediation::after,#credentials::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.9) 18%,rgba(0,0,0,0) 46%);mask-image:linear-gradient(90deg,rgba(0,0,0,.9) 18%,rgba(0,0,0,0) 46%);background-position:left center}
.band{position:relative}.band>.wrap{position:relative;z-index:1}
.band:nth-of-type(odd)::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.8) 80%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.8) 80%);opacity:.3}
.band:nth-of-type(even)::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.8) 15%,rgba(0,0,0,0) 40%);mask-image:linear-gradient(90deg,rgba(0,0,0,.8) 15%,rgba(0,0,0,0) 40%);opacity:.3;background-position:left center}
@media (max-width:860px){#trial::after,#practice::after,#matters::after,#mediation::after,#biography::after,#credentials::after,.band::after{opacity:.2}}
.contact .cta{max-width:720px;text-align:center}
.contact .cta h2{font-size:clamp(32px,3.8vw,48px);margin-bottom:14px;max-width:none}
.contact .cta p{font-size:18px;color:var(--ink-2);max-width:34em;margin:0 auto 26px}
.contact .cta .actions{justify-content:center}
.contact::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 68%,rgba(0,0,0,.8) 100%);mask-image:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 68%,rgba(0,0,0,.8) 100%);background-position:center}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-2);box-shadow:none}.btn.ghost:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.cta .label{justify-content:center;color:var(--brass-deep);font-weight:500}
.cta .actions{gap:16px}
.statement-h{font-size:clamp(24px,2.6vw,34px);line-height:1.3;max-width:28em;margin-bottom:40px}
/* home practice preview */
.practices{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,5vw,80px);border-top:1px solid var(--rule)}
.practice{padding:30px 0 28px;border-bottom:1px solid var(--line)}
.practice h3{font-size:27px;margin-bottom:10px}
.practice p{color:var(--ink-2);font-size:16px;margin-bottom:12px;max-width:44ch}
.practice .incl{font-size:14.5px;color:var(--muted)}
.row h3 a:hover{color:var(--brass-deep)}
.row .cat{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:6px}
.row:target{background:#FBF6E6;box-shadow:-16px 0 0 #FBF6E6,16px 0 0 #FBF6E6}
.case:target h3{color:var(--brass-deep)}
html{scroll-padding-top:120px}
@media (max-width:860px){.split,.practices{grid-template-columns:1fr}.split-head.sticky{position:static}.focus ul{grid-template-columns:1fr}.related a{grid-template-columns:52px 1fr 16px}}

/* ===== polish pass (colleague, 2026-10-15), textures kept at two-thirds ===== */
:root{--muted:#686962;--line:#D8D4CA}
.label,.case .court,.row .out small{letter-spacing:.13em}
.textlink{padding-bottom:3px}
.btn{transition:background .2s ease,box-shadow .2s ease}
.btn:hover{box-shadow:0 3px 12px rgba(30,35,35,.09)}
footer{border-top-width:2px}
footer .legal{font-size:13px;line-height:1.65}
@media(max-width:860px){
 .nav{gap:16px;padding-block:10px}
 .hero .copy{padding-block:36px 28px}
 .hero .grid{row-gap:0}
 .hero h1{margin-bottom:20px}
 .hero .lede{margin-bottom:24px}
 .sec{padding-block:48px}
 .two,.duo{gap:28px}
 footer{padding-block:36px 24px}
 footer .fcols{row-gap:24px}
 footer h4{margin-bottom:8px}
 footer .legal{margin-top:26px;padding-top:16px}
}

:root{--paper:#F6F3EC;--white:#FEFDF9;--brass:#AD923D;--brass-deep:#806923;--ribbon-opacity:.85}
.hero{background:linear-gradient(180deg,#FEFDFB,#F8F5EF)}
.hero::after{mask-image:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.35) 58%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.35) 58%,#000 100%)}
.contact::after{opacity:.20}
.sec{background:none}
.credline{background:#FAF8F3}
.practice .incl{color:#676861}
footer .legal{color:#686962}
.rule-brass{height:2px}
.photo.tallish::after{height:2px}
@media(max-width:860px){
 .hero .copy{padding-bottom:28px}
 .hero::after{opacity:.45}
 .hero .portrait{margin-top:0}
 .row{grid-template-columns:1fr;gap:8px;padding-block:24px}
 .row .yr{font-size:17px}
 .row .out{grid-column:1;margin-top:8px}
 .row h3{font-size:23px}
 .row p{font-size:16px}
}


/* ===== hover and motion polish ===== */
a,.btn,.textlink,.row,.practice,.related a,.approach>div,.areas li,.focus li,.case,.contact-block .item,.pillar{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,opacity .3s ease}
.textlink{position:relative;border-bottom:0;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat}
.textlink{background-image:linear-gradient(var(--brass),var(--brass))}
.textlink:hover{background-size:100% 2px;color:var(--brass-deep)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}
.btn:active{transform:translateY(0)}
.nav ul a{position:relative;border-bottom:0}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav ul a:hover::after,.nav ul a[aria-current="page"]::after{transform:scaleX(1)}
.row{position:relative;padding-inline:14px;margin-inline:-14px;border-radius:6px}
.row:hover{background:rgba(255,255,255,.55)}
.row::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--brass);transform:scaleY(0);transition:transform .3s ease}
.row:hover::before{transform:scaleY(1)}
.row h3 a{display:inline-block}.row:hover h3 a{color:var(--brass-deep)}
.practice{position:relative;padding-inline:14px;margin-inline:-14px;border-radius:6px}
.practice:hover{background:rgba(255,255,255,.6)}
.practice:hover h3{color:var(--brass-deep)}
.practice .textlink{opacity:.85}.practice:hover .textlink{opacity:1}
.related a:hover{background:rgba(255,255,255,.6);padding-left:8px}
.approach>div{padding-inline:12px;margin-inline:-12px;border-radius:6px}
.approach>div:hover{background:rgba(255,255,255,.65)}
.approach>div:hover h3{color:var(--brass-deep)}
.areas li{padding-left:0;transition:padding-left .3s ease,color .25s ease}
.areas li:hover{padding-left:10px;color:var(--brass-deep)}
.focus li:hover{color:var(--brass-deep)}
.case{padding:12px;margin:-12px;border-radius:6px}
.case:hover{background:rgba(255,255,255,.6)}
.case:hover h3{color:var(--brass-deep)}
.photo{overflow:hidden}.photo img,.hero .portrait img{transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.photo:hover img,.hero .portrait:hover img{transform:scale(1.03)}
.contact-block .item:hover .v a{color:var(--brass-deep)}
footer .fcols a{background-image:linear-gradient(var(--brass),var(--brass));background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s ease,color .25s ease}
footer .fcols a:hover{background-size:100% 1px;color:var(--brass-deep)}
.logo img{transition:opacity .25s ease}.logo:hover img{opacity:.8}
@media (prefers-reduced-motion:reduce){a,.btn,.row,.practice,.related a,.approach>div,.areas li,.case,.photo img,.hero .portrait img{transition:none!important;transform:none!important}}
@media (hover:none){.row:hover,.practice:hover,.approach>div:hover,.case:hover{background:transparent}}

/* ===== Larry Nokes Mediation: own palette and sections ===== */
:root{--navy:#1F3242;--navy-deep:#16252F;--ink:#22303A;--ink-2:#4B5760;--muted:#7B858C;--paper:#F8F5EF;--bone:#EFE9DD;--white:#FFFFFF;--line:#DDD8CE;--rule:#22303A;--brass:#1F3242;--brass-deep:#16252F;--sand:#D9CDB8;--gold:#C89B3C}
body{background:var(--paper)}
header{background:var(--paper)}
.nav ul a:hover,.nav ul a[aria-current="page"]{border-bottom-color:var(--gold)}
.wordmark{display:flex;align-items:center;gap:14px}
.wordmark span{font-family:var(--serif);font-size:19px;letter-spacing:.02em;color:var(--navy);border-left:1px solid var(--line);padding-left:14px;line-height:1}
.nav .book{display:inline-block;background:var(--navy);color:var(--white);font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;border-radius:2px}
.nav .book:hover{background:var(--navy-deep)}
.btn{background:var(--navy);color:var(--white)}.btn:hover{background:var(--navy-deep)}
.textlink{border-bottom-color:var(--gold)}
h1,h2,h3{color:var(--navy)}
/* hero: navy ground, portrait framed right */
.hero{background:var(--navy);color:var(--white)}
.hero .grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;min-height:0;max-width:1140px;padding-inline:clamp(16px,4vw,40px);padding-block:clamp(56px,7vw,96px)}
.hero .grid::before{display:none}
.hero .copy{padding-block:0}
.hero .label{color:var(--sand)}
.hero h1{color:var(--white);font-size:clamp(36px,4.6vw,58px);max-width:13em}
.hero .lede{color:#D9DEE2}
.hero .btn{background:var(--gold);color:var(--navy-deep)}.hero .btn:hover{background:#D9AC4A}
.hero .textlink{color:var(--white)}
.hero .portrait{min-height:0;aspect-ratio:4/5;max-width:440px;justify-self:end;width:100%;border-radius:var(--radius);border:8px solid rgba(255,255,255,.08)}
.hero .portrait img{border-radius:calc(var(--radius) - 4px);object-position:50% 10%}
.hero .portrait::after{display:none}
/* credentials as a sand band */
.credline{background:var(--sand);border:0}
.credline p{color:var(--navy);font-size:17.5px}
/* two-column statement */
.sec h2{color:var(--navy)}
.label{color:var(--muted)}
/* approach: ruled list with running numbers in words, not numerals */
.approach{display:block;border-top:1px solid var(--rule);padding-top:0}
.approach>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);padding:26px 0;border-bottom:1px solid var(--line)}
.approach h3{font-size:26px;margin:0}.approach p{font-size:16px;color:var(--ink-2);margin:0;max-width:52ch}
/* disputes on white with sand rules */
.sec.disputes{background:var(--white)}
.areas{columns:2;column-gap:clamp(28px,5vw,80px);list-style:none;margin:0;padding:0;max-width:60ch}
.areas li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--sand);font-family:var(--serif);font-size:19px;color:var(--navy)}
/* calmer ground */
.sec{border-top:1px solid var(--line);padding-block:clamp(52px,6vw,84px)}
.credline+.sec{border-top:0}
.sec.disputes{background:transparent}
.sec h2{max-width:18em}
/* background effects */
:root{--grain-opacity:.05;--glow-opacity:.22}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0 0 0 0 0 .5'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:var(--grain-opacity);mix-blend-mode:multiply}
header,main,footer,.hero{background:radial-gradient(ellipse 60% 90% at 25% 45%,rgba(120,150,180,var(--glow-opacity)) 0%,rgba(31,50,66,0) 70%),linear-gradient(180deg,#223749 0%,#1B2D3D 100%)}
.hero .portrait{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.credline{background:linear-gradient(180deg,#DED3C0 0%,#D4C7B1 100%)}
.sec{background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 40%)}
.sec.disputes{background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 40%)}
.book-band{background:radial-gradient(ellipse 50% 80% at 78% 50%,rgba(120,150,180,.18) 0%,rgba(31,50,66,0) 70%),linear-gradient(180deg,#1F3242 0%,#182936 100%)}
.page-head{background:radial-gradient(ellipse 60% 90% at 22% 50%,rgba(120,150,180,.2) 0%,rgba(31,50,66,0) 70%),linear-gradient(180deg,#223749,#1B2D3D)}
/* contours on navy: --contour-opacity adjustable */
:root{--contour-opacity:1}
.hero,.book-band,.page-head{position:relative;overflow:hidden}
.hero::after,.book-band::after,.page-head::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-pale.svg) center/cover no-repeat;opacity:var(--contour-opacity)}
.hero::after,.page-head::after{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,0) 68%);mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,0) 68%)}
.book-band::after{background-position:right center;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 40%,#000 65%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 40%,#000 65%)}
.hero .grid,.book-band .bb,.page-head .wrap{position:relative;z-index:1}
/* section textures on the light sections: ribbons in navy ink, masked to one side */
:root{--sec-ribbon:.65}
.sec{position:relative}.sec>.wrap{position:relative;z-index:1}
#about::after,#approach::after,#disputes::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(fx-silk-navy.svg) center/cover no-repeat;opacity:var(--sec-ribbon)}
#about::after,#disputes::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.9) 15%,rgba(0,0,0,0) 42%);mask-image:linear-gradient(90deg,rgba(0,0,0,.9) 15%,rgba(0,0,0,0) 42%);background-position:left center}
#approach::after{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.9) 82%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.9) 82%)}
.cal{position:relative;overflow:hidden}.cal::after{content:"";position:absolute;inset:0;background:url(fx-silk-navy.svg) center/cover no-repeat;opacity:.35;pointer-events:none}.cal>div{position:relative;z-index:1}
@media (max-width:860px){#about::after,#approach::after,#disputes::after{opacity:.22}}
/* hover on navy */
.hero .textlink,.bb-copy .textlink{background-image:linear-gradient(var(--gold),var(--gold))}
.hero .textlink:hover,.bb-copy .textlink:hover{color:#E2BE66}
.hero .btn:hover,.bb-copy .btn:hover{background:#D9AC4A;transform:translateY(-2px)}
.nav .book{transition:background .25s ease,transform .3s ease,box-shadow .3s ease}.nav .book:hover{transform:translateY(-1px);box-shadow:0 8px 20px -12px rgba(0,0,0,.5)}
.row:hover,.practice:hover,.approach>div:hover,.case:hover{background:rgba(255,255,255,.5)}
.approach>div:hover h3,.areas li:hover,.focus li:hover{color:var(--navy-deep)}
.hero .portrait{transition:transform .4s ease,box-shadow .4s ease}.hero .portrait:hover{transform:translateY(-3px)}
.bb-cta{max-width:760px;text-align:center;padding-block:clamp(56px,7vw,96px)}
.bb-cta h2{max-width:none}.bb-cta p{margin-inline:auto}.bb-cta .actions{justify-content:center}
.book-band::after{background-position:center;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,#000 100%)}
.bb-cta .label{color:var(--gold);justify-content:center;font-weight:500}
.book-band .btn.ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.55);box-shadow:none}.book-band .btn.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-2px)}
/* booking band: navy */
.book-band{background:var(--navy);color:#E9EDF0}
.bb{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,6vw,96px);align-items:center;padding-block:clamp(56px,7vw,96px)}
.bb-copy .label{color:var(--sand)}
.bb-copy h2{color:var(--white);font-size:clamp(30px,3.4vw,44px);margin-bottom:14px;max-width:14em}
.bb-copy p{color:#D9DEE2;max-width:40em;margin-bottom:22px}
.bb-copy .btn{background:var(--gold);color:var(--navy-deep)}
.book-band .lines{font-family:var(--serif);font-size:21px;line-height:1.5;border-left:3px solid var(--gold);padding-left:22px;color:var(--white)}
.book-band .lines small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9FB0BC;margin-top:12px}
.cal{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-height:560px;display:grid;place-items:center;text-align:center;padding:40px;color:var(--muted)}
.cal b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;color:var(--navy);margin-bottom:8px}
footer{background:var(--navy-deep);border-top:4px solid var(--gold);color:#A9B0B5}
footer h4{color:var(--gold)}footer .fcols p,footer .fcols a{color:#C9D0D5}footer .legal{color:#7F8A92;border-top-color:rgba(255,255,255,.1)}
footer .logo img{filter:brightness(0) invert(1) opacity(.9)}
.page-head{background:var(--navy);border:0}.page-head h1{color:var(--white)}.page-head .lede{color:#D9DEE2}.page-head .label{color:var(--sand)}
.contact-block .k{color:var(--navy)}
@media (max-width:860px){.hero .grid{grid-template-columns:1fr}.hero .portrait{max-width:none;justify-self:stretch}.approach>div{grid-template-columns:1fr;gap:8px}.areas{columns:1}.bb{grid-template-columns:1fr}.wordmark span{display:none}}

/* ===== polish pass (colleague, 2026-10-15), textures kept at two-thirds ===== */
:root{--muted:#686962;--line:#D8D4CA}
.label,.case .court,.row .out small{letter-spacing:.13em}
.textlink{padding-bottom:3px}
.btn{transition:background .2s ease,box-shadow .2s ease}
.btn:hover{box-shadow:0 3px 12px rgba(30,35,35,.09)}
footer{border-top-width:2px}
footer .legal{font-size:13px;line-height:1.65}
@media(max-width:860px){
 .nav{gap:16px;padding-block:10px}
 .hero .copy{padding-block:36px 28px}
 .hero .grid{row-gap:0}
 .hero h1{margin-bottom:20px}
 .hero .lede{margin-bottom:24px}
 .sec{padding-block:48px}
 .two,.duo{gap:28px}
 footer{padding-block:36px 24px}
 footer .fcols{row-gap:24px}
 footer h4{margin-bottom:8px}
 footer .legal{margin-top:26px;padding-top:16px}
}

:root{--muted:#66717A;--contour-opacity:.8}
.hero{background:#243746}
.hero::after{mask-image:linear-gradient(90deg,rgba(0,0,0,.45),#000);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.45),#000)}
.hero .portrait{background:transparent;border:2px solid #D8CEBC;box-shadow:0 18px 36px -24px rgba(0,0,0,.4)}
.hero .portrait img{inset:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.credline{background:#DDD2BF}
.sec{background:none}
#approach{background:#F3EFE6}
.book-band .lines{border-left-width:1px;padding-left:24px}
.book-band .lines small{color:#BCC7CF}
footer .legal{color:#A9B4BC}
@media(max-width:860px){
 .hero .grid{padding-block:36px 40px;row-gap:28px}
 .hero .copy{padding-block:0}
 #about .two,#disputes .two{gap:24px}
 #about h2{margin-bottom:0}
 #disputes .two>div>p{margin-bottom:0}
 .approach>div{padding-block:22px}
 .bb{gap:28px;padding-block:44px}
}


/* Content rework: retain the baseline typography, palette, portraits, and textures. */
.primary-nav{flex:1;min-width:0}
.nav .primary-nav ul{justify-content:flex-end;align-items:center;gap:16px;font-size:12px;letter-spacing:.065em}
.nav .primary-nav a{display:block;white-space:nowrap}
.nav .logo{flex-shrink:0}
.reading-width{max-width:860px}
.intro-copy{padding-block:0 clamp(40px,5vw,64px)}
.intro-copy p{max-width:68ch;color:var(--ink-2)}
.hero .copy>p:not(.lede){font-size:17px;line-height:1.6}
.split-body p+p{margin-top:18px}
.editor-note{font-style:italic;color:var(--muted)}
footer .footer-heading{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;color:var(--muted)}
footer .logo.line img{max-width:100%;height:auto}
@media (max-width:1100px){
 .nav{flex-wrap:wrap}
 .nav .primary-nav{flex-basis:100%;order:3}
 .nav .primary-nav ul{display:none}
 .nav .primary-nav ul.open{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:14px 0 6px;border-top:1px solid var(--line)}
 .burger{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--line);padding:8px 12px;font-family:var(--sans);color:inherit;cursor:pointer;border-radius:2px}
 .primary-nav:has(ul:not(.open)){flex-basis:0;flex-grow:0}
}
@media (max-width:520px){.contact-block a{overflow-wrap:anywhere}.nav .primary-nav a{white-space:normal}.hero .copy>p{max-width:100%}}

.hero .copy>p:not(.lede){color:#D9DEE2}
.nav .primary-nav .book{padding:10px 12px;font-size:11px;color:var(--white)}
footer .footer-heading{color:var(--gold)}
.booking-contact{margin-top:28px}
.booking-contact p{margin-bottom:8px}
#request-date .cal{margin-top:24px}

/* Copy pacing follows the established typography and two-column sections. */
#about .two>div>p{font-size:17px;line-height:1.7;color:var(--ink-2)}
#about .two>div>h2{margin-bottom:24px}
.mediation-approach-columns{margin-top:26px;align-items:start}
.mediation-approach-columns p{font-size:17px;line-height:1.7;color:var(--ink-2)}
#disputes .areas{columns:1;max-width:none}
#disputes .areas+p{margin-top:22px}
#request-date .cal{min-height:280px;padding:32px}
#request-date .cal>div{max-width:52ch;line-height:1.7}
#request-date .cal .actions{justify-content:center;gap:24px;margin-top:22px}
.booking-contact{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;padding-top:22px;border-top:1px solid var(--line)}
.booking-contact p{font-size:16px;line-height:1.6;margin:0}
.booking-contact a{overflow-wrap:anywhere}
@media(max-width:860px){.booking-contact{grid-template-columns:1fr;gap:12px}.mediation-approach-columns{gap:0}#request-date .cal{padding:24px;min-height:260px}}

/* Contact page: compact office details and clear contact actions. */
.mediation-contact-page .contact-content{padding-block:64px 72px}
.mediation-contact-page .contact-introduction{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;margin-bottom:36px}
.mediation-contact-page .contact-introduction p{margin:0;font-size:17px;line-height:1.7;color:var(--ink-2)}
.mediation-contact-page .contact-introduction .contact-opening{font-family:var(--serif);font-size:clamp(23px,2.1vw,28px);line-height:1.35;color:var(--navy)}
.mediation-contact-page .contact-sheet{background:var(--white);border-top:3px solid var(--gold);padding:36px 40px 30px;box-shadow:0 6px 28px rgba(22,37,47,.035)}
.mediation-contact-page .contact-information{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,72px);align-items:start}
.mediation-contact-page .contact-office h2{font-size:30px;line-height:1.15;margin:0 0 10px;text-wrap:initial}
.mediation-contact-page .contact-brand{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 24px}
.mediation-contact-page address{font-style:normal;font-size:16px;line-height:1.7;color:var(--ink-2)}
.mediation-contact-page address p{margin:0}
.mediation-contact-page .contact-methods p{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:baseline;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.mediation-contact-page .contact-methods p:first-child{padding-top:0}
.mediation-contact-page .contact-methods p:last-child{border:0}
.mediation-contact-page .contact-methods span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mediation-contact-page .contact-methods a{font-family:var(--serif);font-size:25px;line-height:1.3;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;text-decoration-thickness:1px}
.mediation-contact-page .contact-methods a:hover{text-decoration-color:var(--gold)}
.mediation-contact-page .contact-methods a[href^="mailto:"]{font-size:22px}
.mediation-contact-page .contact-next-step{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;border-top:1px solid var(--line);margin-top:28px;padding-top:26px}
.mediation-contact-page .contact-next-step p{font-size:15px;line-height:1.6;max-width:55ch;margin:0;color:var(--ink-2)}
.mediation-contact-page .contact-next-step .btn{flex-shrink:0;white-space:nowrap}
@media(max-width:860px){
 .mediation-contact-page .contact-content{padding-block:40px 48px}
 .mediation-contact-page .contact-introduction{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
 .mediation-contact-page .contact-sheet{padding:28px 24px}
 .mediation-contact-page .contact-information{grid-template-columns:1fr;gap:28px}
 .mediation-contact-page .contact-brand{margin-bottom:18px}
 .mediation-contact-page .contact-next-step{flex-direction:column;align-items:flex-start;gap:20px;margin-top:24px;padding-top:22px}
}
@media(max-width:420px){
 .mediation-contact-page .contact-sheet{padding:26px 20px}
 .mediation-contact-page .contact-office h2{font-size:28px}
 .mediation-contact-page .contact-methods p{grid-template-columns:1fr;gap:4px;padding-block:14px}
 .mediation-contact-page .contact-methods a[href^="mailto:"]{font-size:21px}
}

/* Keep footer interactions legible against the navy background. */
footer .fcols a{background-image:linear-gradient(#E2BE66,#E2BE66)}
footer .fcols a:hover,footer .fcols a:focus-visible{color:#E2BE66;background-size:100% 1px}
footer a:focus-visible{outline-color:#E2BE66}

/* Booking introduction and preferred-date calendar. */
.mediation-booking-page .booking-introduction{padding-block:56px 60px}
.booking-welcome{font-family:var(--serif);font-size:28px;line-height:1.3;color:var(--navy);margin-bottom:24px}
.booking-intro-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px)}
.booking-intro-columns p{font-size:17px;line-height:1.7;color:var(--ink-2);margin:0}
.mediation-booking-page #request-date{padding-block:60px 64px;border-top:1px solid var(--line)}
.booking-scheduler{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-top:30px;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--white)}
.booking-scheduler[hidden],.calendar-email[hidden]{display:none}
.calendar-main{padding:30px 36px 24px;min-width:0}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.calendar-toolbar h3{font-size:30px;line-height:1.2;text-wrap:initial}
.calendar-controls{display:flex;gap:8px}
.calendar-controls button{width:36px;height:36px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--navy);font:20px var(--sans);cursor:pointer}
.calendar-controls button:hover:not(:disabled){background:var(--paper);border-color:var(--gold)}
.calendar-controls button:disabled{opacity:.3;cursor:default}
.date-calendar{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center}
.calendar-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.date-calendar th{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--muted);padding-bottom:10px}
.date-calendar td{padding:3px 0;height:48px;vertical-align:middle}
.date-calendar button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--navy);font:17px var(--sans);cursor:pointer;transition:background-color .15s,color .15s}
.date-calendar button:hover:not(:disabled){background:var(--bone)}
.date-calendar button[aria-current="date"]{border-color:var(--gold)}
.date-calendar button[aria-pressed="true"]{background:var(--navy);color:var(--white)}
.date-calendar button[aria-pressed="true"]:hover{background:var(--navy-deep)}
.date-calendar button:disabled{color:#B5BABD;cursor:default}
.calendar-key{display:flex;align-items:center;gap:8px;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.calendar-key span{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.today-key{border:1px solid var(--gold)}
.selected-key{background:var(--navy);margin-left:16px}
.calendar-summary{background:var(--navy);color:var(--white);padding:36px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.calendar-summary h3{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#E2BE66;line-height:1.5;margin-bottom:18px}
.calendar-choice{font-family:var(--serif);font-size:30px;line-height:1.2;margin-bottom:16px}
.calendar-hint{font-size:15px;line-height:1.65;color:#D5DDE2;margin-bottom:22px}
.calendar-summary .calendar-email{background:var(--gold);color:var(--navy-deep);font-size:12px;padding:14px 20px;margin:0 0 24px}
.calendar-summary .calendar-email:hover{background:#E2BE66}
.calendar-availability{font-size:13px;line-height:1.65;color:#C9D0D5;margin-top:auto;margin-bottom:16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.calendar-summary .textlink{color:var(--white);background-image:linear-gradient(#E2BE66,#E2BE66)}
.calendar-summary .textlink:hover{color:#E2BE66}
.calendar-summary a:focus-visible{outline-color:#E2BE66}
.calendar-fallback{padding:28px;border:1px solid var(--line);margin-top:28px}
@media(max-width:860px){
 .mediation-booking-page .booking-introduction{padding-block:40px}
 .booking-welcome{font-size:25px;margin-bottom:20px}
 .booking-intro-columns{grid-template-columns:1fr;gap:20px}
 .mediation-booking-page #request-date{padding-block:40px}
 .booking-scheduler{grid-template-columns:1fr;margin-top:26px}
 .calendar-summary{padding:28px}
 .calendar-availability{margin-top:6px}
}
@media(max-width:420px){
 .calendar-main{padding:24px 16px 20px}
 .calendar-toolbar{gap:8px;margin-bottom:20px}
 .calendar-toolbar h3{font-size:27px}
 .calendar-controls button{width:32px;height:32px}
 .date-calendar td{height:44px}
 .date-calendar button{width:36px;height:36px;font-size:16px}
 .calendar-summary{padding:28px 24px}
 .calendar-choice{font-size:28px}
}

/* Office contacts form the calendar's footer. */
.mediation-booking-page .booking-scheduler{border-bottom:0}
.mediation-booking-page .booking-contact{margin-top:0;border:1px solid var(--line);padding:22px 28px 24px;background:var(--white);grid-template-columns:1fr 1fr 1.3fr;gap:24px}
.mediation-booking-page .booking-contact p{margin:0;min-width:0}
.mediation-booking-page .booking-contact p:not(:last-child){border-right:1px solid var(--line);padding-right:24px}
.mediation-booking-page .booking-contact span{display:block;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.mediation-booking-page .booking-contact a{font-family:var(--serif);font-size:24px;line-height:1.3;color:var(--navy);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;text-decoration-thickness:1px}
.mediation-booking-page .booking-contact a[href^="mailto:"]{font-size:22px}
.mediation-booking-page .booking-contact a:hover{text-decoration-color:var(--gold)}
@media(max-width:860px){
 .mediation-booking-page .booking-contact{grid-template-columns:1fr;padding:24px;gap:18px}
 .mediation-booking-page .booking-contact p:not(:last-child){border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}
}

/* section anchors: visible kickers for navigability (Larry asked for understated,
   so brass colour and a short rule, not bold or decorative) */
.label{color:var(--brass-deep);font-weight:500;display:flex;align-items:center;gap:12px}
.label::before{content:"";display:inline-block;width:22px;height:1px;background:var(--brass);flex:0 0 auto}
.cta .label::before{background:var(--brass-deep)}
.sec h2{font-size:clamp(32px,3.9vw,50px)}

/* mediation dark header: lighten nav + wordmark hover */
header .nav ul a{color:var(--bone)}
header .nav ul a:hover{border-bottom-color:var(--gold)}
header .nav ul a[aria-current="page"]{border-bottom-color:var(--gold)}
header .burger{color:var(--bone);border-color:rgba(239,233,221,.35)}

/* Nokes Resolution: focused polish, 3 November 2026.
   Append after the existing stylesheet. Copy, section order and image fitting stay intact. */
:root{--paper:#f8f5ef;--bone:#eee7da;--navy:#203746;--navy-deep:#172b37;--ink:#203746;--ink-2:#485760;--muted:#617079;--sand:#d9c9aa;--gold:#c9ad70;--line:#d8d2c6;--sticky-top:112px}
body{background:var(--paper);font-size:17px}
body::before{opacity:.025}
main{background:var(--paper)}
header{background:var(--navy-deep);border-bottom:1px solid rgba(217,201,170,.23)}
.nav{min-height:78px;padding-block:12px;gap:28px}
.nav .logo.line img{width:236px;height:auto;max-width:100%}
.nav .primary-nav ul{gap:22px;font-size:11px;letter-spacing:.08em}
.nav .primary-nav a{padding-block:10px}
.nav .primary-nav .book{background:transparent;border:1px solid rgba(217,201,170,.55);padding:11px 15px}
.nav .primary-nav .book::after{display:none}
.nav .primary-nav .book:hover{background:var(--sand);color:var(--navy-deep);box-shadow:none;transform:none}
.nav ul a::after{background:var(--sand);bottom:3px}
header.scrolled{box-shadow:0 5px 18px rgba(15,30,40,.09)}
.label{letter-spacing:.14em;font-size:11px}
.label::before{background:currentColor;width:24px}
.hero{background:var(--navy);isolation:isolate}
.hero::after{opacity:.22;mask-image:linear-gradient(90deg,transparent,#000 75%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 75%)}
.hero .grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;padding-block:56px 64px}
.hero .copy{padding:0}
.hero .label{margin-bottom:22px;color:var(--sand)}
.hero h1{font-size:clamp(40px,4.2vw,58px);line-height:1.05;letter-spacing:-.018em;margin-bottom:24px;max-width:12em}
.hero .lede{font-size:22px;line-height:1.38;margin-bottom:20px;max-width:30em;color:#f0ece4}
.hero .copy>p:not(.lede){font-size:16px;line-height:1.6;color:#dce2e3;margin-bottom:12px}
.hero .actions{margin-top:14px;gap:20px 28px}
.hero .portrait{max-width:400px;border-width:1px;border-color:rgba(217,201,170,.75);box-shadow:0 18px 40px -26px rgba(0,0,0,.35);border-radius:4px}
.hero .portrait img{border-radius:2px}
.hero .portrait:hover{transform:none}
.hero .portrait:hover img,.photo:hover img{transform:none}
.btn{min-height:48px;padding:15px 24px;border-radius:1px;font-size:11.5px;line-height:1.6;letter-spacing:.11em}
.hero .btn,.bb-copy .btn{background:var(--sand);color:var(--navy-deep)}
.hero .btn:hover,.bb-copy .btn:hover{background:#e6d8be;box-shadow:0 6px 18px rgba(0,0,0,.1)}
.textlink{font-size:19px;background-image:linear-gradient(var(--gold),var(--gold));transition:color .2s,background-size .2s}
.hero .textlink:hover,.bb-copy .textlink:hover{color:#ecdbc0}
.sec,.band{background:var(--paper);padding-block:clamp(56px,6.5vw,88px);border-color:var(--line)}
.band.white{background:#fdfbf7}
.sec h2,.split-head h2{font-size:clamp(32px,3.2vw,44px);line-height:1.1;letter-spacing:-.012em;color:var(--navy)}
.two,.split{gap:clamp(32px,6vw,88px)}
.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.split-head h2::before{height:2px;width:42px;background:#ab9361;margin-bottom:22px}
.split-body p,.prose p{font-size:17px;line-height:1.75;color:var(--ink-2);max-width:60ch}
.split-body p+p{margin-top:18px}
.split-body p:last-child,.prose p:last-child{margin-bottom:0}
.reading-width{max-width:860px}
.reading-width p{line-height:1.75;color:var(--ink-2)}
.reading-width p:first-child{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--navy)}
.page-head{background:var(--navy);border-bottom:1px solid rgba(217,201,170,.22);isolation:isolate}
.page-head::after{background-image:url(fx-silk-pale.svg);opacity:.18;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}
.page-head .wrap{padding-block:64px 58px}
.page-head h1{font-size:clamp(38px,4.5vw,60px);line-height:1.07;margin-bottom:18px;max-width:18em}
.page-head .label{color:var(--sand);margin-bottom:20px}
.page-head .lede{font-size:23px;line-height:1.5;color:#e5e7e5;max-width:34em}
.page-head .more{color:#e5e7e5}
.page-head .textlink{color:#faf6ef}
.page-head .textlink:hover{color:#ecdbc0}
/* Each section owns its ground; opaque navy texture is never behind navy text. */
#about{background:var(--paper)}
#about::after,#approach::after{display:none}
#about h2{max-width:11em;margin-bottom:26px}
#about .two>div>p{font-size:17px;line-height:1.75;color:var(--ink-2)}
#about .two>div:last-child{padding-top:4px}
#about .textlink{display:inline-block;margin-top:10px}
#approach{background:var(--bone)}
#approach h2{font-size:32px;margin-bottom:14px}
#approach .lead{font-family:var(--serif);font-size:clamp(30px,3.5vw,46px);line-height:1.2;color:var(--navy);max-width:none;margin-bottom:34px}
.mediation-approach-columns{margin-top:0;gap:64px}
.mediation-approach-columns>div{border-top:1px solid #bdb19a;padding-top:26px;position:relative}
.mediation-approach-columns>div::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:#7e6840;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.mediation-approach-columns>div:hover::before{transform:scaleX(1)}
.mediation-approach-columns p{font-size:17px;line-height:1.75;color:var(--ink-2)}
.mediation-approach-columns .textlink{display:inline-block;margin-top:10px}
#disputes{background:var(--navy);color:#e5e7e5;border-color:rgba(217,201,170,.2);isolation:isolate}
#disputes::after{background-image:url(fx-silk-pale.svg);opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 60%)}
#disputes h2{color:#faf6ef;max-width:10em}
#disputes .two>div>p{color:#dce2e3;font-size:17px;line-height:1.75;max-width:28em}
#disputes .areas{border-top:1px solid rgba(217,201,170,.55)}
#disputes .areas li{color:#f0ece4;border-bottom:1px solid rgba(217,201,170,.28);font-size:25px;line-height:1.3;padding:19px 0;position:relative;transition:color .25s,transform .3s,padding .3s}
#disputes .areas li::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--sand);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
#disputes .areas li:hover{color:#e8d7b9;padding-left:0;transform:translateX(5px)}
#disputes .areas li:hover::after{transform:scaleX(1)}
#disputes .textlink{color:#f0ece4}
#disputes .textlink:hover{color:#e8d7b9}
.book-band{background:var(--paper);color:var(--navy);border-top:1px solid var(--line)}
.book-band::after{display:none}
.bb-cta{max-width:800px;text-align:center;padding-block:clamp(60px,7vw,96px)}
.bb-cta .bb-copy{position:relative;z-index:1}
.bb-copy h2{color:var(--navy);max-width:none;font-size:clamp(34px,3.4vw,46px);margin-bottom:24px}
.bb-copy p{color:var(--ink-2);font-size:18px;line-height:1.65;max-width:38em;margin-bottom:14px}
.bb-copy .actions{margin-top:28px}
.bb-copy .btn{background:var(--navy);color:#faf6ef}
.bb-copy .btn:hover{background:var(--navy-deep)}
.creds-table{border-top-color:#9f8a60}
.creds-table th{color:#6e5d3e}
.creds-table td{font-size:21px}
.prose p:first-of-type{font-size:25px;line-height:1.45;color:var(--navy)}
.contact-sheet{box-shadow:none!important}
.mediation-contact-page .contact-content{padding-block:64px 72px}
.mediation-contact-page .contact-sheet{background:#fdfbf7;border-top-width:1px;border-color:#a38a57}
.calendar-controls button{min-width:40px;min-height:40px}
footer{background:var(--navy-deep);border-top:1px solid rgba(217,201,170,.6);padding-block:48px 26px}
footer .fcols{grid-template-columns:1fr 1.05fr 1.1fr 1.35fr;gap:26px}
footer .logo.line img{width:216px;height:auto;filter:none}
footer .footer-heading{color:var(--sand);font-size:10px;letter-spacing:.16em;margin-bottom:16px}
footer .fcols p,footer .fcols a{color:#d9dfdf;font-size:14px;line-height:1.85}
footer .fcols>div:last-child p{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:3px}
footer .fcols>div:last-child br{display:none}
footer .fcols>div:last-child a:last-child{grid-column:1/-1;margin-top:8px;max-width:28ch}
footer .fcols>div:last-child a{width:fit-content}
footer .fcols a{background-image:linear-gradient(var(--sand),var(--sand))}
footer .fcols a:hover,footer .fcols a:focus-visible{color:#ecdbc0}
footer .legal{margin-top:34px;padding-top:20px;font-size:12px;line-height:1.65;color:#b3c0c4;border-top-color:rgba(217,201,170,.2)}
a:focus-visible,button:focus-visible{outline:2px solid #94773d;outline-offset:5px}
header a:focus-visible,header button:focus-visible,.hero a:focus-visible,#disputes a:focus-visible,footer a:focus-visible{outline-color:#e6cf9f}
[id]{scroll-margin-top:104px}
.motion-ready .polish-reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.3,1)}
.motion-ready .polish-reveal.is-visible{opacity:1;transform:none}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference){
 .hero::after{animation:mediation-light 1.6s ease-out both}
 @keyframes mediation-light{from{opacity:.08;transform:translateX(16px)}to{opacity:.22;transform:none}}
}
@media(max-width:1100px){
 .nav{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:0 24px;min-height:76px;position:relative}
 .nav .logo{width:236px;max-width:100%;justify-self:start}
 .nav .primary-nav{grid-column:1/-1;grid-row:2;order:initial;min-width:0}
 .nav .primary-nav:has(ul:not(.open)){display:none}
 .burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:0;justify-self:end;grid-column:2;grid-row:1;padding:10px;border:1px solid rgba(217,201,170,.4);border-radius:1px;background:transparent;color:var(--bone)}
 .burger span{display:block;width:21px;height:1px;background:currentColor;transition:transform .25s,opacity .2s}
 .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
 .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .nav .primary-nav ul.open{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:12px;padding:12px 0 8px;border-color:rgba(217,201,170,.25)}
 .nav .primary-nav ul.open a{padding:12px 0;font-size:12px;letter-spacing:.09em;min-height:44px}
 .nav .primary-nav ul.open .book{padding:12px 16px;width:fit-content;margin:8px 0}
 .nav .primary-nav ul.open a::after{right:auto;width:32px}
 .hero .grid{gap:36px;padding-block:48px 56px}
 footer .fcols{grid-template-columns:1fr 1fr;gap:32px 48px}
}
@media(max-width:860px){
 .wrap{padding-inline:24px}
 .nav{padding-block:10px;padding-inline:24px;min-height:72px}
 .nav .logo.line img{width:220px}
 .hero .grid{grid-template-columns:1fr;gap:36px;padding:40px 24px 48px}
 .hero h1{font-size:46px;max-width:12em;margin-bottom:22px}
 .hero .label{margin-bottom:20px}
 .hero .lede{font-size:23px;margin-bottom:22px}
 .hero .copy>p:not(.lede){font-size:16px;line-height:1.65;margin-bottom:14px}
 .hero .actions{margin-top:24px;gap:22px;align-items:center}
 .hero .portrait{max-width:400px;justify-self:center}
 .hero::after{opacity:.15}
 .two,.split{grid-template-columns:1fr;gap:26px}
 .sec,.band{padding-block:52px}
 .sec h2,.split-head h2{font-size:36px}
 .split-head.sticky,.bio-grid .photo{position:static}
 .split-body p,.prose p,#about .two>div>p{font-size:16.5px;line-height:1.75}
 #about h2{margin-bottom:20px}
 #about .two>div:last-child{padding-top:0}
 #about .two>div:last-child p:last-child{margin-bottom:0}
 #approach h2{font-size:30px}
 #approach .lead{font-size:35px;max-width:15em;margin-bottom:28px}
 .mediation-approach-columns{gap:26px}
 .mediation-approach-columns>div{padding-top:22px}
 .mediation-approach-columns p{font-size:16.5px;line-height:1.75}
 #disputes h2{max-width:12em}
 #disputes .areas li{font-size:25px;padding-block:18px}
 #disputes .areas li:hover{transform:none}
 .page-head .wrap{padding-block:44px 42px}
 .page-head h1{font-size:42px}
 .page-head .lede{font-size:22px}
 .bb-cta{padding-block:56px}
 .bb-copy p{font-size:17px}
 footer{padding-block:38px 26px}
 footer .fcols{gap:30px 26px}
 footer .fcols>div:first-child{grid-column:1/-1}
 footer .fcols>div:last-child{grid-column:1/-1}
 footer .fcols>div:last-child p{grid-template-columns:1fr 1fr;max-width:32em;column-gap:28px}
 footer .fcols>div:last-child a:last-child{margin-top:6px;max-width:none}
 footer .fcols p,footer .fcols a{font-size:13.5px}
 footer .logo.line img{width:228px}
 .calendar-main{padding-inline:24px}
}
@media(max-width:420px){
 .wrap{padding-inline:20px}
 .nav{padding-inline:16px;gap:16px;min-height:70px}
 .nav .logo.line img{width:214px}
 .hero .grid{padding-inline:20px}
 .hero h1{font-size:42px}
 .hero .lede{font-size:22px}
 .hero .actions{gap:20px}
 .hero .actions .textlink{font-size:19px}
 .sec h2,.split-head h2{font-size:34px}
 .page-head h1{font-size:38px}
 footer .fcols{grid-template-columns:1fr;gap:26px}
 footer .fcols>div:first-child,footer .fcols>div:last-child{grid-column:1}
 .calendar-main{padding-inline:12px}
 .calendar-controls button{min-width:40px;min-height:40px}
 .date-calendar button{width:36px;height:40px}
 .calendar-toolbar h3{font-size:26px}
}
@media(hover:none){.mediation-approach-columns>div::before,#disputes .areas li::after{display:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .motion-ready .polish-reveal,.motion-ready .polish-reveal.is-visible{opacity:1;transform:none}
 .hero .portrait,.hero .portrait img,#disputes .areas li{transform:none!important}
 .split-head.sticky{position:static}
}

/* Portrait belongs to the hero: a flush panel, using the complete source image. */
.hero .grid{max-width:none;width:100%;grid-template-columns:minmax(0,1fr) clamp(400px,42vw,560px);gap:0;padding:0;align-items:stretch;margin:0}
.hero .copy{padding:48px clamp(36px,4.5vw,64px) 52px max(40px,calc((100vw - 1140px)/2 + 40px))}
.hero .portrait{max-width:none;width:100%;height:100%;min-height:0;aspect-ratio:auto;justify-self:stretch;align-self:stretch;margin:0;border:0;border-radius:0;box-shadow:none;background:#3b332e;display:grid;align-items:center;overflow:hidden}
.hero .portrait img{position:relative;inset:auto;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border:0;border-radius:0;transform:none}
.hero .copy>p{max-width:39em}
@media(min-width:861px) and (max-width:1100px){
 .hero .grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
 .hero .copy{padding:40px 32px 44px}
 .hero h1{font-size:43px}
 .hero .lede{font-size:21px}
 .hero .copy>p:not(.lede){font-size:15.5px;line-height:1.6}
}
@media(max-width:860px){
 .hero .grid{grid-template-columns:1fr;gap:0;padding:0}
 .hero .copy{padding:40px 24px 38px}
 .hero .portrait{width:100%;height:auto;max-width:none;background:transparent}
 .hero .portrait img{width:100%;height:auto}
}
@media(max-width:420px){.hero .copy{padding-inline:20px}}

/* Approach is a centered statement; Practice Areas stays a practical ruled list. */
#approach .wrap{max-width:1100px}
#approach h2{font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;text-align:center;margin:0 auto 26px;max-width:none}
#approach .lead{font-size:clamp(38px,4.5vw,60px);line-height:1.12;letter-spacing:-.018em;text-align:center;max-width:20ch;margin:0 auto 42px;color:var(--navy)}
#approach .lead span{display:inline-block}
#approach.approach-ready .lead span{opacity:.65;transition:opacity .65s ease}
#approach.approach-visible .lead span{opacity:1}
#approach .lead span:nth-child(2){transition-delay:.13s}
#approach .lead span:nth-child(3){transition-delay:.26s}
#approach .lead span:nth-child(4){transition-delay:.39s}
.mediation-approach-columns{max-width:920px;margin:0 auto;grid-template-columns:1.1fr 1fr;gap:64px}
.mediation-approach-columns>div{border:0;padding-top:0}
.mediation-approach-columns>div::before{display:none}
.mediation-approach-columns p{font-size:17px;line-height:1.75}
@media(min-width:861px){#disputes .two>div:first-child{position:sticky;top:112px}}
@media(max-width:860px){
 #approach h2{margin-bottom:22px}
 #approach .lead{font-size:42px;max-width:18ch;margin-bottom:30px}
 .mediation-approach-columns{grid-template-columns:1fr;gap:8px;max-width:620px}
 .mediation-approach-columns p{font-size:16.5px}
}
@media(max-width:420px){#approach .lead{font-size:38px}}
@media(prefers-reduced-motion:reduce){#approach.approach-ready .lead span{opacity:1!important}}
