:root{--gold-bright:#e7ce7c;--gold-soft:#b99747;--navy:#142f55;--blue:#356da9;--pearl:#fffdf8;--ink:#132d50}
body{background:#fffdf9;color:var(--ink)}
.scroll-progress{height:4px;background:linear-gradient(90deg,#a9d9ff,#5a91e7 48%,#e6c96f);box-shadow:0 0 16px #a9d2ffb0}
.topbar{position:sticky;top:4px;z-index:100;background:#ffffffdf;backdrop-filter:blur(18px);box-shadow:0 1px 0 #16335a14}
.topbar:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#ffffffdb;backdrop-filter:blur(18px);pointer-events:none}
.nav a{transition:color .2s,transform .2s}.nav a:hover{color:#477fba;transform:translateY(-2px)}
.nav .nav-cta{background:#163d70;color:#fff;border:1px solid #163d70;border-radius:999px;padding:10px 19px;box-shadow:0 6px 18px #15386525}
.nav .nav-cta:hover{background:#2b619b;color:#fff}
.hero-shell{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 96px);background:radial-gradient(ellipse at 78% 42%,#fff 0%,#f5faff 25%,#e8f2ff 56%,#fff9ed 100%);color:var(--ink)}
.hero-shell:before{z-index:0;content:"DIREITO";left:40%;bottom:-.16em;color:#2756910b;font-size:clamp(190px,29vw,430px);letter-spacing:-.1em;line-height:.84}
.hero-shell:after{z-index:0;width:680px;height:680px;right:-215px;top:-255px;border:1px solid #d6b75e72;box-shadow:0 0 0 32px #caa94a11,0 0 0 76px #72aeed0e,0 0 80px #b4d8ff8a;animation:slow-orbit 55s linear infinite}
.hero-aura{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(2px);mix-blend-mode:multiply}
.aura-one{width:340px;height:340px;top:28%;left:39%;background:radial-gradient(circle,#ffffffdb 0,#bcdcff55 42%,transparent 72%);animation:aurora-drift 13s ease-in-out infinite}
.aura-two{width:260px;height:260px;right:21%;bottom:4%;background:radial-gradient(circle,#f2dc9e6b 0,#f6eac222 46%,transparent 72%);animation:aurora-drift 16s ease-in-out infinite reverse}
.hero-particles{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}
.hero{position:relative;z-index:2;width:min(1360px,calc(100% - 96px));min-height:calc(100svh - 96px);gap:clamp(50px,7vw,116px);padding-top:clamp(64px,8vh,110px);padding-bottom:clamp(90px,11vh,146px)}
.hero-text{border-left:1px solid #bd9947;padding-left:30px;max-width:670px}
.hero .eyebrow{color:#78612b;letter-spacing:.25em;font-weight:700}.hero .eyebrow:before{height:2px;background:linear-gradient(90deg,#bea153,#eedc9f)}
.hero h1{font-size:clamp(76px,8.6vw,128px);line-height:.82;letter-spacing:-.075em;color:#142d50;margin:37px 0 34px}
.hero .title-visual{display:block;color:inherit}.hero .title-line{display:block;color:#142d50;animation:title-lift .95s cubic-bezier(.2,.8,.2,1) both}.hero .title-line:nth-child(2){background:linear-gradient(100deg,#174c8f,#477fb9 52%,#b69445 96%);-webkit-background-clip:text;background-clip:text;color:transparent;animation-delay:.16s;margin-top:10px}
.hero-copy{max-width:525px;font-size:clamp(17px,1.42vw,20px);line-height:1.8;color:#465870}
.hero .button,.contact-panel .button{position:relative;overflow:hidden;background:linear-gradient(115deg,#163c70,#2f69a8);border-radius:999px;color:#fff;padding:16px 24px;font-weight:600;box-shadow:0 11px 28px #28599032,0 0 0 5px #508ac414;transition:transform .22s,box-shadow .22s,background .22s}
.hero .button:hover,.contact-panel .button:hover{background:linear-gradient(115deg,#24568e,#4b85c4);box-shadow:0 16px 38px #2859904d,0 0 0 7px #508ac41c}
.hero .button:before,.contact-panel .button:before{content:"";position:absolute;inset:-40% auto -40% -40%;width:30%;transform:skewX(-23deg);background:linear-gradient(90deg,transparent,#ffffffb8,transparent);transition:left .7s cubic-bezier(.2,.7,.2,1)}
.hero .button:hover:before,.contact-panel .button:hover:before{left:125%}
.hero-note{color:#55677e}.hero-note:before{height:2px;background:#bf9f53}
.scroll-cue{color:#566a83;letter-spacing:.22em;font-weight:600}.scroll-cue-line{background:linear-gradient(#bd9947,#8dbef2,transparent)}.scroll-cue span:last-child{color:#315f93}
.portrait-frame{position:relative;height:clamp(570px,73vh,780px);max-width:510px;border-radius:270px 270px 3px 3px;padding:11px;background:linear-gradient(145deg,#fff,#dcc779 20%,#fdfefe 44%,#85b4e4 68%,#f7e8bc);box-shadow:0 34px 90px #456d9b35,0 0 0 12px #ffffff7d;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) rotate(1deg)}
.portrait-frame:before{inset:16px -25px -23px 19px;border:1px solid #d1b05a;border-radius:270px 270px 3px 3px;box-shadow:0 0 0 9px #f4e8c355}
.portrait-frame:after{content:"";position:absolute;z-index:3;top:28px;right:-31px;width:74px;height:74px;border:1px solid #d4b45d;border-radius:50%;background:radial-gradient(circle,#fff 0 45%,#fff2d86e 48%,transparent 68%);box-shadow:0 0 0 9px #fff7,0 0 45px #f0d67c82;animation:seal-pulse 4s ease-in-out infinite}
.portrait-frame img{object-position:center 27%;filter:saturate(.85) contrast(1.04)}
.portrait-caption{background:#ffffffed;color:#152f53;border:1px solid #d3b66f;border-radius:2px 24px 2px 24px;box-shadow:0 16px 50px #294d7330;backdrop-filter:blur(12px);left:-62px;bottom:35px;padding:20px 28px;min-width:266px}
.portrait-caption strong{color:#142d50}.portrait-caption span{color:#5f7190}.portrait-caption:before{color:#927532}
.hero-seal{position:absolute;z-index:4;top:54px;left:-44px;width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fffdf3,#f4e4ae 52%,#fff);border:1px solid #c9a64a;box-shadow:0 14px 40px #536b8633,inset 0 0 0 5px #ffffffa6;animation:seal-float 6s ease-in-out infinite}
.hero-seal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:slow-orbit 28s linear infinite}.hero-seal text{font:600 7.2px var(--sans);letter-spacing:1.25px;fill:#78612b}.hero-seal>span{font:600 40px var(--serif);color:#af8d3f;text-shadow:0 5px 13px #c9a64a44}
.marquee-band{background:linear-gradient(100deg,#13345f,#234f85 50%,#153962);border:0;padding:18px 0;box-shadow:0 16px 40px #1c3b641f}.marquee-track{color:#f5e3a7;font-size:12px;letter-spacing:.34em;gap:42px;animation-duration:27s}.marquee-track i{color:#fff9;font-size:16px}
.intro-band{background:linear-gradient(115deg,#fffdf7,#f7f3e9 49%,#edf5fe);padding:35px 0;box-shadow:0 12px 40px #223c5e0b}
.intro-item{border-color:#cbb57788}.intro-item span{color:#233e62;font-size:13px}.icon{color:#ba9948;filter:drop-shadow(0 4px 9px #c4a4563b)}
.section{padding-top:clamp(96px,11vw,152px);padding-bottom:clamp(96px,11vw,152px)}.section-head{max-width:860px;margin-bottom:64px}.section-kicker{color:#927536;font-weight:700}
.section h2{font-size:clamp(46px,6.2vw,80px);line-height:.98;letter-spacing:-.06em;color:#16365f;text-wrap:balance}.section-head p{color:#5c6e84;font-size:18px;line-height:1.8}
.section-head:after{color:#c9a84e;text-shadow:0 0 18px #f4de9c;animation:twinkle 3.5s ease-in-out infinite}
.areas{gap:20px;perspective:1200px}
.area,.area+.area{position:relative;isolation:isolate;overflow:hidden;border:1px solid #e1e9f2;border-radius:4px 26px 4px 26px;background:linear-gradient(152deg,#fff 0%,#fff 58%,#f3f8ff 100%);min-height:322px;padding:30px;box-shadow:0 14px 38px #3157790d,0 1px 0 #fff inset;transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.area:before{background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),#b8d9fa66,transparent 70%)}
.area:hover{padding-left:30px;border-color:#c8ab62;box-shadow:0 25px 65px #37648f1d,0 0 0 5px #e4c97721}
.area-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:22px 8px 22px 8px;background:linear-gradient(145deg,#fff,#eef6ff);color:#37699e;border:1px solid #dfebf8;box-shadow:0 8px 24px #2a58831b;transition:transform .4s,box-shadow .4s}
.area-icon svg{width:35px;height:35px}.area:hover .area-icon{transform:translateY(-5px) rotate(-4deg);box-shadow:0 13px 30px #2a58882e}
.area-no{margin-top:25px;color:#987b39;letter-spacing:.2em}.area h3{margin-top:22px;font:600 29px/1.1 var(--serif);color:#193a65}.area p{color:#63758b;font-size:15px;line-height:1.8}
.area:after{right:8px;bottom:-35px;font-size:155px;color:#39699509;transition:transform .5s,color .5s}.area:hover:after{transform:translateY(-8px);color:#39699512}
.approach-section{position:relative;overflow:hidden;padding:clamp(80px,9vw,124px) 0;background:radial-gradient(ellipse at 8% 100%,#f5eacb80,transparent 42%),linear-gradient(145deg,#f2f8ff,#e9f2fd 48%,#fffdf8)}
.approach-section:before{content:"";position:absolute;top:-330px;right:-220px;width:630px;height:630px;border:1px solid #85b2df5c;border-radius:50%;box-shadow:0 0 0 30px #95bee51a,0 0 0 72px #95bee510;pointer-events:none}
.approach-wrap{position:relative;z-index:1}.approach-shell{display:grid;grid-template-columns:minmax(245px,.72fr) minmax(0,1.6fr);gap:16px;align-items:stretch}
.approach-tabs{display:flex;flex-direction:column;gap:10px}
.approach-tab{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:10px;text-align:left;width:100%;border:1px solid #d8e3ef;background:#ffffffa8;color:#42607e;padding:19px 20px;cursor:pointer;font:500 15px var(--sans);border-radius:3px 18px 3px 18px;transition:background .28s,transform .28s,box-shadow .28s,border-color .28s}
.approach-tab:hover{transform:translateX(5px);background:#fff;border-color:#b7cce2}.approach-tab.is-active{color:#fff;background:linear-gradient(110deg,#163d70,#356eaa);border-color:#356eaa;box-shadow:0 13px 28px #244f7b31;transform:translateX(7px)}
.tab-index{font:600 13px var(--serif);color:#a2874a}.approach-tab.is-active .tab-index{color:#f2d989}.tab-label{font-weight:600}.tab-arrow{justify-self:end;opacity:.45;transition:transform .2s,opacity .2s}.approach-tab.is-active .tab-arrow{opacity:1;transform:translate(2px,-2px);color:#f3db94}
.approach-panel{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:center;min-height:390px;padding:38px;background:#ffffffd6;border:1px solid #fff;border-radius:4px 30px 4px 30px;box-shadow:0 22px 60px #42648a18;backdrop-filter:blur(18px);transition:opacity .2s,transform .35s}
.approach-panel.is-changing{opacity:.35;transform:translateY(8px) scale(.99)}
.approach-art{position:relative;display:grid;place-items:center;min-height:300px;overflow:hidden;border-radius:50%;background:radial-gradient(circle,#fff 0 25%,#f8f5eb 26%,#e6f1fd 60%,transparent 74%)}
.approach-glow{position:absolute;width:145px;height:145px;border-radius:50%;background:#e6d19473;filter:blur(24px);animation:seal-pulse 5s ease-in-out infinite}
.approach-orbit{position:absolute;left:50%;top:50%;border:1px solid #c4a55788;border-radius:50%;transform:translate(-50%,-50%)}.orbit-a{width:175px;height:175px;animation:slow-orbit 25s linear infinite}.orbit-a:after{content:"";position:absolute;right:21px;top:12px;width:9px;height:9px;border-radius:50%;background:#477eb6;box-shadow:0 0 13px #4a91d5}.orbit-b{width:235px;height:235px;border-style:dashed;border-color:#8cb6dc88;animation:slow-orbit 42s linear infinite reverse}
.approach-core{position:relative;z-index:1;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#fff,#fbf1d5);border:1px solid #d0b66b;box-shadow:0 10px 30px #b49a5540}.approach-core span{font:600 38px var(--serif);color:#a88a43}.approach-core small{font-size:8px;letter-spacing:.18em;color:#687b90}
.art-spark{position:absolute;color:#b9984b;animation:twinkle 2.8s ease-in-out infinite}.spark-a{top:21%;right:22%;font-size:23px}.spark-b{left:23%;bottom:21%;font-size:20px;animation-delay:1.2s}
.approach-copy{position:relative;z-index:1}.approach-count{color:#9b7c38;font-size:10px;font-weight:700;letter-spacing:.24em}.approach-count i{font-style:normal;color:#a9b9ca;padding:0 8px}.approach-copy h3{margin:19px 0 16px;color:#17375f;font:600 clamp(33px,3.8vw,48px)/1.08 var(--serif);letter-spacing:-.035em}.approach-copy p{margin-bottom:24px;color:#5c6f85;font-size:16px;line-height:1.85}
.text-link{display:inline-flex;align-items:center;gap:11px;color:#285c91;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em}.text-link span{color:#b18f42;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.about{background:radial-gradient(ellipse at 0 100%,#dbecffad,transparent 42%),linear-gradient(120deg,#f2f8ff 0 67%,#e8f1fc 67%)}.about-mark{background:linear-gradient(145deg,#214d7f,#122b4d 63%,#274a75);border:1px solid #e2c878;box-shadow:18px 18px 0 #d3b66f70}.about-mark:before,.about-mark:after{color:#ffffff0e}.about-mark-inner div{color:#e4ca7d}.about-orbit{border-color:#edda9d72}.orbit-one{width:72%;height:72%;animation:slow-orbit 36s linear infinite}.orbit-two{width:86%;height:86%;animation:slow-orbit 52s linear infinite reverse}.about-copy p{color:#566a81}.principle{border-color:#c5d2e0;color:#36516f}
.faq-section{position:relative;padding:clamp(86px,11vw,145px) 0;background:#fffdf9;overflow:hidden}.faq-section:after{content:"?";position:absolute;right:-20px;top:-130px;font:600 500px/1 var(--serif);color:#d8c48610;pointer-events:none}
.faq-layout{position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,145px);align-items:start}.faq-intro{position:sticky;top:125px}.faq-intro h2{font:600 clamp(43px,5.2vw,68px)/1 var(--serif);letter-spacing:-.055em;color:#18385f;margin:16px 0 21px}.faq-intro p{color:#68798e;font-size:16px;line-height:1.75;margin-bottom:27px}
.faq-list{border-top:1px solid #e4e8ed}.faq-item{border-bottom:1px solid #e4e8ed;padding:0 2px}.faq-item summary{list-style:none;display:grid;grid-template-columns:38px 1fr 30px;gap:17px;align-items:center;cursor:pointer;padding:24px 5px;color:#18385f;font:600 18px/1.35 var(--serif)}.faq-item summary::-webkit-details-marker{display:none}
.faq-number{font:600 11px var(--sans);color:#a88a43;letter-spacing:.1em}.faq-item summary i{width:28px;height:28px;border:1px solid #d3bb78;border-radius:50%;position:relative;transition:transform .3s,background .3s}.faq-item summary i:before,.faq-item summary i:after{content:"";position:absolute;left:8px;top:13px;width:10px;height:1px;background:#98783a}.faq-item summary i:after{transform:rotate(90deg);transition:transform .3s}.faq-item[open] summary i{transform:rotate(180deg);background:#faf3df}.faq-item[open] summary i:after{transform:rotate(0)}.faq-answer{animation:faq-open .32s ease}.faq-answer p{margin:0 48px 24px 60px;color:#67798d;font-size:15px;line-height:1.8}
.contact-panel{background:radial-gradient(ellipse at 82% 28%,#3b70aa 0%,#214c7f 35%,#122c4f 78%);border:1px solid #d7bd70;box-shadow:0 30px 85px #2754832b}.contact-panel:before{border-color:#e8d39252;border-radius:3px 23px 3px 23px}.contact-panel:after{color:#ffffff12}.contact-copy .section-kicker{color:#f2d987}.contact-copy h2{color:#fff}.contact-copy p{color:#e0e9f3}
.contact-panel .button{background:linear-gradient(125deg,#e9d48e,#f4e8bd);color:#18395f;box-shadow:0 10px 29px #050f2038}.contact-panel .button:hover{background:#fff0c8}
.footer{position:relative;padding-top:38px;padding-bottom:45px;color:#d8e5f2;border:0}.footer:before{content:"";position:absolute;z-index:-1;inset:0 -50vw;background:linear-gradient(110deg,#112849,#183961)}.footer-brand{color:#fff}.footer p{color:#ccdae9}.footer-meta .oab{color:#e8d18b}.footer-meta .copyright{color:#bbcce0}
.back-to-top{position:fixed;z-index:99;right:28px;bottom:28px;width:54px;height:54px;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);border:0;border-radius:50%;background:#173a65;color:#fff;box-shadow:0 12px 30px #10294d38;cursor:pointer;transition:opacity .25s,visibility .25s,transform .25s,background .25s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#2e659f}.back-to-top svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.top-track,.top-progress{fill:none;stroke-width:1.3}.top-track{stroke:#ffffff47}.top-progress{stroke:#f0d98e;stroke-dasharray:125.7;stroke-dashoffset:125.7;stroke-linecap:round}.back-to-top span{font-size:22px;line-height:1}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes title-lift{from{clip-path:inset(0 0 100% 0);transform:translateY(44px);opacity:0}to{clip-path:inset(0);transform:translateY(0);opacity:1}}
@keyframes aurora-drift{0%,100%{transform:translate3d(0,0,0) scale(.94);opacity:.55}50%{transform:translate3d(30px,-18px,0) scale(1.08);opacity:.95}}
@keyframes seal-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes twinkle{0%,100%{transform:scale(.88) rotate(-7deg);opacity:.65}50%{transform:scale(1.13) rotate(12deg);opacity:1}}
@keyframes faq-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:920px){.nav{gap:16px}.nav a{font-size:13px}.hero{gap:45px;width:calc(100% - 56px)}.hero h1{font-size:clamp(68px,9.8vw,100px)}.portrait-frame{height:min(73vh,660px)}.approach-shell{grid-template-columns:1fr}.approach-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.approach-tab{grid-template-columns:1fr 20px;padding:15px}.tab-index{grid-column:1/-1}.tab-arrow{grid-column:2;grid-row:1}.tab-label{grid-column:1/-1;grid-row:2}.approach-tab.is-active{transform:translateY(-4px)}.approach-panel{min-height:360px}.faq-layout{gap:50px}}
@media(max-width:700px){.topbar{top:4px}.nav a:not(.nav-cta){display:none}.hero{width:calc(100% - 40px);grid-template-columns:1fr;min-height:0;padding-top:55px;padding-bottom:76px;gap:49px}.hero-text{padding-left:18px}.hero h1{font-size:clamp(72px,15vw,106px)}.portrait-frame{height:min(124vw,630px);width:calc(100% - 40px);margin-right:0}.hero-seal{width:103px;height:103px;left:-31px;top:40px}.hero-seal>span{font-size:32px}.portrait-caption{left:-25px;bottom:25px}.hero-shell:after{right:-240px}.aura-one{left:5%;top:31%}.marquee-track{gap:22px;font-size:10px}.intro-grid{grid-template-columns:1fr}.intro-item,.intro-item:first-child{justify-content:flex-start;padding:15px 8px;border-right:0;border-bottom:1px solid #d3c38e}.intro-item:last-child{border-bottom:0}.areas{grid-template-columns:1fr}.area,.area+.area{min-height:unset;padding:26px}.area:hover{padding-left:26px}.approach-section{padding:78px 0}.approach-tabs{gap:6px}.approach-tab{padding:12px 10px;gap:5px}.tab-label{font-size:12px}.approach-panel{grid-template-columns:1fr;gap:8px;padding:25px}.approach-art{min-height:235px}.approach-copy{padding:4px 8px 10px}.approach-copy h3{font-size:38px}.about{background:#edf5fd}.about-grid{width:calc(100% - 40px);gap:44px}.about-mark{min-height:365px}.faq-layout{grid-template-columns:1fr;gap:40px}.faq-intro{position:static}.faq-intro h2{font-size:50px}.contact-panel{padding:46px 30px;display:block}.contact-panel .button{margin-top:28px}.footer-row{gap:28px}.footer-meta{text-align:left}.back-to-top{right:16px;bottom:16px;width:48px;height:48px}}
@media(max-width:430px){.hero{width:calc(100% - 32px);padding-top:43px;gap:41px}.hero h1{font-size:clamp(61px,16vw,78px)}.hero-copy{font-size:16px}.hero-note{font-size:12px}.scroll-cue{margin-top:32px}.portrait-frame{height:120vw;max-height:500px}.hero-seal{width:87px;height:87px;left:-25px}.hero-seal>span{font-size:27px}.portrait-caption{left:-13px;min-width:225px;padding:14px 17px}.hero-shell:before{font-size:105px}.marquee-track{gap:16px;font-size:9px}.section{padding:74px 0}.section h2{font-size:45px}.section-head p{font-size:16px}.area h3{font-size:28px}.approach-art{min-height:215px}.orbit-b{width:200px;height:200px}.orbit-a{width:155px;height:155px}.faq-intro h2{font-size:44px}.faq-item summary{grid-template-columns:30px 1fr 28px;gap:10px;font-size:16px}.faq-answer p{margin-left:40px;margin-right:15px}.contact-panel{padding:38px 22px}.contact-copy h2{font-size:42px}.cursor-glow,.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.cursor-glow{display:none}}
.approach-panel.is-changing{opacity:.3;transform:translateY(8px) scale(.99)}
.approach-section .section-head h2{font:600 clamp(46px,6.2vw,80px)/.98 var(--serif);letter-spacing:-.06em;color:#16365f}
.approach-panel[data-step="02"] .approach-art{filter:hue-rotate(12deg)}
.approach-panel[data-step="03"] .approach-art{filter:hue-rotate(-12deg)}
.approach-panel[data-step="02"] .approach-core{box-shadow:0 12px 42px #6da6d76b}
.approach-panel[data-step="03"] .approach-core{box-shadow:0 12px 42px #d4b75d70}
.approach-tab:focus-visible,.faq-item summary:focus-visible,.back-to-top:focus-visible{outline:3px solid #4e87be;outline-offset:4px}
.footer{isolation:isolate}
@media(max-width:430px){.hero h1{font-size:clamp(45px,14.5vw,63px)}}

/* Luminous editorial direction, with one motion language across the page. */
:root{--serif:"Zodiak","Playfair Display",Georgia,serif;--sans:"Satoshi","DM Sans",Arial,sans-serif;--ease-premium:cubic-bezier(.2,.75,.2,1);--gold-foil:linear-gradient(135deg,#f1df9a 0%,#ae8436 38%,#f8e9b0 62%,#9a742e 100%)}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{font-family:var(--sans);letter-spacing:-.012em}
.topbar{min-height:78px;height:auto;padding:9px 16px;border:1px solid #ffffffc9;border-radius:0 0 22px 22px;box-shadow:0 15px 42px #19375d0a;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
.topbar:before{background:#fffdf4dd;backdrop-filter:blur(22px) saturate(145%)}
.brand{gap:13px}
.brand-mark{display:grid;place-items:center;width:51px;height:51px;flex:none;overflow:hidden;border:1px solid #d8bf76;border-radius:50%;background:linear-gradient(145deg,#fff,#fffaf0);box-shadow:0 5px 18px #b8984c1f;transition:transform .45s var(--ease-premium),box-shadow .45s}
.brand-mark img{display:block;width:100%;height:100%;transition:transform .7s var(--ease-premium)}
.brand:hover .brand-mark{transform:rotate(-5deg) translateY(-1px);box-shadow:0 10px 25px #b8984c3b}
.brand:hover .brand-mark img{transform:scale(1.06) rotate(5deg)}
.brand-text{font-family:var(--sans);font-size:11px;letter-spacing:.19em}
.nav{gap:clamp(15px,2.2vw,32px)}
.nav a{position:relative;transition:color .25s ease,transform .3s var(--ease-premium)}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg,#bc9a4b,#e6d391);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-premium)}
.nav a:not(.nav-cta):hover:after{transform:scaleX(1)}
.nav .nav-cta{border-radius:999px;background:#fffdf6b8;box-shadow:0 3px 13px #ad904019;transition:color .25s,background .25s,box-shadow .3s,transform .3s var(--ease-premium)}
.nav .nav-cta:hover{background:#fff7df;box-shadow:0 10px 26px #b49a5530;transform:translateY(-2px)}
.hero-shell{background:radial-gradient(ellipse at 75% 38%,#ffffff 0%,#f4f9ff 32%,#e8f2fc 68%,#fff9ed 100%)}
.hero-shader{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.74;mix-blend-mode:multiply}
.hero-particles{z-index:1}
.hero-aura{will-change:transform;transition:transform .4s ease-out}
.aura-one{transform:translate3d(0,var(--aura-depth,0px),0)}
.aura-two{transform:translate3d(0,calc(var(--aura-depth,0px)*-.65),0)}
.hero-text{position:relative}
.hero h1{font-family:var(--serif);font-weight:500;letter-spacing:-.06em;text-wrap:balance}
.hero-copy{max-width:500px;font-size:clamp(17px,1.4vw,20px);line-height:1.8}
.hero-note{min-height:22px;letter-spacing:.035em}
.hero-note[data-typing]:not(.is-typed):after{content:"";width:1px;height:1em;margin-left:2px;background:#b49146;animation:type-caret 850ms steps(1,end) infinite}
.hero-seal{backdrop-filter:blur(10px);transition:transform .45s var(--ease-premium),box-shadow .45s}
.hero-seal:hover{transform:translateY(-4px) rotate(-5deg);box-shadow:0 20px 50px #536b8644,inset 0 0 0 5px #ffffffb5}
.hero-seal>img{position:relative;z-index:1;width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 3px 5px #9d7e3640)}
.button,.nav-cta,.text-link,.back-to-top{transition-timing-function:var(--ease-premium)}
.button{position:relative;isolation:isolate;overflow:hidden;border-radius:3px 18px 3px 18px;box-shadow:0 12px 26px #183c681c}
.button:active,.nav-cta:active{transform:translateY(1px) scale(.98)}
.button svg{transition:transform .35s var(--ease-premium)}
.button:hover svg,.nav-cta:hover span{transform:translateX(4px)}
.scroll-cue{transition:opacity .3s,transform .35s var(--ease-premium)}
.scroll-cue:hover{transform:translateY(4px);opacity:.72}
.portrait-frame{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(1200px) translate3d(var(--parallax-x,0),var(--parallax-y,0),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotate(1deg);transform-style:preserve-3d;transition:box-shadow .45s var(--ease-premium);will-change:transform}
.portrait-frame img{transform:translate3d(0,var(--portrait-scroll,0px),0) scale(var(--portrait-zoom,1.055));transform-origin:center 42%;transition:filter .65s ease;will-change:transform}
.portrait-frame:hover img{filter:url(#liquid-warp) saturate(1.04) contrast(1.04)}
.portrait-frame:hover{box-shadow:0 42px 110px #456d9b42,0 0 0 12px #ffffff9c}
.portrait-caption{border:1px solid #ffffffb5;border-radius:2px 18px 2px 18px;background:#fffdf4e8;backdrop-filter:blur(14px) saturate(140%);transition:transform .35s var(--ease-premium),box-shadow .35s}
.portrait-frame:hover .portrait-caption{transform:translateY(-4px);box-shadow:0 18px 42px #10294d26}
.marquee-track{letter-spacing:.27em}
.section h2,.approach-copy h3,.contact-copy h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;text-wrap:balance}
.section-head{max-width:720px}
.section-head p{line-height:1.8}
.area{--tilt-x:0deg;--tilt-y:0deg;--lift:0px;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift));transform-style:preserve-3d;transition:transform .42s var(--ease-premium),box-shadow .35s,border-color .35s}
.area:hover{--lift:-5px}
.area-icon{transform:translateZ(12px)}
.approach-core>img{display:block;width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 5px 10px #a5853d35)}
.about-mark{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .45s var(--ease-premium),box-shadow .4s}
.about-monogram{display:block;width:clamp(136px,16vw,194px);height:auto;margin:0 auto;filter:drop-shadow(0 10px 24px #d3b9744d);transition:transform .55s var(--ease-premium)}
.about-mark:hover .about-monogram{transform:translateY(-6px) rotate(-3deg) scale(1.035)}
.about-mark-inner p{margin-top:21px;font-family:var(--sans);letter-spacing:.24em}
.contact-panel{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(1400px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;border:1px solid #e4d39c55;border-radius:3px 30px 3px 30px;background:linear-gradient(118deg,#142f55 0%,#1c4575 57%,#17375f 100%);box-shadow:0 24px 70px #142f551e;transition:transform .4s var(--ease-premium),box-shadow .4s}
.contact-panel:hover{box-shadow:0 34px 85px #142f5530}
.faq-item summary{transition:color .25s ease,padding-left .3s var(--ease-premium)}
.faq-item summary:hover{padding-left:12px;color:#3872ad}
.faq-item summary:focus-visible,.nav a:focus-visible,.button:focus-visible{outline:3px solid #8cb8e2;outline-offset:5px;border-radius:4px}
.back-to-top{backdrop-filter:blur(10px);transition:opacity .25s,visibility .25s,transform .35s var(--ease-premium),background .25s,box-shadow .25s}
.back-to-top:hover{box-shadow:0 16px 40px #10294d48;transform:translateY(-4px) scale(1.04)}
.effect-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.has-cursor .cursor-glow{border-color:#c4a75f;mix-blend-mode:normal;box-shadow:0 0 22px #e9d28a55;opacity:.9}
.has-cursor .cursor-glow:before{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle,#e0c5789c 0,transparent 72%)}
.has-cursor .cursor-glow:after{content:"";position:absolute;inset:-6px;border:1px solid #4c7ba52b;border-radius:50%;transition:inset .35s var(--ease-premium),border-color .35s}
.has-cursor .cursor-glow.is-hover:after{inset:-11px;border-color:#c5a4548c}
.js .reveal{opacity:0;transform:translate3d(var(--reveal-x,0px),var(--reveal-y,30px),0) scale(.985);transition:opacity .8s ease,transform .85s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.js .reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);transition-delay:0ms}
.js .reveal[data-reveal="left"]{--reveal-x:-34px;--reveal-y:0px}
.js .reveal[data-reveal="right"]{--reveal-x:34px;--reveal-y:0px}
.js .reveal[data-reveal="up"]{--reveal-y:30px}
.js .reveal[data-reveal="down"]{--reveal-y:-24px}
.js .hero-text{animation:hero-arrive .95s .12s both var(--ease-premium)}
.js .portrait-frame{animation:hero-arrive .95s .28s both var(--ease-premium)}
@keyframes hero-arrive{from{opacity:0;transform:translate3d(0,24px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes type-caret{50%{opacity:0}}
@media(max-width:700px){.topbar{padding:7px 9px}.brand-mark{width:45px;height:45px}.hero-shader{opacity:.56}.hero-copy{max-width:38ch}.portrait-frame img{transform:translate3d(0,var(--portrait-scroll,0px),0) scale(var(--portrait-zoom,1.045))}.area,.about-mark,.contact-panel{transform:none!important}.about-monogram{width:150px}}
@media(max-width:430px){.topbar{padding-inline:6px}.brand{gap:9px}.brand-text{font-size:10px;letter-spacing:.15em}.brand-mark{width:41px;height:41px}.nav .nav-cta{padding:8px 10px;font-size:11px}.portrait-frame{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) rotate(1deg)}}
@media(hover:none){.portrait-frame:hover img{filter:saturate(.9) contrast(1.04)}.brand:hover .brand-mark{transform:none}.area:hover,.contact-panel:hover{box-shadow:0 14px 38px #3157790d}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-shader{display:none}.hero-aura{transform:none!important}.hero-text,.portrait-frame{animation:none!important}.portrait-frame img{transform:none!important}.js .reveal,.js .reveal.is-visible{opacity:1;transform:none;transition:none}.hero-note[data-typing]:after{display:none}.brand-mark img,.about-monogram{transition:none}.area,.about-mark,.contact-panel{transform:none!important}}
.hero-shader,.hero-particles{transition:opacity .9s ease}
.hero-shell.hero-away .hero-shader,.hero-shell.hero-away .hero-particles{opacity:0}
.nav-cta span{display:inline-block;transition:transform .3s var(--ease-premium)}
.eyebrow .thinking-orb{position:relative;display:inline-block;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 10%,#e7d28f 25%,#6f9bca 68%,#315984 100%);box-shadow:0 0 14px #c7a75677;animation:thinking-breathe 4s ease-in-out infinite}
.eyebrow .thinking-orb:after{content:"";position:absolute;inset:-5px;border:1px solid #c8ad6260;border-radius:50%;animation:thinking-ring 4s ease-in-out infinite}
@keyframes thinking-breathe{50%{transform:scale(1.14);box-shadow:0 0 22px #84add77a}}
@keyframes thinking-ring{50%{transform:scale(1.28);opacity:.32}}
@media(prefers-reduced-motion:reduce){.eyebrow .thinking-orb,.eyebrow .thinking-orb:after{animation:none}}
.hero-shell{background:radial-gradient(ellipse at 68% 34%,#1b3a60 0%,#173455 44%,#102949 100%);color:#fff}
.hero-shell:before{color:#ffffff0b}
.hero-shader{opacity:.96;mix-blend-mode:normal}
.hero-particles{opacity:.68}
.hero-text{border-left-color:#d9bd70}
.hero .eyebrow{color:#ead79e}
.hero .eyebrow:before{background:linear-gradient(90deg,#f5e5ab,#bd9848)}
.hero h1{color:#fff;font-weight:750;text-shadow:0 4px 38px #07182f69}
.hero .title-visual,.hero .title-line,.hero .title-line:nth-child(2){color:transparent;background-image:linear-gradient(108deg,#fff 0%,#fff 31%,#fff5d5 39%,#dfbd62 46%,#fff9e5 51%,#ba9444 57%,#fff 65%,#fff 100%);background-size:260% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.35px #ffffff55;text-shadow:0 5px 35px #07182f55;animation:title-gold-sheen 8s ease-in-out infinite}
.hero .title-line:nth-child(2){animation-delay:.55s}
.hero .hero-copy{color:#e0e8f2}
.hero .hero-note{color:#cbd7e5}
.hero .hero-note:before{background:#d9bd70}
@keyframes title-gold-sheen{0%,12%{background-position:100% 50%}62%,100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.hero .title-line,.hero .title-line:nth-child(2){animation:none;background-position:50% 50%}}
.hero h1{font-family:"Bodoni Moda","Bodoni 72",Didot,"Times New Roman",serif;font-weight:700;letter-spacing:-.075em;line-height:.79}
.hero .title-line{white-space:nowrap}
.hero .title-line:first-child{color:#fff;background:none;-webkit-text-fill-color:#fff;-webkit-text-stroke:0;text-shadow:0 4px 34px #06172a80;animation:none}
.hero .title-line:nth-child(2){background-image:linear-gradient(108deg,#d5b458 0%,#f5df91 18%,#b68a35 38%,#f8e6a2 54%,#c19b48 72%,#ead17d 90%);background-size:220% 100%;background-position:100% 50%;-webkit-text-fill-color:transparent;-webkit-text-stroke:.25px #fff4c577;animation:title-gold-sheen 7s ease-in-out infinite .55s}
@keyframes title-gold-sheen{0%,12%{background-position:100% 50%}62%,100%{background-position:0% 50%}}
.hero .portrait-frame.hero-cutout{position:relative;width:min(58vw,720px);height:auto;aspect-ratio:1;max-width:none;justify-self:center;align-self:end;margin:0 0 -10vh -5vw;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0);will-change:transform}
.hero .portrait-frame.hero-cutout:before,.hero .portrait-frame.hero-cutout:after{content:none;display:none}
.hero .portrait-frame.hero-cutout img{position:relative;inset:auto;display:block;width:100%;height:auto;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 30px #030d1b3b);transform:translate3d(0,var(--portrait-scroll,0px),0) scale(var(--portrait-zoom,1.025));transform-origin:center bottom}
.hero .portrait-frame.hero-cutout:hover{box-shadow:none}
.hero .portrait-frame.hero-cutout:hover img{filter:drop-shadow(0 27px 38px #030d1b55)}
.hero .button .whatsapp-mark{width:21px;height:21px;flex:none;color:#fff;transition:transform .35s var(--ease-premium)}
.hero .button:hover .whatsapp-mark{transform:scale(1.1)}
@media(max-width:920px){.hero h1{font-size:clamp(58px,10.5vw,86px)}.hero .portrait-frame.hero-cutout{width:min(58vw,590px);margin-left:-4vw;margin-bottom:-8vh}}
@media(max-width:820px){.hero .title-line{white-space:normal}.hero h1{font-size:clamp(43px,13.1vw,66px);line-height:.9}.hero .portrait-frame.hero-cutout{width:min(96vw,560px);margin:-24px auto -8vh;justify-self:center;align-self:center}.hero .portrait-frame.hero-cutout img{transform:translate3d(0,var(--portrait-scroll,0px),0) scale(var(--portrait-zoom,1.025))}}
@media(prefers-reduced-motion:reduce){.hero .title-line:nth-child(2){animation:none;background-position:50% 50%}.hero .portrait-frame.hero-cutout,.hero .portrait-frame.hero-cutout img{transform:none!important}}
.topbar{position:absolute;top:0;left:50%;z-index:20;width:min(1360px,calc(100% - 48px));min-height:88px;height:88px;margin:0;padding:10px 0;transform:translateX(-50%);border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.topbar:before{display:none}
.topbar .brand-mark{background:transparent;box-shadow:none}
.topbar .brand-text{color:#fff;text-shadow:0 2px 16px #07182a8c}
.topbar .nav a:not(.nav-cta){color:#f7f8fb;text-shadow:0 2px 12px #07182a70}
.topbar .nav a:not(.nav-cta):hover{color:#f1d98e}
.topbar .nav .nav-cta{border:1px solid #e0c878;background:#0b203bbf;color:#fff;box-shadow:0 8px 25px #06132642;backdrop-filter:blur(12px)}
.topbar .nav .nav-cta:hover{border-color:#f3dfa0;background:#17395ecf;color:#fff}
.hero-shell{min-height:100svh}
.hero{padding-top:clamp(126px,15vh,150px)}
.hero .title-line:nth-child(2){-webkit-text-stroke:0;text-shadow:none}
.hero .portrait-frame.hero-cutout img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%)}
#processo{scroll-margin-top:36px}
@media(max-width:820px){.topbar{width:calc(100% - 36px);min-height:80px;height:80px;padding:8px 0}.hero{padding-top:122px}.hero .portrait-frame.hero-cutout{margin-bottom:-5vh}}
@media(max-width:430px){.topbar .brand-mark{width:44px;height:44px}.topbar .brand-text{font-size:9px;letter-spacing:.13em}.topbar .nav .nav-cta{padding:9px 14px}.hero .portrait-frame.hero-cutout{width:100%;margin-bottom:-3vh}}
html,body{max-width:100%;overflow-x:clip}
.hero .title-line:nth-child(2){padding-bottom:.14em}
.hero .title-line:nth-child(2){line-height:1.02}
.hero .portrait-frame.hero-cutout{margin-bottom:0}
.portrait-id-card{position:absolute;z-index:6;left:-218px;bottom:11%;display:grid;gap:7px;width:min(270px,calc(100vw - 38px));padding:15px 18px;border:1px solid #fffdf5d9;border-radius:3px 18px 3px 18px;background:#fffdf2e8;color:#142f55;text-align:left;box-shadow:0 15px 42px #07182f36;backdrop-filter:blur(15px) saturate(140%)}
.portrait-id-kicker{color:#a68438;font:700 9px/1.3 var(--sans);letter-spacing:.2em;white-space:nowrap}
.portrait-id-card strong{font:600 19px/1.05 var(--serif);letter-spacing:-.025em;white-space:nowrap}
.portrait-id-role{color:#6880a0;font:500 11px/1.3 var(--sans);letter-spacing:.19em}
@media(max-width:820px){.hero{padding-bottom:0}.hero .portrait-frame.hero-cutout{margin-bottom:0}.portrait-id-card{left:4px;bottom:17%;width:min(235px,67vw);padding:13px 15px;gap:6px}}
@media(max-width:430px){.hero .title-line:nth-child(2){padding-bottom:.18em}.portrait-id-card{left:3px;bottom:16%;width:min(220px,66vw);padding:12px 13px}.portrait-id-kicker{font-size:8px}.portrait-id-card strong{font-size:17px}.portrait-id-role{font-size:10px}}
.hero .button .whatsapp-mark{width:27px;height:27px;flex:none}

/* User-approved hero and header refinements */
.hero h1{font-family:var(--sans);font-size:clamp(48px,5.4vw,78px);font-weight:700;letter-spacing:-.045em;line-height:.98}
.hero .title-line:first-child{color:#fff;background:none;-webkit-text-fill-color:#fff;-webkit-text-stroke:0;text-shadow:0 4px 34px #06172a80;animation:none}
.hero .title-line:nth-child(2){line-height:.98;padding-bottom:.06em}
.hero .eyebrow:before{content:none;display:none}

@media(max-width:820px){.hero h1{font-size:clamp(40px,8vw,64px)}}
@media(max-width:700px){.topbar .nav{display:none}}

/* Remove the former header offset so the hero begins cleanly */
.hero{padding-top:clamp(64px,8vh,96px)}
@media(max-width:820px){.hero{padding-top:clamp(52px,8vh,76px)}}

/* Refined hero typography and centered gold monogram ornament */
.hero h1{font-family:"Satoshi",var(--sans);font-size:clamp(52px,5.8vw,84px);font-weight:700;letter-spacing:-.05em;line-height:.98}
.hero .hero-copy{font-size:clamp(15px,1.25vw,17px);line-height:1.75}
.hero-ornament{position:absolute;z-index:20;top:-33px;left:50%;transform:translateX(-50%);width:min(680px,96vw);aspect-ratio:900/260;perspective:700px;pointer-events:none}
.hero-ornament .ornament-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 10px #e5cb8250)}
.hero-ornament .hero-ornament-mark{position:absolute;left:50%;top:50%;display:block;width:44px;height:44px;transform:translate(-50%,-50%);transform-style:preserve-3d;animation:hero-emblem-spin 12s linear infinite}
.hero-ornament .hero-ornament-symbol{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 6px #e5cb8260);backface-visibility:hidden}
.hero-ornament .hero-ornament-symbol-back{transform:rotateY(180deg)}
@keyframes hero-emblem-spin{to{transform:translate(-50%,-50%) rotateY(360deg)}}
@media(max-width:820px){.hero h1{font-size:clamp(44px,9.5vw,70px)}.hero-ornament{top:-22px;width:min(620px,98vw)}.hero-ornament .hero-ornament-mark,.hero-ornament .hero-ornament-symbol{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.hero-ornament .hero-ornament-mark{animation:none}}

/* Calligraphic signature with portrait fully visible and card lifted */
.hero h1{font-family:"Parisienne",cursive;font-weight:400;letter-spacing:0;line-height:.96;font-size:clamp(68px,7.8vw,104px)}
.hero .title-line{font-family:"Parisienne",cursive;font-weight:400;letter-spacing:0}
.hero .title-line:nth-child(2){line-height:1.02;padding-bottom:.12em}
.hero-ornament .hero-ornament-mark{top:37%;width:48px;height:48px}
.hero .portrait-frame.hero-cutout img{-webkit-mask-image:none;mask-image:none;transform:translate3d(0,var(--portrait-scroll,0px),0) scale(1);}
.portrait-id-card{left:-245px;bottom:8%;}
@media(max-width:820px){.hero h1{font-size:clamp(60px,13.2vw,88px)}.hero-ornament .hero-ornament-mark{top:38%;width:44px;height:44px}.portrait-id-card{left:-14px;bottom:82px;width:min(280px,calc(100vw - 16px))}}
@media(max-width:430px){.hero h1{font-size:clamp(53px,14.8vw,72px)}.portrait-id-card{left:-14px;bottom:82px;width:min(270px,calc(100vw - 16px))}}

/* Anchor the portrait and identity card to the hero's lower edge */
.hero{padding-bottom:0}
.hero .portrait-frame.hero-cutout{margin-bottom:0}
.hero .portrait-frame.hero-cutout img{-webkit-mask-image:none;mask-image:none}
.portrait-id-card{bottom:0;border-radius:2px 16px 0 2px;border-bottom:2px solid #b99a56;box-shadow:0 8px 22px #07182f24}
@media(max-width:820px){.portrait-id-card{left:-24px;bottom:58px;width:min(300px,calc(100vw - 32px));padding:11px 13px;gap:5px}.portrait-id-card strong{font-size:16px}.portrait-id-kicker{font-size:8px}.portrait-id-role{font-size:9px}}
@media(max-width:430px){.portrait-id-card{left:-24px;bottom:58px;width:min(280px,calc(100vw - 28px));padding:10px 12px}.portrait-id-card strong{font-size:15px}}
.portrait-id-card{gap:1px;padding-top:8px;padding-bottom:8px}
.portrait-id-kicker{line-height:1.12}
.portrait-id-card strong{line-height:.98}
.portrait-id-role{line-height:1.1}
@media(max-width:820px){.portrait-id-card{gap:0;padding-top:7px;padding-bottom:7px}}
@media(max-width:820px){.portrait-id-card{left:0;max-width:calc(100vw - 32px);box-sizing:border-box}.portrait-id-card strong{white-space:normal;overflow-wrap:anywhere}}
.portrait-id-card{width:fit-content;max-width:min(100vw - 32px,420px)}
.portrait-id-card{border:1px solid #e4d7b6;border-bottom:2px solid #b99a56;border-radius:14px 14px 3px 3px;box-shadow:0 10px 26px #07182f2a,0 1px 0 #fff9e9 inset}
.portrait-id-card strong{font-family:"Zodiak",Georgia,serif;font-weight:500;letter-spacing:-.04em}
.hero .hero-note{display:flex;align-items:center;gap:12px;margin-top:24px;color:#e6cf88;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.hero .hero-note:before{display:none}
.hero .hero-note .thinking-orb{position:relative;display:inline-block;width:10px;height:10px;flex:none;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 10%,#e7d28f 25%,#6f9bca 68%,#315984 100%);box-shadow:0 0 14px #c7a75677;animation:thinking-breathe 4s ease-in-out infinite}
.hero .hero-note .thinking-orb:after{content:"";position:absolute;inset:-5px;border:1px solid #c8ad6260;border-radius:50%;animation:thinking-ring 4s ease-in-out infinite}

/* Carry the hero's midnight, gold and luminous atmosphere through the page */
.intro-band{position:relative;overflow:hidden;background:linear-gradient(112deg,#102544 0%,#183b66 52%,#102746 100%);border-top:1px solid #e0c77b55;border-bottom:1px solid #e0c77b55;box-shadow:0 18px 50px #07172a30}
.intro-band:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 0%,#ddbd6b1c,transparent 43%),linear-gradient(90deg,transparent,#ffffff05,transparent);pointer-events:none}
.intro-grid{position:relative}
.intro-item{border-color:#d8bd7166}
.intro-item span{color:#f1e8ce}
.intro-item .icon{color:#e2c574;filter:drop-shadow(0 0 10px #e2c57442)}
.about{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 86% 12%,#b88c3938,transparent 30%),radial-gradient(ellipse at 4% 92%,#3b75ac48,transparent 36%),linear-gradient(125deg,#0b1931 0%,#122c4e 52%,#0b1c36 100%)}
.about:before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(118deg,transparent 0 95px,#ffffff04 96px 97px,transparent 98px 190px);pointer-events:none}
.about .section-kicker{color:#e8cf86}
.about .about-copy h2{color:#fff;text-shadow:0 8px 35px #020b1a66}
.about .about-copy p{color:#d4deeb}
.about .principle{border-color:#d4b96b66;color:#e5eaf1}
.about .principle b{color:#e4ca7b}
.about-mark{border-color:#e7cd8055;box-shadow:0 0 0 10px #d7b8650a,18px 18px 0 #d3b66f35,0 24px 65px #030b1a55}
.about-mark:before,.about-mark:after{color:#e3c87517}
.contact{position:relative;isolation:isolate}
.contact:before{content:"";position:absolute;z-index:-1;inset:0 -50vw;background:radial-gradient(ellipse at 80% 0%,#b78b3a25,transparent 34%),radial-gradient(ellipse at 12% 90%,#3e79b03b,transparent 42%),linear-gradient(120deg,#0c1a32,#153252 55%,#0c1b34)}
.contact-panel{border-color:#e2c77688;background:radial-gradient(ellipse at 86% 8%,#e2c36e2e,transparent 38%),linear-gradient(128deg,#122b4b 0%,#1d4671 54%,#102746 100%);box-shadow:0 28px 80px #020a1870,0 0 0 1px #ffffff0a inset}
.contact-panel:before{border-color:#f1dd9b5c;border-radius:18px 30px 5px 30px;inset:12px}
.contact-panel:after{color:#f0d88c12}
.contact-copy h2{font-family:"Bodoni Moda",var(--serif);letter-spacing:-.035em}
.contact-panel .button{border:1px solid #fff1c3;box-shadow:0 12px 35px #040b1955,0 0 22px #e3c7771c}
.footer:before{background:linear-gradient(110deg,#09172d,#17385e 58%,#0c1d36);border-top:1px solid #dfc47755}
.footer-brand{font-family:"Bodoni Moda",var(--serif);letter-spacing:-.025em}
.hero h1,.hero .title-line{font-family:"Pinyon Script","Parisienne",cursive;letter-spacing:0;font-weight:400}
.portrait-id-card{padding:10px 14px 11px;gap:3px}
@media(max-width:820px){.portrait-id-card{padding:9px 13px 10px;gap:3px}}

/* Hero refinements: classic typography, grounded portrait and monogram beside its label */
.hero h1,.hero .title-line{font-family:"Playfair Display",Georgia,serif;font-style:normal;font-weight:600;letter-spacing:-.045em;line-height:.96}
.hero h1{font-size:clamp(56px,7.1vw,94px)}
.hero .title-line{white-space:nowrap}
.hero .hero-note{gap:10px}
.hero-note-mark{position:relative;display:inline-block;flex:none;width:28px;height:28px;margin-left:2px;perspective:500px;transform-style:preserve-3d;animation:hero-note-emblem-spin 9s linear infinite}
.hero-note-symbol{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px #e5cb8270);backface-visibility:hidden}
.hero-note-symbol-back{transform:rotateY(180deg)}
@keyframes hero-note-emblem-spin{to{transform:rotateY(360deg)}}
.hero .portrait-frame.hero-cutout img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 91%,#000d 96%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 91%,#000d 96%,transparent 100%);transform:translate3d(0,calc(var(--portrait-scroll,0px) + 17px),0) scale(1)}
.hero .portrait-frame.hero-cutout{margin-bottom:-17px}

/* Restrained animated gold neon edging for the brand cards and contact action */
@keyframes gold-neon-edge{0%,100%{box-shadow:0 0 0 1px #e3c46e88,0 0 12px #e3c46e30,0 12px 28px #020a1838}50%{box-shadow:0 0 0 1px #f4da8f,0 0 23px #e7c76177,0 0 38px #d7ad4e30,0 14px 32px #020a1848}}
@keyframes gold-neon-button{0%,100%{box-shadow:0 0 0 1px #f2d68b,0 0 11px #e7c76155,0 9px 24px #030b1b44}50%{box-shadow:0 0 0 1px #fff0b4,0 0 20px #f2d46cbb,0 0 34px #e1b84a55,0 10px 28px #030b1b55}}
.portrait-id-card,.about-mark,.contact-panel{animation:gold-neon-edge 3.6s ease-in-out infinite}
.hero .button{border:1px solid #f2d78d;animation:gold-neon-button 3s ease-in-out infinite}
.contact-panel .button{border-color:#f2d78d;box-shadow:0 0 0 1px #f2d68b,0 0 15px #e7c76162}
@media(max-width:820px){.hero h1{font-size:clamp(40px,10.4vw,52px)}.hero .title-line{white-space:nowrap}.hero .portrait-frame.hero-cutout{margin-bottom:-17px}}
@media(max-width:820px){.hero .portrait-frame.hero-cutout img{transform:translate3d(0,calc(var(--portrait-scroll,0px) + 54px),0) scale(1)}}
@media(max-width:430px){.hero h1{font-size:clamp(38px,10.3vw,44px)}}
@media(prefers-reduced-motion:reduce){.hero-note-mark,.portrait-id-card,.about-mark,.contact-panel,.hero .button{animation:none}.portrait-id-card,.about-mark,.contact-panel{box-shadow:0 0 0 1px #e3c46e88,0 0 12px #e3c46e30,0 12px 28px #020a1838}.hero .button{box-shadow:0 0 0 1px #f2d68b,0 0 11px #e7c76155,0 9px 24px #030b1b44}}

/* EasyUI Neon Edge: moving conic beam in a fine gold outline */
@property --easyui-neon-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes easyui-neon-rotate{to{--easyui-neon-angle:360deg}}
.neon-edge{position:absolute;z-index:8;inset:-1px;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--easyui-neon-angle) at 50% 50%,transparent 0deg 280deg,#fff0bd55 302deg,#fff1c5 331deg,#d8b458 343deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px #e5cb8270);pointer-events:none;animation:easyui-neon-rotate 3s linear infinite}
.portrait-id-card,.about-mark,.contact-panel,.hero .button{position:relative;isolation:isolate}
.portrait-id-card{position:absolute;overflow:hidden}
.about-mark,.contact-panel,.hero .button{overflow:hidden}
.portrait-id-card,.about-mark,.contact-panel{animation:none;box-shadow:0 12px 32px #020a1840,0 0 16px #e3c46e22}
.hero .button{animation:none;border:1px solid #e8ce80;box-shadow:0 10px 30px #030b1b4a,0 0 17px #e7c76132}
.contact-panel .button{border-color:#f2d78d;box-shadow:0 10px 30px #030b1b4a,0 0 15px #e7c76132}
.hero{min-height:100svh;padding-bottom:0}
.hero .portrait-frame.hero-cutout{align-self:end;margin:0;transform:none!important;will-change:auto}
.hero .portrait-frame.hero-cutout img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 91%,#000d 96%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 91%,#000d 96%,transparent 100%);transform:none!important;will-change:auto}
@media(max-width:820px){.hero{grid-template-rows:auto minmax(min-content,1fr);align-items:stretch;min-height:100svh;padding-bottom:0}.hero .portrait-frame.hero-cutout{width:min(100%,560px);justify-self:center;align-self:end;margin:0}.hero .portrait-frame.hero-cutout img{transform:none!important}}
@media(prefers-reduced-motion:reduce){.neon-edge{animation:none;background:linear-gradient(90deg,transparent,#fff1c5,#d8b458,transparent);opacity:.75}.portrait-id-card,.about-mark,.contact-panel,.hero .button{animation:none}}

/* Keep the portrait inside its grid column on narrow desktop and tablet widths. */
@media(min-width:821px){.hero .portrait-frame.hero-cutout{width:min(100%,58vw,720px)}}
@media(max-width:820px){.hero-shell{min-height:0}.hero{min-height:0;grid-template-rows:auto auto;gap:clamp(24px,3vh,40px)}}

/* Keep the portrait card compact and present the biography as open text. */
.about .about-mark:before,.about .about-mark:after{content:none!important;display:none!important}
.about .about-portrait-card{display:block;height:430px;min-height:430px;max-height:430px;aspect-ratio:auto;border:1px solid #e4c77688;border-radius:4px 26px 4px 26px;background:#102b4c;box-shadow:0 24px 66px #020a1870,inset 0 1px #ffffff22}
.about .about-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;filter:saturate(.9) contrast(1.02)}
.about .about-copy{position:relative;isolation:auto;overflow:visible;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.about .about-copy .section-kicker{color:#efd78c}
.about .about-copy h2{color:#fff}
.about .about-copy p{color:#eef2f7}
@media(max-width:700px){.about .about-copy{padding:0;background:transparent}.about .about-copy p{font-size:16px;line-height:1.75}}