/* Studio Legale Bini — dark edition. Based on the owner's original palette.
   Midnight/JPS black #030122; soft gold #dede7c; Baskerville headings.
   No external fonts, libraries, trackers or scripts. */
:root{--black:#030122;--deep:#05041b;--gold:#dede7c;--gold-strong:#f0e89b;--white:#f2f1e7;--muted:#d0cfbc;--line:rgba(222,222,124,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--white);background:var(--black);font:16px/1.72 'Baskerville','Libre Baskerville','Times New Roman',Georgia,serif}a{color:inherit}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(1120px,calc(100% - 60px));margin-inline:auto}
.draft-notice{background:#121031;border-bottom:1px solid var(--line);color:var(--gold);text-align:center;padding:7px;font:10px/1.5 Arial,sans-serif;letter-spacing:1.4px}
.site-header{background:var(--black);border-bottom:1px solid var(--line)}.header-row{min-height:122px;display:flex;justify-content:space-between;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.brand-mark{width:73px;height:76px;object-fit:cover;display:block}.brand-text{color:var(--gold);display:flex;flex-direction:column;font-size:26px;font-style:italic;line-height:1.15}.brand-text small{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2.7px;font-style:normal;color:var(--muted);padding-top:9px}.header-right{display:flex;align-items:center;gap:35px}.nav{display:flex;gap:27px}.nav a,.lang a{font:12px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--gold)}.nav a:hover,.lang a:hover{color:#fff}.lang{display:flex;gap:12px;border-left:1px solid var(--line);padding-left:22px}.lang a{color:#a8a99a}.lang a.active{color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:5px}
.hero{background:var(--black);position:relative;overflow:hidden}.hero:after{content:'';pointer-events:none;position:absolute;border:1px solid rgba(222,222,124,.08);border-radius:50%;height:720px;width:720px;top:-350px;right:-300px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:70px;min-height:625px;padding:75px 0 95px}.eyebrow{color:var(--gold);font:11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:3.7px;margin:0 0 27px}.hero h1,.section-heading h2,.about h2,.closing h2{font-family:Baskerville,'Baskerville Old Face','Palatino Linotype',Palatino,Georgia,serif;font-weight:400;line-height:1.12}.hero h1{color:var(--gold);font-size:clamp(49px,5.6vw,76px);letter-spacing:-1px;margin:0 0 28px}.hero h1 em{font-weight:400;color:#fff;font-style:normal}.lead{max-width:605px;color:var(--white);font-size:20px;line-height:1.8;margin:0}.scroll-hint{display:inline-block;margin-top:36px;text-transform:uppercase;font:11px Arial,sans-serif;text-decoration:none;letter-spacing:2.1px;color:var(--gold)}.scroll-hint:after{content:' ↓';padding-left:4px}
.hero-identity{padding:20px 10px;text-align:center}.hero-identity img{display:block;width:min(222px,80%);height:auto;aspect-ratio:1;object-fit:cover;margin:0 auto 21px}.hero-identity strong{display:block;font-size:32px;color:var(--gold);font-weight:400;font-style:italic}.hero-identity span{display:block;margin-top:9px;font:11px Arial,sans-serif;letter-spacing:1.8px;color:var(--white);text-transform:uppercase}
.intro{padding:81px 0 83px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:250px 1fr;gap:60px}.intro-label{color:var(--gold);font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:3px;margin-top:12px}.intro p{color:var(--white);font-size:clamp(23px,2.6vw,32px);line-height:1.48;margin:0}
.services{padding:96px 0 105px;background:var(--deep)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:46px}.section-heading h2,.about h2,.closing h2{color:var(--gold);font-size:clamp(42px,4.2vw,57px);margin:9px 0 0}.section-heading>p{margin:0 0 6px;color:var(--muted);max-width:360px;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:36px 29px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px;background:var(--deep)}.service .number{font:11px Arial,sans-serif;letter-spacing:2px;color:var(--gold)}.service h3{font-size:29px;line-height:1.22;font-weight:400;color:var(--gold);margin:20px 0 15px}.service p{font-size:16px;line-height:1.7;color:var(--white);margin:0}
.about{padding:111px 0 119px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2{max-width:510px}.about .side p{margin:0 0 22px;font-size:18px;line-height:1.8;color:var(--white)}.about .side p:last-child{margin:0}.line{display:block;width:65px;height:1px;background:var(--gold);margin-top:37px}.closing{padding:81px 0 90px;border-top:1px solid var(--line);background:var(--deep)}.closing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:45px}.closing p{color:var(--white);font-size:17px;max-width:470px}.email{font-size:clamp(22px,2.7vw,35px);color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:9px;overflow-wrap:anywhere}.email:after{content:' ↗';font-family:Arial,sans-serif;font-size:18px}
.footer{padding:28px 0 35px;border-top:1px solid var(--line);background:var(--black)}.footer-inner{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font:12px Arial,sans-serif;letter-spacing:.4px;color:var(--muted)}.footer a{color:var(--gold)}.sep{padding:0 10px;color:var(--gold)}section{scroll-margin-top:20px}
@media(max-width:850px){.header-row{flex-wrap:wrap;padding:22px 0;min-height:0}.header-right{width:100%;justify-content:space-between}.hero-grid{gap:25px;min-height:0;padding:75px 0}.hero-identity img{width:170px}.intro-grid{grid-template-columns:180px 1fr;gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:45px}}
@media(max-width:640px){.wrap{width:min(100% - 38px,540px)}.header-row{gap:14px}.brand-mark{width:59px;height:62px}.brand-text{font-size:23px}.header-right{gap:12px;overflow-x:auto}.nav{gap:15px}.nav a,.lang a{font-size:10px;letter-spacing:1px}.lang{padding-left:12px;gap:10px}.hero-grid{display:block;padding:73px 0 72px}.hero h1{font-size:clamp(44px,11vw,62px)}.hero-identity{display:none}.lead{font-size:18px}.intro{padding:66px 0}.intro-grid{display:block}.intro-label{margin-bottom:23px}.services{padding:75px 0}.section-heading{display:block}.section-heading>p{margin-top:21px}.service-grid{grid-template-columns:1fr}.service{min-height:0;padding:28px}.about{padding:78px 0}.about-grid,.closing-grid{display:block}.about .side{margin-top:30px}.closing-grid>div+div{margin-top:35px}.closing{padding:76px 0}}


/* Boutique editorial treatment: original JPS colour palette and unaltered SLB mark. */
:root { --black:#030122; --deep:#05041b; --gold:#dede7c; --muted:#d7d1b7; --line:rgba(222,222,124,.32); }
body { background:#030122; }
.wrap { width:min(1160px,calc(100% - 76px)); }
.site-header { border-bottom:1px solid rgba(222,222,124,.22); background:#030122; }
.header-row { min-height:120px; }
.brand-mark { box-shadow:0 0 0 1px rgba(222,222,124,.12); }
.brand-text { font-style:normal; font-variant:small-caps; letter-spacing:.055em; font-size:24px; }
.nav a { transition:color .2s ease; }
.hero-bespoke { background:radial-gradient(ellipse 55% 85% at 82% 46%,rgba(41,38,67,.45),transparent 80%),#030122; }
.hero-bespoke:after { display:none; }
.hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(300px,.82fr); min-height:625px; gap:75px; padding:80px 0 100px; position:relative; }
.hero-grid:before { content:''; position:absolute; left:0; bottom:45px; right:0; height:1px; background:linear-gradient(90deg,rgba(222,222,124,.5),rgba(222,222,124,.13)); }
.hero .eyebrow { display:flex;align-items:center;gap:15px; letter-spacing:3px; }
.hero .eyebrow:before { content:''; width:34px; height:1px; background:var(--gold); flex-shrink:0; }
.hero h1 { font-size:clamp(54px,6.3vw,89px); letter-spacing:-.032em; line-height:1.07; max-width:780px; }
.hero h1 em { color:#f3eee1; font-style:italic; }
.lead { max-width:550px; font-size:19px; color:#e5e2d6; line-height:1.72; }
.scroll-hint { border-bottom:1px solid rgba(222,222,124,.6);padding-bottom:8px;letter-spacing:2px; }
.scroll-hint:after { content:'  ↗'; }
.hero-identity { text-align:center;position:relative;padding:37px 30px 46px; border:1px solid rgba(222,222,124,.45); background:linear-gradient(145deg,rgba(222,222,124,.045),rgba(222,222,124,.0) 65%); }
.hero-identity:before,.hero-identity:after { content:'';position:absolute;width:20px;height:20px;border-color:var(--gold); }
.hero-identity:before { left:-1px;top:-1px;border-left:2px solid;border-top:2px solid; }
.hero-identity:after { right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid; }
.identity-overline { display:block;color:var(--gold);font:10px Arial,sans-serif;letter-spacing:3px; margin-bottom:31px; }
.hero-identity img { width:182px; max-width:80%; margin:0 auto 24px; filter:none; }
.hero-identity strong { font-size:34px;font-style:normal;font-variant:small-caps;letter-spacing:.015em; }
.hero-identity span:not(.identity-overline) { color:#d6d0bd; }
.intro-editorial { background:#030122; border-top:0;padding:102px 0; }
.intro-grid { grid-template-columns:210px 1fr;gap:75px; }
.intro-label { letter-spacing:2.9px; }
.intro p { font-size:clamp(25px,3vw,39px);font-style:italic; line-height:1.36; color:#f0ebdd; }
.services-editorial { background:#08071d; padding:110px 0 120px; }
.section-heading { margin-bottom:56px; }
.section-heading h2, .about h2,.closing h2 { font-size:clamp(45px,5vw,69px);letter-spacing:-.015em; }
.service-grid { border-left:0;border-top:1px solid var(--line);gap:0; }
.service { background:transparent; border-right:0;border-bottom:1px solid var(--line); padding:44px 34px 44px 0; min-height:250px; position:relative; }
.service:nth-child(3n + 2),.service:nth-child(3n + 3) { padding-left:34px;border-left:1px solid var(--line); }
.service .number { display:block; font-size:10px; color:#aea96b; letter-spacing:2px; }
.service h3 { font-size:33px; margin:19px 0 16px; transition:color .15s ease; }
.service p { max-width:290px;color:#dedacc; }
.service:before { content:''; position:absolute; width:28px;top:-1px;left:0;height:2px;background:var(--gold); }
.service:nth-child(3n + 2):before,.service:nth-child(3n + 3):before { left:34px; }
.about-editorial { padding:126px 0; background:linear-gradient(130deg,#030122 0%,#080720 100%); }
.about-grid { gap:115px; }
.about .side p { font-size:19px; }
.closing-editorial { background:#08071d; padding:102px 0; }
.closing h2 { font-style:italic; }
.closing .email { font-size:clamp(22px,2.6vw,34px); }
.footer { background:#030122; }
@media(max-width:850px){ .hero-grid { gap:34px; grid-template-columns:1.15fr .85fr; } .hero h1{font-size:clamp(48px,6.5vw,76px)} .service:nth-child(3n + 2),.service:nth-child(3n + 3){border-left:0;padding-left:0} .service:nth-child(2n){border-left:1px solid var(--line);padding-left:30px} .service:nth-child(3n+2):before,.service:nth-child(3n+3):before{left:0} .service:nth-child(2n):before{left:30px} .about-grid { gap:50px; } }
@media(max-width:640px){.wrap{width:min(100% - 40px,540px)} .hero-grid{display:block;padding:75px 0 90px}.hero h1{font-size:clamp(47px,11vw,64px)}.hero-identity{display:none}.intro-editorial{padding:72px 0}.intro p{font-size:27px}.services-editorial{padding:80px 0}.service{padding:30px 0;min-height:0}.service:nth-child(2n){border-left:0;padding-left:0}.service:nth-child(2n):before{left:0}.section-heading h2,.about h2,.closing h2{font-size:clamp(42px,10vw,59px)}.about-editorial{padding:90px 0}.closing-editorial{padding:75px 0}}
