/*
Theme Name: Tawa Choisy 2026
Author: TAWA CHOISY A.A.R.P.I.
Description: Thème du site du cabinet Tawa Choisy, Avocats à la Cour (2026).
Version: 1.0
Requires at least: 6.0
Text Domain: tawachoisy
*/
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/newsreader-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/newsreader-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/newsreader-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300;font-display:swap;src:url(assets/fonts/newsreader-latin-300-italic.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/newsreader-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-latin-600-normal.woff2) format('woff2')}
*,*::before,*::after{box-sizing:border-box}html,body{margin:0}img{max-width:100%;height:auto}[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.cal iframe{width:100%;min-height:700px;border:0;display:block}
.cal.loaded{padding:0;display:block}

/* Layout: white page, generous margins, a single red vertical "trait" (from the logo's three strokes) used as the recurring divider; serif text, spaced capitals for labels like the logo. */
:root{
  --paper:#ffffff;
  --paper-2:#f6f4f4;
  --ink:#17171b;
  --ink-2:#55535a;
  --line:#e6e1e2;
  --red:#be1e2d;
  --red-ink:#a3192a;
  --on-red:#ffffff;
  --display:"Newsreader","Iowan Old Style","Georgia",serif;
  --text:"Newsreader","Iowan Old Style","Georgia",serif;
  --label:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --max:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#131215;--paper-2:#1c1a1e;--ink:#efebec;--ink-2:#a8a2a6;--line:#2e2a2e;--red:#e04a57;--red-ink:#f06b76;--on-red:#ffffff;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#131215;--paper-2:#1c1a1e;--ink:#efebec;--ink-2:#a8a2a6;--line:#2e2a2e;--red:#e04a57;--red-ink:#f06b76;--on-red:#ffffff;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--paper);color:var(--ink);font-family:var(--text);font-size:19px;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:520px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}

/* labels */
.label{font-family:var(--label);font-size:11.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--red-ink)}
.muted{color:var(--ink-2)}
h1,h2,h3{font-family:var(--display);font-weight:300;text-wrap:balance;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(40px,6vw,74px);line-height:1.04}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1}
h3{font-size:24px;line-height:1.25;font-weight:400}
p{margin:0}
.lede{font-size:clamp(20px,2vw,23px);line-height:1.5;color:var(--ink-2);max-width:36em}
.prose{max-width:38em;display:grid;gap:1em}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;color:var(--red);text-decoration:none}
.brand svg{height:34px;width:auto;display:block}
nav.main{display:flex;align-items:center;gap:28px}
nav.main a{font-family:var(--label);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover{color:var(--red-ink)}
nav.main a[aria-current="page"]{border-bottom-color:var(--red);color:var(--red-ink)}
.tools{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line)}
.lang button{all:unset;cursor:pointer;font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.14em;padding:6px 9px;color:var(--ink-2)}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.menu-btn{all:unset;display:none;cursor:pointer;font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:8px 0}
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:16px 26px;border:1px solid var(--red);background:var(--red);color:var(--on-red);transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--red-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn .arr{font-family:var(--text);font-size:16px;letter-spacing:0}
@media (max-width:520px){.brand svg{height:24px}.bar{gap:12px}.tools{gap:10px}}
@media (max-width:980px){
  nav.main{display:none;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}
  nav.main.open{display:flex}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--line)}
  nav.main a[aria-current="page"]{border-bottom-color:var(--line)}
  .menu-btn{display:block}
}

/* the trait: three tapered strokes, from the logo */
.trait{display:inline-flex;gap:9px;align-items:center;color:var(--red)}
.trait i{display:block;width:2px;background:currentColor;clip-path:polygon(50% 0,100% 100%,0 100%)}
.trait i:nth-child(1),.trait i:nth-child(3){height:26px}
.trait i:nth-child(2){height:38px}
.trait.down i{clip-path:polygon(0 0,100% 0,50% 100%)}

/* pages */
.page{display:none}
.page.on{display:block;animation:rise .5s ease both}
@keyframes rise{from{opacity:.0;transform:translateY(6px)}to{opacity:1;transform:none}}
section.band{padding-block:clamp(56px,8vw,112px)}
section.band.tint{background:var(--paper-2)}
section.band + section.band:not(.tint){border-top:1px solid var(--line)}
.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px)}

/* hero */
.hero{padding-block:clamp(56px,9vw,128px) clamp(48px,7vw,96px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:880px;gap:clamp(32px,6vw,96px);align-items:end}
.hero h1 em{font-style:italic;color:var(--red-ink)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.hero-aside{border-left:1px solid var(--line);padding-left:clamp(20px,3vw,40px);display:grid;gap:22px}
.facts{display:grid;gap:18px;margin:0}
.facts div{display:grid;gap:4px}
.facts dt{font-family:var(--label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2)}
.facts dd{margin:0;font-size:20px}
.cities{display:flex;flex-wrap:wrap;gap:6px 0;font-family:var(--label);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-top:clamp(48px,6vw,80px);padding-top:22px;border-top:1px solid var(--line)}
.cities span{display:inline-flex;align-items:center}
.cities span+span::before{content:"";width:1px;height:12px;background:var(--red);margin:0 18px}
.cities span:first-child{color:var(--ink)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-aside{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px}}

/* values */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.value{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:1px solid var(--ink)}
.value .label{color:var(--ink-2)}
.value p{color:var(--ink-2)}
@media (max-width:760px){.values{grid-template-columns:1fr}}

/* family office */
section.band.fo{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
.fo-intro{display:grid;gap:22px;align-content:start}
.fo-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.fo-list li{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}
.fo-list b{font-family:var(--display);font-weight:400;font-size:23px}
.fo-list span{font-size:16.5px;color:var(--ink-2)}
@media (max-width:860px){.fo-grid{grid-template-columns:1fr}}

/* practice */
.practice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.area{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 22px;padding:30px 28px 32px 0;border-bottom:1px solid var(--line)}
.practice .area:nth-child(odd){border-right:1px solid var(--line)}
.practice .area:nth-child(even){padding-left:28px;padding-right:0}
.practice .area.wide{grid-column:1/-1;border-right:0;padding-left:0;padding-right:0}
.practice .area.wide ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
@media (max-width:760px){.practice .area.wide ul{grid-template-columns:1fr}}
.area .n{font-family:var(--label);font-size:11px;letter-spacing:.2em;color:var(--red-ink);padding-top:8px}
.area h3{grid-column:2}
.area p,.area ul{grid-column:2;color:var(--ink-2);font-size:17.5px}
.area ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.area li{padding-left:18px;position:relative}
.area li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--red)}
@media (max-width:760px){.practice{grid-template-columns:1fr}.practice .area:nth-child(odd){border-right:0}.practice .area:nth-child(even){padding-left:0}.area{padding-right:0}}
.more{margin-top:40px}

/* partners */
.partners{display:grid;gap:clamp(56px,7vw,96px)}
.partner{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,5vw,72px)}
.partner aside{display:grid;gap:18px;align-content:start}
.monogram{aspect-ratio:4/5;max-width:100%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.monogram.photo{display:block}
.monogram img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.monogram span{font-family:var(--display);font-weight:300;font-size:96px;color:var(--red);letter-spacing:-.02em}
.monogram .trait{position:absolute;top:22px;left:50%;transform:translateX(-50%)}
.partner .role{font-family:var(--label);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{font-family:var(--label);font-size:11px;letter-spacing:.1em;padding:6px 10px;border:1px solid var(--line);color:var(--ink-2)}
.partner .body{display:grid;gap:28px;min-width:0}
.partner .body h4{font-family:var(--label);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--red-ink);font-weight:500;margin:0 0 10px}
.partner .body p+p{margin-top:.8em}
.mail{font-family:var(--label);font-size:13px;letter-spacing:.04em;color:var(--ink);user-select:all;word-break:break-all}
@media (max-width:760px){.partner{grid-template-columns:1fr}.monogram{max-width:240px}}

/* international */
.intl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.cityrow{display:grid;border-top:1px solid var(--line)}
.cityrow div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.cityrow b{font-family:var(--display);font-weight:400;font-size:26px}
.cityrow small{font-family:var(--label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.cityrow div:first-child b{color:var(--red-ink)}
@media (max-width:860px){.intl{grid-template-columns:1fr}}

/* news */
.news{display:grid;border-top:1px solid var(--line)}
.news article{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px 32px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.news time{font-family:var(--label);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-variant-numeric:tabular-nums}
.news h3{font-size:23px}
.news p{grid-column:2;color:var(--ink-2);font-size:17px;max-width:44em}
.news .kind{font-family:var(--label);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red-ink)}
@media (max-width:720px){.news article{grid-template-columns:1fr}.news p{grid-column:1}}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px);align-items:start}
.coords{display:grid;gap:26px}
.coords .row{display:grid;gap:6px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.coords .val{font-size:22px;user-select:all}
.copy{all:unset;cursor:pointer;font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red-ink);justify-self:start}
.booking{background:var(--paper-2);border:1px solid var(--line);padding:clamp(24px,4vw,44px);display:grid;gap:22px}
.booking .slot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.booking .slot div{padding:16px 14px 16px 0;display:grid;gap:4px}
.booking .slot div+div{padding-left:14px;border-left:1px solid var(--line)}
.booking .slot b{font-family:var(--display);font-weight:400;font-size:20px}
.booking .slot small{font-family:var(--label);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}
.cal{border:1px solid var(--line);background:var(--paper);min-height:120px;display:grid;place-items:center;text-align:center;padding:28px;gap:14px}
.fine{font-size:14.5px;color:var(--ink-2);line-height:1.5}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:520px){.booking .slot{grid-template-columns:1fr}.booking .slot div+div{border-left:0;padding-left:0;border-top:1px solid var(--line)}}

/* CTA band */
.cta-band{background:#be1e2d;color:var(--on-red)}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-block:clamp(44px,6vw,72px)}
.cta-band h2{color:var(--on-red);max-width:18em}
.cta-band .btn{background:var(--on-red);color:#be1e2d;border-color:var(--on-red)}
.cta-band .btn:hover{background:transparent;color:var(--on-red)}

/* legal */
.legal{display:grid;gap:34px;max-width:46em}
.legal h3{font-size:22px;margin-bottom:8px}
.legal p,.legal li{color:var(--ink-2);font-size:17px}
.legal ul{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}
.legal a{color:var(--red-ink)}
.legal .sub{display:grid;gap:10px;margin-top:28px;padding-top:40px;border-top:1px solid var(--line)}
.todo{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--ink);padding:0 4px;font-family:var(--label);font-size:.8em}


/* veille */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chips button{all:unset;cursor:pointer;font-family:var(--label);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);color:var(--ink-2)}
.chips button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.chips button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.feed.list{grid-template-columns:repeat(2,minmax(0,1fr))}
.item{display:grid;gap:12px;align-content:start;padding:28px 28px 32px 0;border-bottom:1px solid var(--line);min-width:0}
.feed .item+.item{padding-left:28px;border-left:1px solid var(--line)}
.feed.list .item:nth-child(odd){padding-left:0;border-left:0}
.feed:not(.list) .item:nth-child(3n+1){padding-left:0;border-left:0}
.item .meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-family:var(--label);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.item .meta .th{color:var(--red-ink);font-weight:600}
.item .meta time{color:var(--ink-2);font-variant-numeric:tabular-nums}
.item h3{font-size:22px}
.item p{color:var(--ink-2);font-size:17px}
.item .ref{font-family:var(--label);font-size:11.5px;letter-spacing:.04em;color:var(--ink)}
.item a.src{font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red-ink);text-decoration:none}
.item a.src:hover{text-decoration:underline}
.feed-empty{padding:28px 0;color:var(--ink-2);border-bottom:1px solid var(--line);grid-column:1/-1}
.feed-note{margin-top:22px;font-size:14.5px;color:var(--ink-2);max-width:52em}
@media (max-width:900px){.feed,.feed.list{grid-template-columns:1fr}.feed .item+.item{padding-left:0;border-left:0}.item{padding-right:0}}

/* footer */
footer.site{background:var(--paper-2);color:var(--ink);border-top:1px solid var(--line);padding-block:64px 32px}
footer.site .cols{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:40px}
footer.site .logo{color:var(--red);width:190px;max-width:100%}
footer.site h5{font-family:var(--label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--red-ink);font-weight:500;margin:0 0 14px}
footer.site p,footer.site a{font-size:16px;color:var(--ink);text-decoration:none;line-height:1.7}
footer.site a:hover{color:var(--red-ink);text-decoration:underline}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site .f-cities{margin-top:48px;padding-top:22px;border-top:1px solid var(--line)}
footer.site .legal-line{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--label);font-size:11.5px;letter-spacing:.06em;line-height:1.9;color:var(--ink-2)}
footer.site .legal-line b{font-weight:600;color:var(--ink)}
footer.site .base{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-family:var(--label);font-size:11px;letter-spacing:.12em;color:var(--ink-2)}
footer.site .base nav{display:flex;flex-wrap:wrap;gap:8px 22px}
footer.site .base a{font-family:var(--label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}

/* language */
[data-lang="fr"] [lang="en"]:not(html){display:none!important}
[data-lang="en"] [lang="fr"]:not(html){display:none!important}

.admin-bar header.site{top:32px}@media (max-width:782px){.admin-bar header.site{top:46px}}
