:root{
  --navy:#081b2e;--navy-2:#12324f;--gold:#b7792c;--gold-light:#d8ad72;
  --ivory:#f7f3ec;--paper:#fcfaf6;--ink:#252a30;--muted:#65707a;
  --line:rgba(8,27,46,.16);--line-gold:rgba(183,121,44,.3);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:Inter,Aptos,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --page:clamp(1.25rem,5.5vw,6.5rem);--max:1360px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;overflow-x:hidden;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}h1,h2,h3{margin:0;color:var(--navy);font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3rem,6vw,6.8rem)}h2{font-size:clamp(2.5rem,4.4vw,5rem)}h3{font-size:clamp(1.35rem,2vw,2rem)}p{margin:0 0 1.25rem}.skip-link{position:fixed;left:1rem;top:-100px;z-index:100;background:#fff;color:var(--navy);padding:.7rem 1rem;border:2px solid var(--gold)}.skip-link:focus{top:1rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.25rem);height:96px;padding:0 var(--page);border-bottom:1px solid transparent;transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}.header.is-scrolled{height:76px;background:rgba(247,243,236,.94);border-color:var(--line-gold);box-shadow:0 8px 30px rgba(8,27,46,.06);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;margin-right:auto;color:var(--navy);font-family:var(--serif);font-size:1.02rem;line-height:1.1;letter-spacing:.12em;text-transform:uppercase}.brand img{width:64px;height:64px;object-fit:contain}.brand small{display:block;margin-top:.35rem;color:var(--gold);font-family:var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.32em}.header nav{display:flex;gap:clamp(1rem,2vw,2.2rem);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.header nav a{position:relative;padding:.55rem 0}.header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .25s ease}.header nav a:hover::after,.header nav a:focus-visible::after{right:0}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:54px;padding:.85rem 1.35rem;border:1px solid transparent;border-radius:0;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:#fff;box-shadow:0 12px 30px rgba(183,121,44,.2)}.button-gold:hover{background:#9c6423}.button-light{background:var(--paper);color:var(--navy)}.header-cta{min-height:48px;padding:.7rem 1rem;font-size:.72rem}.eyebrow{margin-bottom:1.15rem;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.27em;text-transform:uppercase}.chapter-number{margin:0 0 .6rem;color:rgba(183,121,44,.65);font-family:var(--serif);font-size:1.05rem}.chapter-number::after{content:"";display:inline-block;width:42px;height:1px;margin:0 0 .3rem .7rem;background:currentColor}.section{position:relative;padding:clamp(6rem,10vw,10.5rem) var(--page)}

.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.72fr);grid-template-rows:1fr auto;gap:2rem clamp(2rem,6vw,7.5rem);min-height:100svh;padding:clamp(9rem,14vh,11rem) var(--page) 2rem;background:linear-gradient(115deg,var(--ivory) 0 60%,#e7ded2 60% 100%)}.hero::before{content:"";position:absolute;left:0;top:22%;width:19vw;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.hero-copy{position:relative;z-index:2;align-self:center;max-width:850px}.hero h1 em{display:block;color:var(--gold);font-weight:400}.hero .lead{max-width:620px;margin-top:2rem;color:#505b65;font-size:clamp(1rem,1.4vw,1.25rem)}.actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.text-link{display:inline-flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--navy);color:var(--navy);font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.hero-visual{position:relative;align-self:center;height:min(72vh,780px);min-height:560px}.hero-image{position:relative;width:100%;height:100%;overflow:hidden;border-radius:180px 0 0 0;background:#c7b29e;box-shadow:0 30px 80px rgba(8,27,46,.18)}.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(8,27,46,.25))}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.image-frame{position:absolute;inset:22px -22px -22px 22px;z-index:-1;border:1px solid var(--gold)}.photo-caption{position:absolute;right:-1rem;bottom:2rem;z-index:2;padding:1rem 1.3rem;background:var(--navy);color:#fff;font-family:var(--serif);font-size:1.15rem;line-height:1.15}.photo-caption small{color:var(--gold-light);font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-ornament{position:absolute;left:-.02em;bottom:4%;color:rgba(183,121,44,.07);font-family:var(--serif);font-size:clamp(11rem,25vw,28rem);line-height:.7;pointer-events:none}.trust-rail{grid-column:1/-1;display:grid;grid-template-columns:.65fr 1.15fr 1.3fr;margin-top:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-rail div{padding:1.2rem 1.5rem;border-right:1px solid var(--line)}.trust-rail div:first-child{padding-left:0}.trust-rail div:last-child{border-right:0}.trust-rail span{display:block;color:var(--gold);font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.trust-rail strong{display:block;margin-top:.3rem;color:var(--navy);font-size:.82rem;font-weight:650}

.chapter-heading{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(2rem,6vw,8rem);align-items:start;max-width:var(--max);margin:0 auto clamp(3rem,6vw,6rem)}.chapter-heading h2{max-width:850px}.chapter-heading>div:last-child>p{max-width:610px;color:var(--muted)}.situations{background:var(--paper)}.situation-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,6rem);max-width:var(--max);margin:auto}.situation-feature{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;padding:clamp(2rem,4vw,4rem);overflow:hidden;background:var(--navy);color:#fff}.situation-feature::before{content:"GF";position:absolute;right:-.08em;bottom:-.2em;color:rgba(255,255,255,.045);font-family:var(--serif);font-size:15rem}.situation-feature span,.situation-list span{color:var(--gold-light);font-family:var(--serif)}.situation-feature h3{position:relative;max-width:360px;color:#fff;font-size:clamp(2.3rem,4vw,4.6rem)}.situation-feature i{align-self:flex-end;color:var(--gold-light);font-size:2rem;font-style:normal}.situation-list{border-top:1px solid var(--line)}.situation-list article{display:grid;grid-template-columns:50px 1fr;align-items:center;min-height:104px;padding:1.1rem 0;border-bottom:1px solid var(--line);transition:padding .25s ease,background .25s ease}.situation-list article:hover{padding-left:1rem;background:rgba(183,121,44,.05)}.situation-list h3{margin:0;font-family:var(--sans);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;letter-spacing:0}

.services{background:var(--ivory)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(330px,auto);gap:1px;max-width:var(--max);margin:auto;background:var(--line)}.card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(2rem,3.5vw,3.8rem);overflow:hidden;background:var(--paper);transition:background .3s ease,color .3s ease}.card-wide{grid-column:span 2}.card b{color:var(--gold);font-family:var(--serif);font-size:.95rem;font-weight:400}.card h3{max-width:430px;font-size:clamp(2rem,3vw,3.5rem)}.card p{max-width:480px;color:var(--muted);font-size:.94rem}.card>span{position:absolute;right:-.02em;bottom:-.3em;color:rgba(8,27,46,.035);font-family:var(--serif);font-size:14rem;line-height:1}.card-dark{background:var(--navy)}.card-dark h3{color:#fff}.card-dark p{color:#c5ced6}.card-dark>span{color:rgba(255,255,255,.04)}.card:not(.card-dark):hover{background:#f2eadf}

.process{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem);overflow:hidden;background:var(--navy);color:#c9d2da}.process::after{content:"";position:absolute;right:-8vw;top:10%;width:30vw;height:30vw;border:1px solid rgba(183,121,44,.2);border-radius:50%}.process-intro{position:sticky;top:130px;align-self:start;z-index:2}.process h2{color:#fff}.process .eyebrow{color:var(--gold-light)}.steps{position:relative;z-index:2}.steps article{display:grid;grid-template-columns:80px 1fr;gap:1rem;min-height:154px;padding:2rem 0;border-top:1px solid rgba(255,255,255,.16)}.steps article:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.steps span{color:var(--gold-light);font-family:var(--serif);font-size:1.1rem}.steps h3{color:#fff;font-size:clamp(1.7rem,2.5vw,2.6rem)}.steps p{max-width:540px;margin:0;color:#aebbc6}

.about{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1fr);gap:clamp(3rem,8vw,10rem);align-items:center;background:var(--paper)}.about-image{position:relative;height:min(78vw,760px);max-height:760px;overflow:hidden;border-radius:0 0 170px 0}.about-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(8,27,46,.32))}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.about-image span{position:absolute;left:2rem;bottom:1rem;z-index:2;color:rgba(255,255,255,.5);font-family:var(--serif);font-size:6rem}.about-copy{max-width:700px}.about-copy>p:not(.eyebrow):not(.chapter-number){max-width:630px;color:var(--muted);font-size:1.05rem}.credentials{margin:2.5rem 0 0}.credentials div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.credentials div:last-child{border-bottom:1px solid var(--line)}.credentials dt{color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.credentials dd{margin:0;color:var(--navy);font-family:var(--serif);font-size:1.15rem;line-height:1.4}

.documents{background:#eee4d8}.documents ul{display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--max);margin:0 auto 3.5rem;padding:0;border-top:1px solid rgba(8,27,46,.2);list-style:none}.documents li{display:flex;flex-direction:column;justify-content:space-between;min-height:210px;padding:1.5rem;border-right:1px solid rgba(8,27,46,.2);color:var(--navy);font-family:var(--serif);font-size:1.35rem;line-height:1.25}.documents li:last-child{border-right:0}.documents li span{color:var(--gold);font-family:var(--sans);font-size:.65rem;letter-spacing:.16em}.document-note{display:flex;align-items:center;gap:1rem;max-width:900px;margin:0 auto;padding:1.25rem 1.5rem;border:1px solid var(--line-gold);color:#4d5861;font-size:.88rem}.document-note span{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:var(--serif)}

.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem);background:var(--paper)}.faq-intro{position:sticky;top:130px;align-self:start}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:grid;grid-template-columns:52px 1fr auto;gap:1rem;align-items:center;padding:1.8rem 0;cursor:pointer;color:var(--navy);font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.25;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";color:var(--gold);font-family:var(--sans);font-size:1.5rem;font-weight:300}.faq-list details[open] summary::after{content:"−"}.faq-list summary span{color:var(--gold);font-family:var(--sans);font-size:.65rem;letter-spacing:.12em}.faq-list details p{max-width:700px;margin:0 0 1.8rem 68px;color:var(--muted)}

.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);margin:0;padding-top:clamp(6rem,9vw,9rem);padding-bottom:clamp(6rem,9vw,9rem);overflow:hidden;background:var(--navy);color:#c8d1d9}.contact::before{content:"GF";position:absolute;left:-.06em;bottom:-.2em;color:rgba(255,255,255,.025);font-family:var(--serif);font-size:32vw;line-height:.8}.contact-copy{position:relative;z-index:2}.contact h2{color:#fff}.contact .button{margin-top:1.2rem}.contact-meta{margin-top:2.5rem;color:#9fadb9;font-size:.85rem}.form-kicker{padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.contact-form{position:relative;z-index:2;padding:clamp(1.5rem,3vw,3rem);background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}.contact-form label{display:grid;gap:.45rem;margin-bottom:1rem;color:#505a63;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #aeb5ba;border-radius:0;background:transparent;padding:.8rem .15rem;color:var(--ink);outline:none;text-transform:none}.contact-form textarea{border:1px solid #c5c1ba;padding:.8rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 2px 0 rgba(183,121,44,.15)}.privacy-note{color:#737b82;font-size:.73rem}.form-status{min-height:1.5rem;margin:.8rem 0 0;font-size:.82rem}.form-status.error{color:#a12622}.form-status.success{color:#176a42}

footer{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:2rem;padding:2.2rem var(--page);background:#061522;color:#c8d1d9}footer p{margin:.1rem 0;font-size:.75rem}.footer-brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-family:var(--serif);letter-spacing:.08em}.footer-brand img{width:56px;height:56px;filter:brightness(0) invert(1)}.footer-brand small{display:block;color:var(--gold-light);font-family:var(--sans);font-size:.5rem;letter-spacing:.25em;text-transform:uppercase}footer>a{color:var(--gold-light);font-size:.75rem;text-decoration:underline}.mobile-whatsapp{display:none}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .header nav{display:none}.menu-button{display:flex;align-items:center;gap:.7rem;border:0;background:transparent;color:var(--navy);padding:.6rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.menu-button i,.menu-button i::before{display:block;width:22px;height:1px;background:currentColor;content:""}.menu-button i::before{transform:translateY(6px)}.header nav[data-open]{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;gap:0;padding:1rem var(--page) 1.5rem;background:var(--paper);border-bottom:1px solid var(--line)}.header nav[data-open] a{padding:.9rem 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr 42%;gap:2rem}.hero h1{font-size:clamp(3rem,7vw,5.3rem)}.chapter-heading{grid-template-columns:.45fr 1.55fr}.service-grid{grid-template-columns:repeat(2,1fr)}.card-wide{grid-column:span 1}.documents ul{grid-template-columns:repeat(3,1fr)}.documents li:nth-child(3){border-right:0}.documents li:nth-child(n+4){border-top:1px solid rgba(8,27,46,.2)}
}
@media(max-width:760px){
  body{font-size:16px;padding-bottom:62px}.header,.header.is-scrolled{height:72px;padding:0 1rem;background:rgba(247,243,236,.94);border-bottom-color:var(--line-gold);backdrop-filter:blur(14px)}.brand img{width:52px;height:52px}.brand span{display:none}.header-cta{display:none}.menu-button{margin-left:auto}.section{padding:5.5rem 1.15rem}.hero{display:flex;flex-direction:column;min-height:auto;padding:7.5rem 1.15rem 1.5rem;background:linear-gradient(180deg,var(--ivory) 0 52%,#e7ded2 52% 100%)}.hero-copy{order:1}.hero h1{font-size:clamp(3rem,13vw,4.5rem)}.hero h1 em{display:inline}.hero .lead{margin-top:1.5rem}.actions{align-items:stretch;flex-direction:column;gap:1rem}.text-link{align-self:flex-start}.hero-visual{order:2;width:calc(100% - 1rem);height:610px;min-height:0;margin:1.5rem 0 1rem auto}.hero-image{border-radius:100px 0 0 0}.photo-caption{right:-.15rem;bottom:1.2rem}.trust-rail{order:3;grid-template-columns:1fr;margin-top:0}.trust-rail div,.trust-rail div:first-child{padding:1rem 0;border-right:0;border-bottom:1px solid var(--line)}.trust-rail div:last-child{border-bottom:0}.hero-ornament{display:none}.chapter-heading{display:block;margin-bottom:3rem}.chapter-heading h2{margin-top:1.2rem}.situation-layout{grid-template-columns:1fr}.situation-feature{min-height:350px}.situation-list article{min-height:88px}.service-grid{grid-template-columns:1fr;grid-auto-rows:auto}.card{min-height:330px}.process,.faq{grid-template-columns:1fr}.process-intro,.faq-intro{position:static}.steps article{grid-template-columns:55px 1fr}.about{grid-template-columns:1fr}.about-image{height:590px;order:2}.about-copy{order:1}.credentials div{grid-template-columns:1fr}.documents ul{grid-template-columns:1fr}.documents li,.documents li:nth-child(3){min-height:130px;border-right:0;border-bottom:1px solid rgba(8,27,46,.2)}.documents li:nth-child(n+4){border-top:0}.faq-list summary{grid-template-columns:36px 1fr auto}.faq-list details p{margin-left:52px}.contact{grid-template-columns:1fr;padding:5.5rem 1.15rem}.form-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;padding:2rem 1.15rem}.mobile-whatsapp{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;height:62px;background:var(--gold);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 -8px 30px rgba(8,27,46,.18)}
}
@media(max-width:420px){.hero-visual{height:530px}.hero-image img{object-position:center 16%}.about-image{height:510px}.situation-feature{min-height:300px}.contact-form{padding:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
