:root{--navy:#07111f;--navy-2:#0b1b30;--navy-3:#102945;--paper:#f3f1eb;--white:#fbfaf7;--gold:#c9a665;--gold-2:#e0c187;--muted:#9ca9b8;--line:rgba(255,255,255,.14);--ink:#111820;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container:min(1220px,calc(100% - 96px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--gold);color:var(--navy);padding:10px 16px}.skip-link:focus{top:16px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transition:.25s ease}.site-header.scrolled{background:rgba(7,17,31,.92);border-color:var(--line);backdrop-filter:blur(18px)}.nav-shell{width:var(--container);min-height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(224,193,135,.65);font:20px var(--serif);letter-spacing:.08em;color:var(--gold-2);position:relative}.brand-mark:after{content:"";position:absolute;inset:5px;border:1px solid rgba(224,193,135,.18)}.brand-name{display:grid;text-transform:uppercase;line-height:1.05}.brand-name strong{font:500 21px var(--serif);letter-spacing:.14em}.brand-name span{margin-top:7px;color:var(--gold-2);font-size:9px;font-weight:650;letter-spacing:.22em}.main-nav{display:flex;align-items:center;gap:32px}.main-nav a{font-size:14px;color:rgba(251,250,247,.74);transition:color .2s}.main-nav a:hover,.main-nav a:focus-visible{color:#fff}.main-nav .nav-cta{padding:11px 17px;color:var(--gold-2);border:1px solid rgba(224,193,135,.55)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;width:18px;height:1px;margin:5px auto;background:currentColor}
.hero{position:relative;min-height:850px;height:100svh;max-height:1050px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 44%,rgba(27,70,111,.56),transparent 31%),linear-gradient(135deg,var(--navy),#08182a 58%,#0b2139)}.hero-grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(to right,transparent 20%,black 68%,transparent)}.hero-orbit{position:absolute;border:1px solid rgba(201,166,101,.2);border-radius:50%}.orbit-one{width:720px;height:720px;right:-100px;top:50%;transform:translateY(-50%)}.orbit-two{width:490px;height:490px;right:15px;top:50%;transform:translateY(-50%)}.hero-monogram{position:absolute;right:5%;top:50%;transform:translateY(-51%);font:400 clamp(240px,32vw,520px)/.8 var(--serif);letter-spacing:-.13em;color:transparent;-webkit-text-stroke:1px rgba(224,193,135,.16);user-select:none}.hero-content{position:relative;z-index:2;padding-top:76px}.eyebrow{margin:0 0 22px;color:var(--gold-2);text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.24em}.eyebrow.dark{color:#85672f}.hero h1{max-width:980px;margin:0;font:400 clamp(62px,7.2vw,112px)/.92 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--gold-2);font-weight:400}.hero-copy{max-width:570px;margin:34px 0 0;color:rgba(251,250,247,.72);font-size:19px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:1px solid var(--gold);font-size:14px;font-weight:750;letter-spacing:.04em;transition:.2s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--gold);color:var(--navy)}.button-primary:hover,.button-primary:focus-visible{background:var(--gold-2)}.text-link{display:inline-flex;align-items:center;gap:12px;padding-bottom:5px;border-bottom:1px solid rgba(224,193,135,.38);font-size:14px}.text-link span{color:var(--gold-2)}.hero-footer{position:absolute;z-index:3;bottom:0;left:50%;height:118px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.hero-footer>div{display:grid;align-content:center;padding:0 26px;border-right:1px solid var(--line)}.hero-footer>div:first-child{padding-left:0}.hero-footer span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.17em}.hero-footer strong{margin-top:5px;font:400 17px var(--serif)}
.section{position:relative;padding:126px 0}.intro,.method{background:var(--paper);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:70px 1.05fr .85fr;gap:54px}.section-index{padding-top:6px;color:#967746;font:18px var(--serif)}.intro h2,.method h2,.director h2,.contact h2,.section-heading h2{margin:0;font:400 clamp(48px,5.1vw,76px)/1.02 var(--serif);letter-spacing:-.045em}.intro-copy{padding-top:48px;color:#4d555d}.intro-copy p:first-child{margin-top:0;color:var(--ink);font-size:19px}.dark-link{margin-top:17px;color:var(--ink);border-color:rgba(7,17,31,.3)}
.areas{background:linear-gradient(180deg,var(--navy),#091a2d)}.section-heading{display:grid;grid-template-columns:1.4fr .65fr;gap:70px;align-items:end;margin-bottom:64px}.section-heading>p{margin:0 0 8px;color:var(--muted)}.areas-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.area-card{min-height:250px;display:grid;grid-template-columns:54px 1fr;gap:18px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.015);transition:.25s ease}.area-card:hover{background:rgba(255,255,255,.045)}.area-card>span{color:var(--gold-2);font:15px var(--serif)}.area-card h3{margin:0 0 16px;font:400 32px var(--serif)}.area-card p{max-width:500px;margin:0;color:var(--muted)}.area-card small{display:block;margin-bottom:10px;color:var(--gold-2);font-size:10px;text-transform:uppercase;letter-spacing:.18em}.area-featured{grid-column:span 2;min-height:285px;background:linear-gradient(110deg,rgba(201,166,101,.13),rgba(255,255,255,.015))}.area-featured h3{font-size:43px}.scope-note{max-width:760px;margin:30px 0 0;color:#8695a5;font-size:13px}
.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.method-intro>p:last-child{max-width:460px;color:#596169;font-size:18px}.method-steps{margin:0;padding:0;list-style:none;border-top:1px solid rgba(7,17,31,.16)}.method-steps li{display:grid;grid-template-columns:65px 1fr;gap:22px;padding:27px 0;border-bottom:1px solid rgba(7,17,31,.16)}.method-steps li>span{color:#947541;font:17px var(--serif)}.method-steps h3{margin:0 0 6px;font:400 25px var(--serif)}.method-steps p{margin:0;color:#626970}
.director{overflow:hidden;background:var(--navy-3)}.director-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:105px;align-items:center}.director-seal{aspect-ratio:1;max-width:430px;display:grid;place-content:center;text-align:center;border:1px solid rgba(224,193,135,.36);outline:1px solid rgba(224,193,135,.12);outline-offset:-18px;position:relative}.director-seal:before,.director-seal:after{content:"";position:absolute;background:rgba(224,193,135,.18)}.director-seal:before{width:1px;inset:0 auto 0 50%}.director-seal:after{height:1px;inset:50% 0 auto}.director-seal span,.director-seal i{position:relative;z-index:1;background:var(--navy-3);padding-inline:20px}.director-seal span{font:400 96px/.9 var(--serif);letter-spacing:-.06em;color:var(--gold-2)}.director-seal i{margin-top:16px;font:400 18px var(--serif);text-transform:uppercase;letter-spacing:.3em}.director-copy h2{max-width:730px}.director-lead{margin:27px 0 15px;color:var(--gold-2);font-size:18px}.director-copy>p:last-child{max-width:650px;color:#b2bdc9}
.contact{overflow:hidden;background:#050d17}.contact-mark{position:absolute;right:-45px;bottom:-55px;color:transparent;-webkit-text-stroke:1px rgba(224,193,135,.1);font:400 410px/.8 var(--serif);letter-spacing:-.1em}.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr;gap:100px}.contact-panel{padding:38px;border-top:1px solid var(--gold);background:rgba(255,255,255,.045)}.contact-panel>p{margin-top:0;color:#adb9c5}.button-wide{width:100%;margin:12px 0 24px}.contact-email{display:block;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-meta{display:flex;justify-content:space-between;gap:20px;margin-top:22px;color:#8f9ba8;font-size:12px;text-transform:uppercase;letter-spacing:.11em}
.site-footer{padding:66px 0 26px;background:#03080f;border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-nav{display:flex;align-items:center;gap:28px;color:#a0abb6;font-size:13px}.privacy-button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:54px;padding-top:20px;border-top:1px solid var(--line);color:#75818e;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.privacy-modal[hidden]{display:none}.privacy-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px}.privacy-backdrop{position:absolute;inset:0;background:rgba(2,6,12,.82);backdrop-filter:blur(8px)}.privacy-card{position:relative;width:min(700px,100%);max-height:85vh;overflow:auto;padding:48px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #000}.privacy-card h2{margin:0 0 24px;font:400 44px var(--serif)}.privacy-card a{text-decoration:underline}.privacy-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:32px;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:900px){:root{--container:min(100% - 44px,760px)}.main-nav{position:absolute;top:76px;left:22px;right:22px;display:none;align-items:stretch;gap:0;padding:12px;background:#0a192a;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.35)}.main-nav.open{display:grid}.main-nav a{padding:14px}.main-nav .nav-cta{margin-top:5px;text-align:center}.menu-toggle{display:block}.nav-shell{min-height:76px}.hero{min-height:790px}.hero-monogram{right:-12%;font-size:54vw}.hero-footer{height:108px}.intro-grid{grid-template-columns:45px 1fr}.intro-copy{grid-column:2;padding-top:0}.section-heading,.method-grid,.director-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.section-heading>p{max-width:570px}.director-seal{width:min(370px,100%)}.contact-panel{max-width:650px}.section{padding:98px 0}}
@media (max-width:620px){:root{--container:calc(100% - 36px)}.brand-mark{width:46px;height:46px}.brand-name strong{font-size:18px}.brand-name span{font-size:8px}.hero{min-height:760px;height:auto;padding:150px 0 185px}.hero h1{font-size:clamp(48px,14vw,67px)}.hero-copy{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-footer{height:auto;grid-template-columns:1fr;bottom:16px;border-top:1px solid var(--line)}.hero-footer>div{padding:10px 0;border-right:0;border-bottom:1px solid var(--line)}.hero-footer>div:last-child{border-bottom:0}.hero-monogram{top:34%;right:-28%;font-size:78vw}.section{padding:78px 0}.intro-grid{display:block}.section-index{margin-bottom:25px}.intro-copy{padding-top:28px}.areas-grid{grid-template-columns:1fr}.area-card,.area-featured{grid-column:auto;min-height:auto;padding:26px 22px}.area-featured h3{font-size:34px}.section-heading{margin-bottom:42px}.method-steps li{grid-template-columns:43px 1fr}.director-grid{gap:38px}.director-seal{max-width:280px}.director-seal span{font-size:70px}.contact-panel{padding:26px 20px}.contact-meta,.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-nav{flex-wrap:wrap;gap:18px}.privacy-card{padding:38px 24px}.privacy-card h2{font-size:36px}}

/* Contact, credentials and conversion additions */
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.area-link{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding-bottom:4px;border-bottom:1px solid rgba(224,193,135,.4);color:var(--gold-2);font-size:14px;font-weight:700}
.area-link span{transition:transform .2s ease}
.area-link:hover span{transform:translateX(4px)}
.director-copy>p{max-width:650px}
.director-copy>p:last-of-type{color:#b2bdc9}
.credentials{display:grid;grid-template-columns:1.35fr .8fr .8fr;margin:34px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.credentials div{min-height:108px;padding:19px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.credentials dt{color:#8493a3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.credentials dd{margin:9px 0 0;color:var(--white);font:400 17px/1.35 var(--serif)}
.contact-grid{grid-template-columns:.9fr 1.1fr;gap:86px;align-items:start}
.contact-intro>p:not(.eyebrow){max-width:610px;margin:27px 0 0;color:#aab6c2;font-size:17px}
.contact-options{display:grid;margin-top:36px;border-top:1px solid var(--line)}
.contact-option{display:grid;grid-template-columns:1fr auto;gap:2px 20px;padding:21px 0;border-bottom:1px solid var(--line);transition:padding .2s ease}
.contact-option:hover{padding-left:8px}
.contact-option span{grid-column:1/-1;color:#8997a5;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.contact-option strong{overflow-wrap:anywhere;color:var(--gold-2);font:400 21px/1.35 var(--serif)}
.contact-option small{align-self:center;color:#8f9ba8;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.intake-form{padding:38px;border-top:1px solid var(--gold);background:rgba(255,255,255,.045);box-shadow:0 28px 80px rgba(0,0,0,.18)}
.form-heading>span{color:var(--gold-2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.form-heading h3{margin:8px 0 28px;font:400 31px/1.12 var(--serif)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.form-grid label{display:grid;gap:7px}
.form-grid label>span{color:#aab6c2;font-size:12px}
.form-full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:0;background:rgba(255,255,255,.055);color:var(--white);padding:13px 14px;outline:none;transition:border-color .2s ease,background .2s ease}
.form-grid textarea{min-height:116px;resize:vertical}
.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:rgba(224,193,135,.5)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--gold)}
.form-grid select option{background:#0b1b30;color:#fff}
.form-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:11px!important;margin:2px 0 4px;cursor:pointer}
.form-check input{width:17px!important;height:17px;margin:3px 0 0;accent-color:var(--gold)}
.form-check span{font-size:12px!important;line-height:1.5}
.button-wide{width:100%;margin:24px 0 14px;cursor:pointer}
.form-note{margin:0;color:#7e8c9b;font-size:11px;line-height:1.55}
.form-status{min-height:20px;margin:8px 0 0;color:var(--gold-2);font-size:12px}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:180;display:flex;align-items:center;gap:11px;min-width:170px;padding:12px 16px;border:1px solid rgba(255,255,255,.16);background:#126249;color:#fff;box-shadow:0 16px 46px rgba(0,0,0,.36);transition:transform .2s ease,background .2s ease}
.whatsapp-float:hover{transform:translateY(-3px);background:#167758}
.whatsapp-float>span:last-child{display:grid;line-height:1.15}
.whatsapp-float strong{font-size:13px}
.whatsapp-float small{margin-top:4px;color:rgba(255,255,255,.75);font-size:10px}
.whatsapp-status{width:10px;height:10px;border:2px solid rgba(255,255,255,.55);border-radius:50%;background:#57e68a;box-shadow:0 0 0 4px rgba(87,230,138,.12)}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:55px}
  .credentials{max-width:650px}
  .intake-form{max-width:700px}
}
@media (max-width:620px){
  .credentials{grid-template-columns:1fr}
  .intake-form{padding:28px 20px}
  .form-grid{grid-template-columns:1fr}
  .form-full{grid-column:auto}
  .contact-option{grid-template-columns:1fr}
  .contact-option small{margin-top:4px}
  .whatsapp-float{right:14px;bottom:14px;min-width:auto;padding:13px}
  .whatsapp-float small{display:none}
}

/* Criminal defense page */
.subhero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 36%,rgba(27,70,111,.5),transparent 29%),linear-gradient(135deg,var(--navy),#08182a 60%,#0b2139)}
.subhero-mark{position:absolute;right:5%;top:48%;transform:translateY(-50%);color:transparent;-webkit-text-stroke:1px rgba(224,193,135,.13);font:400 clamp(260px,33vw,520px)/.8 var(--serif);letter-spacing:-.12em;user-select:none}
.subhero-content{position:relative;z-index:2;padding-top:96px}
.breadcrumb{display:inline-flex;align-items:center;gap:10px;margin-bottom:62px;color:#a6b2bf;font-size:13px}
.subhero h1{max-width:990px;margin:0;font:400 clamp(58px,6.6vw,102px)/.93 var(--serif);letter-spacing:-.05em}
.subhero-copy{max-width:650px;margin:31px 0 0;color:#b2bdc9;font-size:19px}
.penal-overview{background:var(--paper);color:var(--ink)}
.penal-overview-grid{display:grid;grid-template-columns:70px 1fr .82fr;gap:54px;align-items:start}
.penal-overview h2,.penal-services h2,.urgent-section h2{margin:0;font:400 clamp(46px,4.8vw,72px)/1.02 var(--serif);letter-spacing:-.045em}
.penal-overview-copy{padding-top:48px;color:#4d555d}
.penal-overview-copy p:first-child{margin-top:0;color:var(--ink);font-size:19px}
.penal-services{background:linear-gradient(180deg,var(--navy),#091a2d)}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-item{min-height:230px;display:grid;grid-template-columns:55px 1fr;gap:18px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.service-item>span{color:var(--gold-2);font:15px var(--serif)}
.service-item h3{margin:0 0 14px;font:400 29px/1.15 var(--serif)}
.service-item p{margin:0;color:var(--muted)}
.urgent-section{background:#0d2741}
.urgent-grid{display:grid;grid-template-columns:.36fr 1fr .62fr;gap:62px;align-items:center}
.urgent-number{color:transparent;-webkit-text-stroke:1px rgba(224,193,135,.38);font:400 150px/.8 var(--serif)}
.urgent-grid>div:nth-child(2)>p:last-child{max-width:680px;color:#b1bdc9}
.urgent-actions{padding:28px;border-top:1px solid var(--gold);background:rgba(255,255,255,.045)}
.urgent-phone{display:block;padding:15px 0;border-bottom:1px solid var(--line);color:var(--gold-2);font:400 19px var(--serif)}
.urgent-actions small{display:block;margin-top:18px;color:#91a0af;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.contact-compact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .72fr;gap:90px;align-items:start}
.contact-compact-grid>div:first-child>p:last-child{max-width:650px;color:#aab6c2}

@media (max-width:900px){
  .subhero{min-height:720px}
  .subhero-mark{right:-8%;font-size:48vw}
  .penal-overview-grid{grid-template-columns:45px 1fr}
  .penal-overview-copy{grid-column:2;padding-top:0}
  .urgent-grid{grid-template-columns:150px 1fr}
  .urgent-actions{grid-column:2}
  .contact-compact-grid{grid-template-columns:1fr;gap:48px}
}
@media (max-width:620px){
  .subhero{min-height:720px;padding:126px 0 80px}
  .subhero-content{padding-top:0}
  .breadcrumb{margin-bottom:46px}
  .subhero h1{font-size:clamp(46px,13vw,66px)}
  .subhero-copy{font-size:17px}
  .subhero-mark{right:-21%;font-size:72vw}
  .penal-overview-grid{display:block}
  .penal-overview-copy{padding-top:28px}
  .service-list{grid-template-columns:1fr}
  .service-item{min-height:auto;padding:26px 22px}
  .urgent-grid{grid-template-columns:1fr;gap:34px}
  .urgent-number{font-size:100px}
  .urgent-actions{grid-column:auto;padding:24px 20px}
}
