/* Mickael Silveira | Interface editorial jurídica - 2026 */
:root{--ink:#0b1b2a;--navy:#0a1d2e;--navy2:#12283a;--gold:#bd915a;--gold2:#d9b881;--paper:#f8f7f3;--cream:#f2efe9;--white:#fff;--line:#e7e2da;--muted:#586570;--soft:#84909a;--sans:'Manrope',Arial,Helvetica,sans-serif;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--radius:20px;--max:1240px;--shadow:0 22px 70px rgba(9,30,44,.08)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);font:400 15px/1.7 var(--sans);background:var(--paper);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}img{height:auto}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
::selection{background:#d8bb8c;color:#0b1b2a}
.skip-link{position:absolute;z-index:1200;top:-100px;left:20px;background:var(--navy);color:white;padding:12px 18px}.skip-link:focus{top:14px}
.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}
.section{padding-block:108px}.section-sm{padding-block:76px}.section-dark{background:var(--navy);color:white}.section-cream{background:var(--cream)}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font:700 10px/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:'';width:22px;height:1px;background:currentColor}
.eyebrow.light{color:var(--gold2)}
h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.045em}
h1,h2,h3,h4{color:inherit}
.display,.section-title{font-family:var(--serif);font-weight:500}
.display{font-size:clamp(4.15rem,6.1vw,7rem);line-height:.96}
.section-title{font-size:clamp(3.4rem,4.3vw,5.35rem);line-height:1.02}
.section-title.sm{font-size:clamp(2.95rem,3.5vw,4.35rem)}
.serif-italic{font-family:var(--serif);font-weight:500;font-style:italic;color:var(--gold);letter-spacing:-.05em}
.subheading{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.75;color:var(--muted)}
.muted{color:var(--muted)}.muted-light{color:#c6cbd0}.small{font-size:13px}.tiny{font-size:11px}
.text-gold{color:var(--gold2)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:44px}.section-heading>div{max-width:760px}.section-heading p{max-width:355px;color:var(--muted)}
.top-strip{height:32px;background:#0a1826;color:#e2ddd4;display:flex;align-items:center;font-size:10px;letter-spacing:.1em;font-weight:600}
.top-strip .container{display:flex;justify-content:space-between;gap:12px}.top-strip span{display:flex;align-items:center;gap:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,247,243,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,29,46,.07);transition:box-shadow .2s,background .2s}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(11,27,42,.08);background:rgba(248,247,243,.985)}
.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:205px}
.brand img{width:46px;height:55px;object-fit:contain}
.brand-type{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.brand-type strong{font-size:13px;letter-spacing:.21em;font-weight:700}.brand-type small{font-size:8px;letter-spacing:.23em;font-weight:600;color:#65707b;margin-top:4px}
.desktop-nav{display:flex;align-items:center;gap:26px}.desktop-nav>a{font-size:12px;font-weight:700;color:#364756;transition:color .2s}.desktop-nav>a:not(.btn):hover,.desktop-nav>a[aria-current='page']:not(.btn){color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:51px;padding:13px 24px;font:700 12px/1.25 var(--sans);letter-spacing:.01em;border:1px solid transparent;border-radius:4px;transition:transform .22s,background .22s,box-shadow .22s,color .22s,border-color .22s;text-align:center;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.btn svg,.text-link svg{width:16px;height:16px;flex-shrink:0;transition:transform .2s}.btn:hover svg,.text-link:hover svg{transform:translateX(4px)}
.btn-primary{color:white;background:var(--navy);box-shadow:0 7px 19px rgba(6,26,45,.12)}.btn-primary:hover{background:#18364e}
.btn-gold{color:var(--navy);background:var(--gold2)}.btn-gold:hover{background:#e8ca9a}
.btn-outline{color:var(--ink);background:transparent;border-color:#aeb7bd}.btn-outline:hover{background:white;border-color:var(--ink)}
.btn-light-outline{color:white;background:transparent;border-color:#788692}.btn-light-outline:hover{border-color:white;background:rgba(255,255,255,.07)}
.btn-sm{min-height:42px;padding:10px 17px;font-size:11px}.btn-wide{width:100%}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:12px;font-weight:800;padding-bottom:5px;border-bottom:1px solid var(--gold);transition:color .2s}
.text-link:hover{color:var(--gold)}.text-link.light{color:white}
.mobile-toggle{display:none;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--navy)}
.mobile-nav{display:none}
/* Editorial hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#f8f7f3 0%,#f8f7f3 60%,#ebe7de 60%,#ebe7de 100%)}
.hero::before{content:'';position:absolute;z-index:0;inset:0;background-image:linear-gradient(90deg,rgba(10,29,46,.025) 1px,transparent 1px);background-size:112px 100%;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.11fr .89fr;align-items:center;min-height:692px;gap:58px;padding-block:57px 80px}
.hero-copy{position:relative;z-index:2;max-width:685px}.hero-copy h1{margin:28px 0 24px}.hero-copy h1 .serif-italic{display:inline}
.hero-copy .lead{font-size:16px;max-width:520px;color:#59646e;line-height:1.85}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.hero-caption{display:flex;align-items:center;gap:14px;margin-top:45px;color:#6c777e;font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.hero-caption::before{content:'';width:48px;height:1px;background:#b6ad9f}
.hero-visual{position:relative;height:607px;align-self:center}
.hero-visual:before{content:'';position:absolute;z-index:0;width:76%;height:86%;top:6%;right:-28px;background:#d1bd9c;transform:translate(5%,0)}
.hero-photo{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.79)}
.hero-visual .photo-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(0deg,rgba(8,24,38,.45),transparent 35%)}
.visual-vertical{position:absolute;z-index:3;left:-34px;top:65px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.33em;font-weight:700;color:#8c806e}
.visual-tag{position:absolute;z-index:4;bottom:31px;left:-47px;padding:24px 30px;background:#fff;box-shadow:var(--shadow);min-width:238px;display:flex;flex-direction:column;gap:6px}
.visual-tag span{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--gold)}.visual-tag strong{font:500 25px/1.06 var(--serif);color:var(--ink)}
.hero-down{position:absolute;bottom:15px;left:48%;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#677580;display:flex;align-items:center;gap:12px;transform:translateX(-40%)}
.hero-down span{display:block;width:38px;height:1px;background:var(--gold)}
.keyline-band{background:var(--navy);color:#d4dae0}
.keyline-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.keyline-grid div{position:relative;text-align:center;padding:28px 24px;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.keyline-grid div:not(:last-child):after{content:'';width:1px;height:20px;position:absolute;right:0;top:50%;transform:translateY(-50%);background:#4c5c68}
/* Focus */
.intro-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:84px;align-items:center}.intro-copy .section-title{margin:22px 0 22px}.intro-copy .subheading{max-width:530px}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.principle-card{background:white;border:1px solid var(--line);padding:32px 29px;min-height:280px;transition:transform .22s,box-shadow .22s,border .22s}
.principle-card:hover,.area-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d1c4b0}
.number{font:500 35px/1 var(--serif);color:var(--gold)}.principle-card h3{font:600 23px/1.15 var(--serif);margin-top:33px}.principle-card p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:12px}
/* Split and services */
.profile-split{display:grid;grid-template-columns:1fr 1.07fr;gap:0;min-height:560px;background:var(--navy);color:white;overflow:hidden}
.profile-photo-wrap{position:relative;overflow:hidden;background:#1a364b}.profile-photo-wrap img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 55%;filter:saturate(.75)}
.profile-photo-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,20,33,.48),transparent 55%)}
.profile-photo-wrap .photo-note{position:absolute;z-index:2;left:8%;bottom:7%;font:italic 27px/1.2 var(--serif);color:#fff;max-width:350px}
.profile-copy{padding:clamp(55px,7vw,104px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}
.profile-copy:before{content:'MS';position:absolute;font:italic 260px/.8 var(--serif);right:-19px;bottom:0;color:rgba(255,255,255,.026);pointer-events:none}
.profile-copy .section-title{margin:20px 0 22px}.profile-copy p{color:#becbd3;font-size:14px;max-width:500px;line-height:1.95}.profile-copy .btn{margin-top:28px}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.area-card{position:relative;background:white;border:1px solid var(--line);padding:33px 30px 27px;min-height:245px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,box-shadow .25s,border .25s}
.area-card .area-icon{width:49px;height:49px;border:1px solid #e1d9cd;display:grid;place-items:center;color:#a97942;margin-bottom:25px}
.area-card .area-icon svg{width:22px;height:22px}.area-card h3{font:500 29px/1.02 var(--serif);max-width:260px}.area-card p{font-size:12px;color:#64707a;margin-top:10px;line-height:1.75}.area-card .arr{margin-top:auto;align-self:flex-end;padding-top:16px;color:#9e7547}.area-card .arr svg{width:21px;height:21px}
.areas-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:31px;padding-top:28px;border-top:1px solid var(--line)}
/* Process */
.process{position:relative;overflow:hidden}.process:after{content:'';position:absolute;width:470px;height:470px;border:1px solid rgba(255,255,255,.06);border-radius:50%;top:-260px;right:-60px}
.process .section-heading p{color:#aebec9}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:60px}
.process-item{position:relative;padding-top:34px;border-top:1px solid #526272}.process-item:before{content:'';position:absolute;top:-4px;left:0;background:var(--gold2);height:7px;width:7px;border-radius:50%}
.process-item span{color:var(--gold2);font-family:var(--serif);font-size:34px}.process-item h3{font:500 27px/1.15 var(--serif);margin:21px 0 10px}.process-item p{font-size:12px;color:#b6c3cc;line-height:1.85}
/* About */
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.about-pics{position:relative;min-height:650px}
.about-main-pic{position:absolute;inset:0 18% 9% 0;width:82%;height:91%;object-fit:cover;object-position:center 35%;filter:saturate(.76)}
.about-small-pic{position:absolute;bottom:0;right:0;width:43%;height:43%;object-fit:cover;object-position:center 85%;border:12px solid var(--paper);filter:saturate(.8)}
.about-stamp{position:absolute;top:7%;right:1%;width:125px;height:125px;border-radius:50%;background:var(--navy);color:#e2d3b8;display:flex;justify-content:center;align-items:center;text-align:center;font:italic 21px/1.05 var(--serif);transform:rotate(11deg);box-shadow:var(--shadow)}
.about-copy .section-title{margin:22px 0}.about-copy p{color:#596773;line-height:1.9;font-size:14px;margin:18px 0}.about-signature{display:flex;align-items:center;gap:17px;margin:24px 0 31px}.about-signature:before{content:'';width:34px;height:1px;background:var(--gold)}.about-signature span{display:flex;flex-direction:column;line-height:1.5}.about-signature strong{font-size:12px;letter-spacing:.07em}.about-signature small{font-size:11px;color:var(--muted)}
/* Blog */
.blog-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:21px}.blog-card{background:white;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border:1px solid var(--line);overflow:hidden;min-height:360px}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.blog-cover{height:192px;background:linear-gradient(140deg,#18334a,#071a2d);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blog-cover:after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.13)}
.blog-cover strong{font:italic 75px/.8 var(--serif);letter-spacing:-.08em;color:rgba(229,200,149,.85);z-index:1}
.blog-cover.variant-2{background:linear-gradient(128deg,#ede4d3,#b9aa8d)}.blog-cover.variant-2 strong{color:#31455a}
.blog-cover.variant-3{background:linear-gradient(120deg,#333f4a,#182b38)}
.blog-cover.variant-4{background:linear-gradient(135deg,#b69e7b,#eedbc0)}.blog-cover.variant-4 strong{color:#2c3741}
.blog-card-content{padding:27px 27px 31px;display:flex;flex-direction:column;flex:1}
.blog-meta{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:#8d632c;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.blog-meta i{font-style:normal;color:#bfc1bf}
.blog-card h3{font:500 29px/1.07 var(--serif);margin:15px 0 13px}.blog-card p{font-size:12px;line-height:1.75;color:#61717d;margin-bottom:24px}.blog-card .text-link{margin-top:auto;align-self:flex-start}
/* Location */
.location-panel{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--navy);color:white;min-height:520px;overflow:hidden}
.location-copy{padding:clamp(40px,6vw,82px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.location-copy .section-title{margin:18px 0 28px}.location-address{display:flex;gap:12px;align-items:flex-start;color:#cdd5dd;font-size:13px;line-height:1.9}.location-address svg{color:var(--gold2);width:20px;height:20px;flex-shrink:0;margin-top:4px}.location-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.map-stage{position:relative;overflow:hidden;min-height:460px;background:#e2e1dc}
.map-art{position:absolute;inset:0;background:linear-gradient(120deg,#e9e7e0,#d6d8d3);overflow:hidden}
.map-art:before{content:'';position:absolute;inset:-40px;opacity:.72;background:repeating-linear-gradient(32deg,transparent 0 54px,#f8f8f4 54px 66px,transparent 66px 124px),repeating-linear-gradient(122deg,transparent 0 74px,#f8f8f4 74px 83px,transparent 83px 147px)}
.map-art:after{content:'';position:absolute;top:32%;left:-20%;width:150%;height:70px;background:#c5cbbf;transform:rotate(-12deg);opacity:.6}
.map-art .district{position:absolute;z-index:2;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#738071;left:8%;top:13%}.map-art .district.d2{left:auto;right:9%;top:auto;bottom:17%}
.map-pin-card{position:absolute;z-index:3;left:50%;top:49%;transform:translate(-50%,-50%);padding:24px 30px;background:white;box-shadow:0 16px 55px rgba(18,38,54,.16);width:270px;color:var(--ink);text-align:center;border-top:3px solid var(--gold)}
.map-pin-card svg{margin:0 auto 12px;color:var(--gold);width:29px;height:29px}.map-pin-card strong{display:block;font:600 23px/1.03 var(--serif)}.map-pin-card small{display:block;font-size:10px;color:#67717c;margin:9px 0 18px}.map-pin-card button{font-size:11px;font-weight:800;color:var(--navy);background:transparent;border:0;padding:6px 2px;border-bottom:1px solid var(--gold)}
.map-stage iframe{border:0;position:absolute;inset:0;width:100%;height:100%;z-index:5;background:#fff}
/* FAQ */
.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.faq-layout .section-title{margin:20px 0}.faq-list{border-top:1px solid #d8d6d0}.faq-list details{border-bottom:1px solid #d8d6d0;padding:0}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0;font-size:14px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:400 30px/1 var(--serif);color:var(--gold)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 45px 25px 0;color:#62707d;font-size:13px;line-height:1.95}
/* Contact section */
.contact-block{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.contact-copy .section-title{margin:22px 0}.contact-copy p{color:#c0cbd2;font-size:14px;max-width:500px;line-height:1.9;margin-top:20px}
.contact-aside{display:flex;gap:12px;align-items:flex-start;margin-top:38px;color:#cfdae2}.contact-aside svg{width:22px;height:22px;color:var(--gold2);flex-shrink:0}.contact-aside div{max-width:330px;font-size:12px;line-height:1.8}
.form-card{background:white;color:var(--ink);padding:38px;box-shadow:0 25px 90px rgba(0,0,0,.15)}.form-card h3{font:500 32px/1.05 var(--serif);margin-bottom:10px}.form-card>.form-intro{font-size:12px;color:#6b7781;line-height:1.8;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.06em;font-weight:800;color:#3d4b56;text-transform:uppercase}
.field input,.field select,.field textarea{border:1px solid #d9ddd9;background:#fcfcfa;padding:12px 13px;color:var(--ink);outline:0;border-radius:2px;width:100%;font-size:13px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,144,85,.12)}.field textarea{resize:vertical;min-height:94px}.field input::placeholder,.field textarea::placeholder{color:#99a0a4}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='18' height='18' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2360707A' stroke-width='1.5'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:37px}
.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#66727c;line-height:1.6;margin:3px 0 19px}.privacy-check input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--navy)}.privacy-check a{text-decoration:underline;text-underline-offset:2px}.privacy-check a:hover{color:var(--gold)}
.form-status{min-height:24px;font-size:12px;line-height:1.5;margin-top:10px}.form-status.error{color:#a63535}.form-status.success{color:#1b664f}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}.form-note{font-size:10px;color:#7b858a;line-height:1.7;margin-top:13px}
/* Footer */
.site-footer{background:#071725;color:#aebbc5;border-top:1px solid #1d3343;padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr .8fr 1fr;gap:45px;padding-bottom:64px}.footer-logo{width:150px;margin-left:-5px;margin-top:-17px;margin-bottom:-25px}.footer-description{font-size:12px;line-height:1.85;max-width:280px}.site-footer h4{font-size:10px;color:#e1d8cb;text-transform:uppercase;letter-spacing:.19em;margin:0 0 18px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-links a{font-size:12px;line-height:1.5}.footer-links a:hover{color:var(--gold2)}.footer-place{font-size:12px;line-height:1.9}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #283b49;padding:22px 0 30px;font-size:10px;color:#81919e}.footer-bottom a:hover{color:white}
/* Page templates */
.page-hero{background:linear-gradient(115deg,#0a1d2e,#132f45);color:#fff;position:relative;overflow:hidden;padding:99px 0 105px}.page-hero:after{content:'MS';position:absolute;right:-2%;bottom:-85px;font:italic 390px/.75 var(--serif);color:rgba(255,255,255,.025);pointer-events:none}
.page-hero .section-title{margin:24px 0 18px;max-width:960px}.page-hero p{color:#c1cdd6;max-width:660px;font-size:15px;line-height:1.8}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#aebbc6}.breadcrumb a:hover{color:var(--gold2)}.breadcrumb span.sep{color:#a08160}
.page-hero .breadcrumb{margin-bottom:21px}
.page-hero.light-page{background:var(--cream);color:var(--ink)}.page-hero.light-page:after{color:rgba(10,29,46,.045)}.page-hero.light-page p{color:#536371}.page-hero.light-page .breadcrumb{color:#66737d}
.editorial-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.55fr);gap:90px;align-items:start}
.prose{font-size:14px;line-height:1.95;color:#4f5f6c}.prose h2{font:500 38px/1.1 var(--serif);color:var(--ink);margin:35px 0 14px}.prose h3{font:500 29px/1.14 var(--serif);color:var(--ink);margin:27px 0 12px}.prose p{margin:0 0 22px}.prose ul{padding-left:22px;margin:0 0 24px}.prose li{padding-left:4px;margin-bottom:10px}.prose strong{color:#2c3d4c}.prose a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.prose .callout{background:#eee9df;border-left:3px solid var(--gold);padding:23px 26px;margin:32px 0;color:#34495b}
.side-panel{background:#f0ede7;padding:30px;position:sticky;top:120px;border-top:3px solid var(--gold)}.side-panel h3{font:500 30px/1.1 var(--serif);margin-bottom:13px}.side-panel p{font-size:12px;line-height:1.9;color:#69747a}.side-panel .btn{margin-top:23px;width:100%}
.service-stamp{display:flex;gap:16px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.service-stamp svg{width:28px;height:28px;color:var(--gold)}.service-stamp strong{display:block;font-size:13px}.service-stamp span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.inline-cta{margin-top:38px;padding:32px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px}.inline-cta h3{font:500 30px/1.1 var(--serif)}.inline-cta p{font-size:12px;color:#bbcad2;margin-top:5px}.inline-cta .btn{flex-shrink:0}
/* Blog library */
.blog-toolbar{display:flex;justify-content:space-between;gap:25px;margin-bottom:36px;align-items:center}.blog-toolbar p{color:var(--muted);font-size:13px}.blog-toolbar .eyebrow{margin-right:12px}
.blog-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.blog-index-grid .blog-card:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.blog-index-grid .blog-card:first-child .blog-cover{height:100%}
.article-hero{padding:70px 0 65px;background:var(--cream)}.article-hero h1{font:500 clamp(3.5rem,5.4vw,5.9rem)/1 var(--serif);letter-spacing:-.05em;max-width:930px;margin:24px 0}.article-hero p{font-size:15px;color:#596875;max-width:710px}
.article-author{display:flex;gap:12px;align-items:center;margin-top:35px}.article-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:center 24%}.article-author strong{display:block;font-size:12px}.article-author small{display:block;font-size:10px;color:#64717c}
.article-main{max-width:820px;margin-inline:auto}.article-main .lead-paragraph{font:500 27px/1.35 var(--serif);color:#243b4c;margin-bottom:26px}.article-main .article-note{margin-top:52px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#697780}
.article-related{margin-top:75px;padding-top:55px;border-top:1px solid var(--line)}
/* Landing conversion page */
.landing-header{position:sticky;top:0;z-index:100;background:rgba(249,248,244,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.landing-header .header-inner{height:82px}.landing-header .tiny-back{font-weight:700;font-size:11px;color:#66717c}.landing-header .tiny-back:hover{color:var(--gold)}
.landing-hero{background:linear-gradient(110deg,#f9f7f2 0%,#f9f7f2 59%,#e8e6de 59%,#e8e6de 100%);position:relative;overflow:hidden}
.landing-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center;min-height:670px;padding-block:75px 86px}
.landing-copy h1{font:500 clamp(3.7rem,5vw,5.9rem)/1.02 var(--serif);letter-spacing:-.05em;margin:25px 0 22px}.landing-copy h1 .serif-italic{display:inline}
.landing-copy .lead{font-size:15px;line-height:1.9;color:#546573;max-width:560px}
.landing-points{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:12px}.landing-points li{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;color:#4b5c68}.landing-points svg{width:17px;height:17px;color:var(--gold);flex-shrink:0}
.landing-hero .form-card{z-index:2;position:relative;box-shadow:0 24px 76px rgba(7,25,40,.15);border-top:4px solid var(--gold)}.landing-hero .form-card h2{font:500 35px/1.07 var(--serif);margin:0 0 9px;letter-spacing:-.03em}
.landing-portrait{width:130px;height:130px;object-fit:cover;object-position:center 29%;border:5px solid #fff;border-radius:50%;box-shadow:0 12px 30px rgba(19,38,54,.12)}
.landing-id{display:flex;gap:17px;align-items:center;margin-top:34px;border-top:1px solid #dcd9d0;padding-top:24px}.landing-id strong{display:block;font-size:12px}.landing-id span{display:block;color:#64717b;font-size:11px;line-height:1.7}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.problem-card{background:white;padding:34px 29px;border:1px solid var(--line);min-height:240px}.problem-card .bullet{font:500 36px/1 var(--serif);color:var(--gold)}.problem-card h3{font:500 30px/1.09 var(--serif);margin-top:23px}.problem-card p{font-size:12px;color:#65727b;margin-top:12px}
.landing-duo{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:var(--navy);color:white}.landing-duo-copy{padding:clamp(48px,6vw,90px)}.landing-duo-copy .section-title{margin:22px 0}.landing-duo-copy p{color:#c3cbd1;font-size:13px;line-height:1.9}.landing-duo-copy .btn{margin-top:28px}
.landing-duo-image{position:relative;min-height:560px;overflow:hidden}.landing-duo-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center 33%;filter:saturate(.8)}.landing-duo-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,31,.15),transparent)}
.mobile-cta-bar{display:none}
/* Privacy / thank you */
.confirmation{min-height:68vh;display:flex;align-items:center;text-align:center}.confirmation .container{max-width:650px}.confirmation h1{margin:20px 0;font:500 clamp(3.8rem,6vw,5.5rem)/1 var(--serif)}.confirmation p{color:var(--muted);margin:0 auto 28px;max-width:460px}.confirmation .check-icon{width:60px;height:60px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;margin:auto}
/* Motion */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}[data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
@media(max-width:1190px){.container{width:min(calc(100% - 60px),var(--max))}.desktop-nav{gap:15px}.desktop-nav>a{font-size:11px}.brand{min-width:192px}.hero-grid{gap:35px}.hero-visual{height:550px}.hero-copy h1{font-size:clamp(3.9rem,5.5vw,5.5rem)}.intro-grid{gap:46px}.profile-copy{padding:60px}.about-grid{gap:50px}.blog-grid{gap:16px}}
@media(max-width:980px){.desktop-nav{display:none}.mobile-toggle{display:flex}.mobile-nav{display:none;position:absolute;z-index:102;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(11,27,42,.1);padding:15px 30px 30px}.mobile-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.mobile-nav a{padding:13px 10px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.mobile-nav .btn{margin-top:12px}.hero-grid{grid-template-columns:1fr .88fr;gap:20px;min-height:auto}.hero-copy h1{font-size:clamp(3.8rem,6.5vw,5rem)}.hero-visual{height:510px}.visual-tag{left:-22px;min-width:205px;padding:17px}.visual-vertical{display:none}.intro-grid{grid-template-columns:1fr;gap:38px}.principle-grid{grid-template-columns:repeat(3,1fr)}.profile-split{grid-template-columns:1fr 1fr}.profile-copy{padding:50px 40px}.areas-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:34px}.about-pics{min-height:570px}.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-card:last-child{display:none}.faq-layout{gap:45px}.contact-block{gap:38px}.footer-grid{grid-template-columns:repeat(2,1fr)}.landing-grid{gap:35px}.editorial-layout{gap:48px}}
@media(max-width:720px){html{scroll-padding-top:84px}.container{width:min(calc(100% - 36px),var(--max))}.section{padding-block:72px}.section-sm{padding-block:55px}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:18px}.top-strip{font-size:9px}.top-strip .container{justify-content:center}.top-strip span:last-child{display:none}.header-inner{height:73px}.brand{min-width:auto}.brand img{width:36px;height:45px}.brand-type strong{font-size:11px}.brand-type small{font-size:7px}.display{font-size:clamp(3.9rem,12vw,5.3rem)}.section-title{font-size:clamp(3.2rem,10vw,4.3rem)}.section-title.sm{font-size:3.2rem}.hero{background:var(--paper)}.hero-grid{display:flex;flex-direction:column;gap:36px;padding-block:53px 70px}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(4rem,12.1vw,6rem);margin:21px 0}.hero-copy .lead{font-size:14px}.hero-buttons{gap:10px}.hero-buttons .btn{flex:1;min-width:145px;padding-inline:12px}.hero-caption{margin-top:29px}.hero-visual{width:calc(100% - 14px);height:min(117vw,530px);align-self:flex-end;margin-right:0}.hero-visual::before{right:0;transform:translate(3%,-2%)}.hero-photo{object-position:center 30%}.visual-tag{bottom:23px;left:-17px;padding:15px 17px;min-width:196px}.hero-down{display:none}.keyline-grid{grid-template-columns:1fr}.keyline-grid div{padding:13px 12px;font-size:10px}.keyline-grid div:not(:last-child):after{display:none}.keyline-grid div:not(:last-child){border-bottom:1px solid #374657}.intro-grid{gap:28px}.principle-grid{grid-template-columns:1fr;gap:11px}.principle-card{min-height:auto;padding:27px}.principle-card h3{margin-top:16px}.profile-split{grid-template-columns:1fr}.profile-photo-wrap{min-height:390px}.profile-photo-wrap img{object-position:center 42%}.profile-copy{padding:54px 23px 62px}.areas-grid{grid-template-columns:1fr;gap:12px}.area-card{min-height:215px;padding:27px}.areas-bottom{align-items:flex-start;flex-direction:column}.process-grid{gap:28px 22px}.process-item h3{font-size:26px}.about-grid{grid-template-columns:1fr;gap:40px}.about-pics{min-height:min(118vw,560px)}.about-main-pic{inset:0 18% 9% 0}.about-stamp{width:94px;height:94px;font-size:16px}.about-copy .section-title{margin-top:16px}.blog-grid,.blog-index-grid{grid-template-columns:1fr}.blog-index-grid .blog-card:first-child{grid-column:auto;display:flex}.blog-index-grid .blog-card:first-child .blog-cover{height:192px}.blog-card:last-child{display:flex}.blog-cover{height:177px}.location-panel{grid-template-columns:1fr}.location-copy{padding:48px 25px}.map-stage{min-height:395px}.faq-layout{grid-template-columns:1fr;gap:24px}.contact-block{grid-template-columns:1fr;gap:38px}.form-card{padding:24px}.form-grid{grid-template-columns:1fr;gap:0}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 20px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.page-hero{padding:65px 0 75px}.page-hero .section-title{font-size:clamp(3.4rem,10vw,4.7rem)}.editorial-layout{grid-template-columns:1fr;gap:32px}.side-panel{position:static}.inline-cta{flex-direction:column;align-items:flex-start;padding:28px}.blog-toolbar{align-items:flex-start;flex-direction:column}.article-hero{padding:48px 0}.article-hero h1{font-size:clamp(3.4rem,10.3vw,5rem)}.article-main .lead-paragraph{font-size:25px}.landing-header .header-inner{height:72px}.landing-header .btn{display:none}.landing-hero{background:var(--paper)}.landing-grid{grid-template-columns:1fr;gap:38px;padding-block:53px 70px}.landing-copy h1{font-size:clamp(3.65rem,11.3vw,5rem)}.landing-copy .lead{font-size:14px}.landing-points{margin-top:22px}.landing-id{margin-top:24px}.landing-portrait{width:66px;height:66px}.landing-hero .form-card{margin-left:0}.problem-grid{grid-template-columns:1fr;gap:13px}.problem-card{min-height:auto;padding:27px}.problem-card h3{margin-top:16px}.landing-duo{grid-template-columns:1fr}.landing-duo-copy{padding:54px 23px}.landing-duo-image{min-height:480px}.mobile-cta-bar{position:fixed;z-index:98;display:flex;align-items:center;gap:15px;justify-content:space-between;left:0;bottom:0;right:0;padding:11px 18px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(14px);box-shadow:0 -8px 35px rgba(0,0,0,.1)}.mobile-cta-bar span{font-size:11px;line-height:1.4;font-weight:700;max-width:150px}.mobile-cta-bar .btn{min-height:44px;font-size:11px;padding:9px 14px}.landing-page .site-footer{padding-bottom:70px}}
@media(max-width:390px){.brand-type strong{font-size:10px;letter-spacing:.15em}.brand-type small{font-size:6px}.hero-copy h1{font-size:3.65rem}.section-title{font-size:3.06rem}.hero-buttons .btn{min-width:0}.process-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:1/-1}.landing-copy h1{font-size:3.45rem}}
/* WhatsApp button is emitted only after a valid business number is configured. */
.whatsapp-shortcut{position:fixed;bottom:24px;right:24px;z-index:96;display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:var(--navy);color:var(--gold2);border:1px solid #bb955c;box-shadow:0 13px 35px rgba(6,25,41,.24);border-radius:50%;transition:transform .2s,background .2s}
.whatsapp-shortcut:hover{transform:translateY(-3px);background:#203c50}
.whatsapp-shortcut svg{width:25px;height:25px}
.footer-oab{font-size:10px;margin-top:16px;color:#d8c3a7;letter-spacing:.04em}
@media(max-width:720px){.whatsapp-shortcut{width:46px;height:46px;right:14px;bottom:16px}.landing-page .whatsapp-shortcut{bottom:85px}}
/* Contrast and editorial finishing touches */
:root{--gold:#8d632c}
.serif-italic{color:#99703f}
.section-dark .serif-italic,.profile-split .serif-italic,.location-panel .serif-italic,.landing-duo .serif-italic,.page-hero:not(.light-page) .serif-italic{color:var(--gold2)}
.footer-logo{width:202px;margin-top:-24px;margin-bottom:-29px}
.map-art .district{color:#536554}
.related-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:720px){.related-grid{grid-template-columns:1fr}}
