/* Layout: a deep-navy 'chambers' band carries the name and portrait; below it, light pages with hairline rules like a letterhead. One brass hairline is the only ornament. */
:root{
  --paper:#f6f7f9;
  --navy:#0f1736;          /* deeper than the logo navy, for the hero band */
  --brass:#b0915c;         /* single accent: hairlines and small labels */
  --onnavy:#c3c9d8;
  --ink:#141f4d;          /* navy taken from the logo */
  --text:#2b3042;
  --muted:#636878;        /* the logo's grey, nudged toward navy */
  --rule:#dcdfe7;
  --wash:#f1f2f6;
  --grand:"Bellefair","Frank Ruhl Libre",serif;
  --display:"Frank Ruhl Libre","David Libre","Times New Roman",serif;
  --body:"Assistant","Segoe UI",Arial,sans-serif;
  --w:1080px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.7 var(--body);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:24px}
@media (max-width:480px){.wrap{padding-inline:18px}}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* language */
:root[data-lang="he"] .en,:root[data-lang="en"] .he{display:none!important}
:root[data-lang="en"] body{font-size:16.5px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:28px;padding-block:14px}
.logo img{display:block;height:64px;width:auto}
.top nav{display:flex;gap:26px;margin-inline-start:auto;font-size:15px}
.top nav a{text-decoration:none;color:var(--muted);transition:color .2s}
.top nav a:hover{color:var(--ink)}
.lang{font:500 13px/1 var(--body);letter-spacing:.08em;background:none;border:1px solid var(--rule);color:var(--ink);padding:8px 12px;cursor:pointer;border-radius:2px}
.lang:hover{border-color:var(--ink)}
@media (max-width:760px){.lang{margin-inline-start:auto}.logo img{height:44px}}

/* opening */
.open{padding-block:clamp(64px,11vw,128px) clamp(56px,8vw,96px)}
.eyebrow{font:500 13px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 28px}
:root[data-lang="he"] .eyebrow{letter-spacing:.06em}
h1{font:400 clamp(34px,5.2vw,58px)/1.18 var(--display);color:var(--ink);margin:0;max-width:17em;text-wrap:balance}
.open p.lede{max-width:36em;margin:28px 0 0;color:var(--muted);font-size:18px}
.open .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.btn{display:inline-block;font:500 15px/1 var(--body);padding:15px 26px;text-decoration:none;border:1px solid var(--ink);border-radius:2px;cursor:pointer}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:#0c1436}
.btn.ghost{color:var(--ink);background:transparent}
.btn.ghost:hover{background:var(--wash)}

/* sections */
section{padding-block:clamp(56px,8vw,96px);border-top:1px solid var(--rule)}
.head{display:grid;grid-template-columns:1fr 2.4fr;gap:40px;align-items:baseline;margin-bottom:48px}
.head h2{font:400 clamp(34px,3.6vw,44px)/1.15 var(--grand);color:var(--ink);margin:0}
.head p{margin:0;color:var(--muted);max-width:38em}
@media (max-width:760px){.head{grid-template-columns:1fr;gap:12px;margin-bottom:32px}}

/* practice areas */
.areas{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;margin:0;padding:0;list-style:none}
.areas li{border-top:1px solid var(--rule);padding-block:26px 28px;min-width:0}
.areas h3{font:500 21px/1.35 var(--display);color:var(--ink);margin:0 0 8px}
.areas p{margin:0;color:var(--muted);font-size:16px}
@media (max-width:760px){.areas{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:1fr 2.4fr;gap:40px}
.about .portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;max-width:100%;object-fit:cover;background:var(--wash)}
.about .bio{min-width:0}
.about .bio p{margin:0 0 18px;max-width:38em}
.facts{list-style:none;margin:32px 0 0;padding:0;max-width:38em}
.facts li{display:grid;grid-template-columns:7.5em 1fr;gap:20px;padding-block:12px;border-top:1px solid var(--rule);font-size:16px}
.facts li:last-child{border-bottom:1px solid var(--rule)}
.facts .y{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}
@media (max-width:760px){.about{grid-template-columns:1fr}.about .portrait{max-width:280px}}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.5fr;gap:56px}
.contact>*{min-width:0}
.details{margin:0;display:grid;gap:22px;align-content:start}
.details dt{font:500 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
:root[data-lang="he"] .details dt{letter-spacing:.04em;font-size:13px}
.details dd{margin:0;color:var(--ink);font-size:18px}
.todo{background:#fff6d6;color:#6b5300;padding:1px 6px;font-size:14px}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form .full{grid-column:1/-1}
label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
input,textarea,select{width:100%;font:400 16px/1.5 var(--body);color:var(--text);background:#fff;border:1px solid var(--rule);border-radius:2px;padding:12px 14px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
textarea{min-height:140px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.consent input{width:auto;margin-top:5px}
.status{font-size:15px;color:var(--ink);min-height:1.5em;margin:0}
@media (max-width:760px){.contact{grid-template-columns:1fr;gap:40px}form{grid-template-columns:1fr}}

/* footer */
footer{border-top:1px solid var(--rule);padding-block:36px 48px;font-size:13.5px;color:var(--muted)}
footer .wrap{display:grid;gap:14px}
footer .row{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
footer p{margin:0;max-width:70em}

/* home: practice index */
.areas a{display:grid;grid-template-columns:1fr auto;gap:4px 20px;text-decoration:none;padding-block:24px 26px;border-top:1px solid var(--rule)}
.areas li{border-top:0;padding:0}
.areas a h3{grid-column:1;margin:0;transition:color .2s}
.areas a p{grid-column:1}
.areas a::after{grid-column:2;grid-row:1/3;align-self:center;font:400 22px/1 var(--display);color:var(--muted);transition:transform .25s,color .2s}
:root[dir="rtl"] .areas a::after{content:"←"/""}
:root[dir="ltr"] .areas a::after{content:"→"/""}
.areas a:hover h3,.areas a:hover::after{color:var(--ink)}
:root[dir="rtl"] .areas a:hover::after{transform:translateX(-4px)}
:root[dir="ltr"] .areas a:hover::after{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.areas a::after{transition:none}}


/* practice areas: dark band, grouped cards */
section.dark{background:var(--navy);color:var(--onnavy)}
section.dark .head h2{color:#fff}
section.dark .head p{color:var(--onnavy)}
section.dark :focus-visible{outline-color:#fff}
.groups{display:grid;gap:44px}
.group{display:grid;grid-template-columns:1fr 3fr;gap:40px;align-items:start;padding-top:28px;border-top:1px solid rgba(176,145,92,.45)}
.gtitle{font:400 26px/1.2 var(--grand);color:var(--brass);margin:0}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cards li{min-width:0}
.card{position:relative;display:grid;gap:6px;height:100%;padding:20px 24px 22px;padding-inline-end:52px;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:2px;transition:border-color .25s,background-color .25s}
.card .ct{font:500 20px/1.35 var(--display);color:#fff}
.card .cd{font-size:15px;line-height:1.55;color:var(--onnavy)}
.card::after{position:absolute;inset-inline-end:22px;top:50%;transform:translateY(-50%);font:400 20px/1 var(--display);color:rgba(255,255,255,.4);transition:color .25s,transform .25s}
:root[dir="rtl"] .card::after{content:"←"/""}
:root[dir="ltr"] .card::after{content:"→"/""}
.card:hover{border-color:var(--brass);background:rgba(255,255,255,.035)}
.card:hover::after{color:var(--brass)}
:root[dir="rtl"] .card:hover::after{transform:translate(-4px,-50%)}
:root[dir="ltr"] .card:hover::after{transform:translate(4px,-50%)}
@media (prefers-reduced-motion:reduce){.card,.card::after{transition:none}}
@media (max-width:860px){.group{grid-template-columns:1fr;gap:16px}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}

.wa{display:inline-block;margin-top:8px;font-size:15px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.wa:hover{color:var(--brass)}
/* practice sub-page */
.crumbs{font-size:14px;color:var(--muted);margin:0 0 28px;display:flex;flex-wrap:wrap;gap:8px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.sub{display:grid;grid-template-columns:2.4fr 1fr;gap:64px;align-items:start}
.sub>*{min-width:0}
.svc{list-style:none;margin:0;padding:0;max-width:40em}
.svc li{border-top:1px solid var(--rule);padding-block:24px 26px}
.svc li:last-child{border-bottom:1px solid var(--rule)}
.svc h2{font:500 22px/1.35 var(--display);color:var(--ink);margin:0 0 8px}
.svc p{margin:0}
.note{margin:32px 0 0;max-width:40em;color:var(--muted);font-size:16px}
.side{display:grid;gap:36px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 120px)}
.side h2{font:500 13px/1 var(--body);letter-spacing:.06em;color:var(--muted);margin:0 0 14px}
.side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15.5px}
.side ul a{text-decoration:none;color:var(--text)}
.side ul a:hover,.side ul a[aria-current]{color:var(--ink)}
.side ul a[aria-current]{font-weight:600}
.cta{border:1px solid var(--rule);background:var(--wash);padding:24px;display:grid;gap:14px}
.cta p{margin:0;font-size:15.5px}
.cta .num{font-size:18px;color:var(--ink)}
@media (max-width:860px){.sub{grid-template-columns:1fr;gap:48px}.side{position:static}}

/* accessibility */
.skip{position:absolute;inset-inline-start:16px;top:-60px;z-index:20;background:var(--ink);color:#fff;padding:10px 16px;text-decoration:none;font-size:15px}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px)}
.hero :focus-visible,.subhero :focus-visible{outline-color:#fff}
#main:focus{outline:none}
.req{color:#a3321f}
.req-note{margin:0;font-size:14px;color:var(--muted)}
input,textarea,select{border-color:#868c9c}
.flinks{display:flex;gap:24px;flex-wrap:wrap}
.flinks a{color:var(--text)}
.acc{max-width:46em}
.acc-sec{padding-block:0 32px}
.acc-sec h2{font:400 28px/1.2 var(--grand);color:var(--ink);margin:0 0 12px}
.acc-sec ul{padding-inline-start:1.2em;margin:0}
.acc-sec li{margin-block:6px}
@media (max-width:760px){
  .top .wrap{flex-wrap:wrap;row-gap:10px}
  .top nav{display:flex;order:3;width:100%;margin:0;gap:20px;font-size:15px}
}

/* hero band */
.hero{background:var(--navy);color:var(--onnavy);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,88px);align-items:end;padding-top:clamp(48px,7vw,96px)}
.hero .txt{padding-bottom:clamp(56px,8vw,112px);min-width:0}
.hero .eyebrow{color:var(--brass);margin-bottom:36px}
.hero h1{font:400 clamp(60px,9vw,124px)/.95 var(--grand);color:#fff;letter-spacing:-.01em;max-width:none}
:root[data-lang="en"] .hero h1{letter-spacing:-.02em}
.hero .role{font:400 clamp(22px,2.4vw,30px)/1.3 var(--display);color:var(--onnavy);margin:18px 0 0}
.rule{display:block;width:72px;height:1px;background:var(--brass);margin:36px 0 30px}
.hero .lede{max-width:32em;margin:0;color:var(--onnavy);font-size:17.5px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.btn.light{background:#fff;color:var(--navy);border-color:#fff}
.btn.light:hover{background:#e6e9f1}
.btn.line{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn.line:hover{border-color:#fff}
.photo{margin:0;position:relative;align-self:end;max-width:100%}
.photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;position:relative;z-index:1}
.photo::before{content:"";position:absolute;inset:-18px -18px 0 18px;border:1px solid var(--brass);border-bottom:0;opacity:.7}
:root[dir="rtl"] .photo::before{inset:-18px 18px 0 -18px}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;gap:8px}
  .hero .txt{padding-bottom:40px}
  .photo{max-width:340px;justify-self:center}
}

/* credentials strip */
.facts-strip{background:#fff;border-bottom:1px solid var(--rule)}
.facts-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
@media (max-width:980px) and (min-width:761px){.facts-strip .wrap{grid-template-columns:repeat(2,1fr)}.facts-strip .wrap>div:nth-child(3){border-inline-start:0;padding-inline-start:0}.facts-strip .wrap>div:nth-child(n+3){border-top:1px solid var(--rule)}}
.facts-strip .wrap>div{padding-block:30px;padding-inline:28px;border-inline-start:1px solid var(--rule);display:grid;gap:6px;min-width:0}
.facts-strip .wrap>div:first-child{border-inline-start:0;padding-inline-start:0}
.facts-strip b{font:400 34px/1.1 var(--grand);color:var(--ink);font-variant-numeric:tabular-nums}
.facts-strip .wrap>div>span{font-size:15px;color:var(--muted)}
@media (max-width:760px){.facts-strip .wrap{grid-template-columns:1fr}.facts-strip .wrap>div{border-inline-start:0;padding-inline:0;border-top:1px solid var(--rule);padding-block:20px}.facts-strip .wrap>div:first-child{border-top:0}}

/* section rhythm */
section{border-top:0}
section+section{border-top:1px solid var(--rule)}

.areas a h3{font-size:23px}
.areas a:hover h3{color:var(--ink)}
.areas a{position:relative}
.areas a::before{content:"";position:absolute;inset-inline-start:0;top:-1px;height:1px;width:0;background:var(--brass);transition:width .35s}
.areas a:hover::before{width:72px}
@media (prefers-reduced-motion:reduce){.areas a::before{transition:none}}
.bio h2{font-family:var(--grand)!important;font-weight:400!important;font-size:clamp(34px,3.6vw,44px)!important}

/* sub-page band */
.subhero{background:var(--navy);color:var(--onnavy);padding-block:clamp(48px,7vw,88px) clamp(48px,6vw,72px)}
.subhero .crumbs,.subhero .crumbs a{color:var(--onnavy)}
.subhero .crumbs a:hover{color:#fff}
.subhero h1{font:400 clamp(40px,5.6vw,72px)/1.05 var(--grand);color:#fff;max-width:18em}
.subhero .lede{max-width:36em;margin:0;font-size:18px;color:var(--onnavy)}
