@font-face{font-family:Cormorant;src:url('assets/identidad/cormorant.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url('assets/identidad/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:300 700;font-display:swap}
:root{--brand-navy:#1D2639;--brand-slate:#465975;--brand-blue:#8293B1;--brand-paper:#E0E1DD;--accent:#465975;--off-white:#E0E1DD;--black:#1D2639;--mono:var(--font)}
body{background:var(--brand-paper);color:var(--brand-navy)}::selection{background:var(--brand-slate);color:white}.section{background:var(--brand-paper)}
#nav{border-radius:0;background:rgba(29,38,57,.96);padding:13px 22px;gap:26px;top:22px;box-shadow:none;border:1px solid #8293b144;max-width:calc(100% - 36px);backdrop-filter:blur(18px)}#nav .nav-logo{border:0;padding:0;display:block;flex:none}#nav .nav-logo img{width:142px;height:49px;object-fit:contain;mix-blend-mode:lighten}#nav .nav-pill a{font-size:12px;padding:10px 12px;border-radius:0;color:#e0e1ddc9}#nav .nav-pill a:hover,#nav .nav-pill a.is-active{color:white;background:#8293b126}
#hero{background:var(--brand-navy)}#hero .hero-photo-wrap{background:var(--brand-paper);left:45%}#hero .hero-shade{background:linear-gradient(90deg,var(--brand-navy) 0%,var(--brand-navy) 44.9%,transparent 45%)}#hero .hero-heading{width:45%;padding:0 4.6vw 7vh;box-sizing:border-box}#hero .hero-heading h1{font-family:Cormorant,Georgia,serif;font-weight:400;font-size:clamp(54px,7.1vw,124px);line-height:.88;letter-spacing:-.035em;color:var(--brand-paper);margin:28px 0 0}#hero .hero-heading h1 small{font-family:Cormorant,Georgia,serif;font-size:.34em;font-weight:400;line-height:1.2;letter-spacing:.01em;margin-top:24px}.hero-initials{display:block;width:51px;height:92px;object-fit:contain;mix-blend-mode:lighten}#hero .hero-photo-wrap #hero-photo{top:75px;height:calc(100% - 75px);object-position:center top!important;transition:filter 1s ease!important;filter:grayscale(var(--portrait-gray,1))!important}
h2,.bio-title h2,.education-heading h2,.companies>h2,.project-heading h2,.recognition-heading h2,.gallery-title h2{font-family:Cormorant,Georgia,serif;font-weight:500!important;letter-spacing:-.02em!important;font-size:clamp(44px,4.7vw,76px)!important;line-height:1.05!important;color:var(--brand-navy)}.biography{padding-top:110px;padding-bottom:80px}.bio-title h2{font-size:clamp(41px,4.5vw,68px)!important}.bio-title>p,.bio-copy>p,.company-description>p{color:var(--brand-slate)}.bio-copy>p{font-size:17px;line-height:1.85}.company-identity h3,.recognition-heading h3,.ongoing-study h3{font-family:Cormorant,Georgia,serif;font-size:31px;letter-spacing:0;font-weight:500;color:var(--brand-navy)}.company-entry{border-color:#46597533}.company-description>a,.project-heading>a{color:var(--brand-slate)}.ticker-title{font-family:Cormorant,Georgia,serif;font-size:24px;line-height:1.15;color:var(--brand-navy)}.ticker-kind{color:var(--brand-slate)}
.school{border:1px solid #46597522}.school-snhu{background:var(--brand-navy)}.school-ashworth{background:#f4f4f0}.school-content h3{font-family:Cormorant,Georgia,serif;font-size:31px;font-weight:500}.ongoing-study{border-color:#46597544}.recognition-photos figure:last-child{padding-top:65px}
.gallery-section{background:var(--brand-navy)}.gallery-section .gallery-sticky{background:var(--brand-navy)}.gallery-section .gallery-title h2{color:var(--brand-paper)}.gallery-section .sec-label{color:var(--brand-blue)}.gallery-section .gallery-card>span{color:var(--brand-paper)}.gallery-progress span{background:var(--brand-blue)}.custom-cursor{border-color:var(--brand-blue)!important;box-shadow:none!important}.custom-cursor--active{background:#8293b11a!important}.opening{background:var(--brand-navy)}.opening>span:first-child{font-family:Cormorant,Georgia,serif;font-size:24px;letter-spacing:0}.opening-line{background:var(--brand-blue)}
footer{background:var(--brand-navy);border-color:#8293b133;padding:35px 6vw;align-items:center;gap:25px}footer .footer-brand{width:185px;height:75px;object-fit:contain;mix-blend-mode:lighten}footer>a{font:12px var(--font);color:var(--brand-paper);text-decoration:underline;text-underline-offset:6px}.photo-caption{color:var(--brand-slate)}
@media(max-width:900px){#nav{padding:11px 16px;gap:13px}#nav .nav-logo img{width:110px;height:40px}#nav .nav-pill a{padding:9px 8px;font-size:11px}}
@media(max-width:650px){#nav{top:12px;width:calc(100% - 28px);max-width:none;justify-content:space-between;gap:10px;padding:10px 14px}#nav .nav-logo img{width:97px;height:36px}#nav .nav-pill li:has(a[href="#reconocimientos"]){display:none!important}#nav .nav-pill a{padding:9px 7px;font-size:10px}#hero .hero-photo-wrap{left:0;background:var(--brand-paper)}#hero .hero-shade{background:linear-gradient(0deg,#1d2639 0%,#1d2639e6 14%,transparent 47%)}#hero .hero-heading{width:100%;padding:0 25px 32px}#hero .hero-heading h1{font-size:72px;line-height:.85;margin-top:0}#hero .hero-heading h1 small{font-size:27px;margin-top:15px}.hero-initials{display:none}#hero .hero-photo-wrap #hero-photo{top:85px;height:calc(100% - 85px)}h2,.education-heading h2,.companies>h2,.project-heading h2,.recognition-heading h2,.gallery-title h2{font-size:44px!important}.bio-title h2{font-size:43px!important}.bio-copy>p{font-size:16px}.school-content h3{font-size:29px}.company-identity h3{font-size:29px}.recognition-heading h3{font-size:28px}.ticker-title{font-size:22px}footer{align-items:start;flex-direction:column;gap:20px}.recognition-photos figure:last-child{padding-top:0}}
@media(prefers-reduced-motion:reduce){#hero .hero-photo-wrap #hero-photo{transition:none!important}}
#nav{width:max-content;max-width:calc(100% - 36px)}#nav .nav-pill{flex-shrink:0}#nav .nav-logo{flex-shrink:0}
@media(max-width:1100px){#nav .nav-pill li:has(a[href="#reconocimientos"]){display:none!important}}
@media(max-width:650px){#nav{width:calc(100% - 28px)}#nav .nav-pill{flex-shrink:1}#nav .nav-logo img{width:95px}}

/* A contained header that never clips its links. */
#nav{width:calc(100% - 64px)!important;max-width:1050px!important;box-sizing:border-box;display:grid;grid-template-columns:145px minmax(0,1fr);gap:25px;padding:14px 25px;background:#1d2639;border:1px solid #8293b133;overflow:visible}
#nav .nav-logo img{width:140px;height:53px;mix-blend-mode:normal}#nav .nav-pill{display:flex!important;justify-content:flex-end;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}#nav .nav-pill a{white-space:nowrap;padding:10px 11px;font-size:13px}#nav .nav-pill li{flex:none}#nav .nav-indicator{display:none}
.opening{animation:opening-out .7s 1.1s both;padding:40px}.opening>img{width:min(420px,75vw);height:auto;display:block}.hero-initials,footer .footer-brand{mix-blend-mode:normal}
.biography{position:relative;isolation:isolate;overflow:hidden}.brand-watermark{position:absolute;left:-110px;bottom:-100px;width:430px;height:430px;background:url('assets/identidad/jgl.svg') center/contain no-repeat;opacity:.055;filter:brightness(0);z-index:-1;pointer-events:none}
.family-section{background:var(--brand-navy);color:var(--brand-paper);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:95px;padding-bottom:95px;position:relative;overflow:hidden}.family-image{position:relative;z-index:1}.family-image>img{width:100%;height:auto;display:block}.family-copy{position:relative;z-index:1;max-width:490px}.family-copy h2{color:var(--brand-paper)!important;font-size:clamp(50px,5.4vw,84px)!important;line-height:1!important;margin:30px 0}.family-copy>p{font-size:16px;line-height:1.85;color:#e0e1ddc9;margin:0 0 22px}.family-monogram{width:75px;height:75px;object-fit:contain;opacity:.65}.family-section::after{content:'';position:absolute;right:-200px;bottom:-200px;width:600px;height:600px;background:url('assets/identidad/jgl.svg') center/contain no-repeat;opacity:.035;pointer-events:none}
@media(max-width:1100px){#nav .nav-pill li:has(a[href="#reconocimientos"]){display:list-item!important}}
@media(max-width:900px){#nav{width:calc(100% - 36px)!important;grid-template-columns:120px minmax(0,1fr);gap:15px;padding:12px 18px}#nav .nav-logo img{width:115px;height:45px}#nav .nav-pill{gap:1px}#nav .nav-pill a{font-size:11px;padding:9px 7px}}
@media(max-width:650px){#nav{width:calc(100% - 24px)!important;grid-template-columns:100px minmax(0,1fr);padding:10px 12px;gap:10px}#nav .nav-logo img{width:95px;height:39px}#nav .nav-pill a{font-size:10px;padding:8px 5px}#nav .nav-pill li:has(a[href="#reconocimientos"]){display:none!important}.family-section{grid-template-columns:1fr;gap:40px;padding-top:45px;padding-bottom:55px}.family-copy h2{font-size:51px!important}.family-copy>p{font-size:15px}.family-monogram{width:60px;height:60px}.brand-watermark{width:260px;height:260px;left:-65px;bottom:-60px}}
/* Quiet company directory: restrained type, compact marks, no decorative cursor. */
.custom-cursor{display:none!important}html,body,a,button{cursor:auto!important}a,button{cursor:pointer!important}
.integrated-companies .company-entry{grid-template-columns:minmax(250px,.95fr) minmax(0,1.15fr);column-gap:6vw;padding:32px 0;align-items:start}
.integrated-companies .company-identity{gap:22px;align-items:flex-start}
.integrated-companies .company-logo-small{width:80px;height:46px;object-fit:contain;margin-top:1px}
.integrated-companies .company-identity h3{font-family:var(--font);font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.35;margin:0 0 7px;white-space:nowrap}
.integrated-companies .company-identity p{font-size:12px;line-height:1.4;color:#727986}
.integrated-companies .fiao-logo-small{width:80px;font-size:25px;line-height:1.5;filter:grayscale(1);opacity:.8}
.integrated-companies .company-description>p{font-size:15px;line-height:1.7;color:#505969;margin:0 0 14px;max-width:580px}
.integrated-companies .company-description>a{font-size:12px;color:#596275;text-decoration-color:#adb1b8;text-underline-offset:4px}
@media(max-width:650px){.integrated-companies .company-entry{grid-template-columns:1fr;gap:18px;padding:26px 0}.integrated-companies .company-identity{gap:20px}.integrated-companies .company-identity h3{font-size:21px}.integrated-companies .company-description>p{font-size:14px;line-height:1.7}.integrated-companies .company-description{padding-left:100px}}
@media(max-width:380px){.integrated-companies .company-description{padding-left:0}}

/* Animate the real complete lockup; preserve the logo's native geometry. */
.opening{padding:40px;background:var(--brand-navy);animation:splash-exit .85s 2.05s cubic-bezier(.76,0,.24,1) both;will-change:opacity,transform}
.splash-logo-stage{position:relative;width:min(440px,74vw);aspect-ratio:3472/1614;animation:splash-logo-arrive 1.2s .12s cubic-bezier(.16,1,.3,1) both}
.splash-logo-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.splash-logo-base{clip-path:inset(0 100% 0 0);animation:splash-ink-reveal 1.35s .18s cubic-bezier(.65,0,.25,1) forwards}
.splash-logo-light{opacity:0;filter:brightness(1.6);mask-image:linear-gradient(105deg,transparent 30%,black 48%,transparent 66%);mask-size:300% 100%;mask-repeat:no-repeat;animation:splash-light-pass .9s 1.1s ease-out both}
@keyframes splash-ink-reveal{to{clip-path:inset(0 0 0 0)}}
@keyframes splash-logo-arrive{from{opacity:0;transform:translateY(14px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes splash-light-pass{0%{opacity:0;mask-position:130% 0}15%{opacity:.7}85%{opacity:.6}100%{opacity:0;mask-position:-130% 0}}
@keyframes splash-exit{0%{opacity:1;visibility:visible;transform:translateY(0)}100%{opacity:0;visibility:hidden;transform:translateY(-24px)}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}.splash-logo-stage,.splash-logo-stage>img{animation:none!important}}

.contact-section{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;padding-top:95px;padding-bottom:90px;background:var(--brand-paper)}.contact-mark{width:58px;height:58px;filter:brightness(0);opacity:.65;margin-bottom:25px}.contact-intro h2{margin:0 0 24px}.contact-intro>p{font:16px/1.8 var(--font);color:var(--brand-slate);max-width:340px;margin:0 0 25px}.contact-email{font:15px var(--font);color:var(--brand-navy);text-decoration:underline;text-underline-offset:6px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-field{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.form-field label{font:13px var(--font);color:var(--brand-slate)}.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid #46597566;border-radius:0;background:transparent;padding:12px 0;font:16px/1.5 var(--font);color:var(--brand-navy);resize:vertical;box-sizing:border-box}.form-field input:focus,.form-field textarea:focus{outline:0;border-bottom-color:var(--brand-navy);box-shadow:0 1px var(--brand-navy)}.contact-submit{display:flex;align-items:center;gap:22px}.contact-submit button{border:1px solid var(--brand-navy);padding:15px 23px;background:var(--brand-navy);color:var(--brand-paper);font:13px var(--font);white-space:nowrap}.contact-submit button:hover{background:var(--brand-slate)}.contact-submit>p,#contact-status{font:12px/1.7 var(--font);color:var(--brand-slate);margin:0;max-width:260px}#contact-status{max-width:none;margin-top:20px}footer{padding-top:25px;padding-bottom:25px}@media(max-width:900px){#nav .nav-pill a{font-size:10px;padding-left:6px;padding-right:6px}}@media(max-width:650px){.contact-section{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:55px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-submit{align-items:start;flex-direction:column;gap:15px}.contact-intro>p{font-size:15px}.contact-mark{width:48px;height:48px}.contact-email{font-size:14px}}
/* Equal photo height using each original aspect ratio, with no crop or stretch. */
.recognition-photos{grid-template-columns:.81779661fr .9782817fr;align-items:start;gap:25px}
.recognition-photos figure,.recognition-photos figure:last-child{padding:0;margin:0}
.recognition-photos img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:650px){.recognition-photos{grid-template-columns:1fr;gap:24px}}

.education-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.school{padding:30px;min-height:365px}.school-penn{background:var(--brand-slate);color:var(--brand-paper)}.school-penn .school-logo img{width:240px;height:90px;object-fit:contain;object-position:left center}.school-content h3{font-size:29px}.school-logo{height:90px}.school-content{margin-top:38px}footer{display:grid;grid-template-columns:auto 1fr;gap:25px;align-items:center}footer>a{justify-self:end}.footer-details{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #8293b133;padding-top:22px;margin-top:3px}.footer-details p{font:11px/1.7 var(--font);color:#e0e1dd99;margin:0}.footer-details a{color:var(--brand-paper);text-decoration:underline;text-underline-offset:4px}@media(max-width:1000px){.school{padding:24px}.school-content h3{font-size:26px}.school-content p{font-size:12px}.school-content>span{font-size:10px}}@media(max-width:700px){.education-grid{grid-template-columns:1fr}.school{padding:32px;min-height:330px}.school-content h3{font-size:30px}.school-content p{font-size:14px}.school-content>span{font-size:12px}.school-logo img{max-width:270px}.footer-details{flex-direction:column;gap:8px}footer{grid-template-columns:1fr}footer>a{justify-self:start}}
.school-penn{background:#f4f4f0;color:var(--brand-navy)}

.biography{align-items:start}.bio-title{position:sticky;top:140px}.bio-chapter{margin-bottom:36px}.bio-chapter:last-child{margin-bottom:0}.bio-chapter>h3{font-family:Cormorant,Georgia,serif;font-size:29px;line-height:1.2;font-weight:500;color:var(--brand-navy);margin:0 0 20px}.bio-chapter>p{font:16px/1.85 var(--font);color:var(--brand-slate);margin:0 0 21px}.bio-chapter>p:last-child{margin-bottom:0}@media(max-width:650px){.bio-title{position:static}.bio-chapter>p{font-size:15px;line-height:1.8}.bio-chapter>h3{font-size:28px}.bio-chapter{margin-bottom:32px}}

/* A deliberate, high-contrast contact closing. */
#contacto.contact-section{background:var(--brand-navy);color:var(--brand-paper);border-top:1px solid #8293b144;padding-top:85px;padding-bottom:90px;grid-template-columns:1fr 1.15fr;gap:8vw;align-items:start}
#contacto .contact-intro{padding-top:0;position:sticky;top:140px}
#contacto .contact-intro h2{color:var(--brand-paper)!important;font-size:clamp(72px,8vw,125px)!important;line-height:.9!important;margin:0 0 32px;font-weight:400!important}
#contacto .contact-intro>p{font-size:17px;line-height:1.6;color:#e0e1ddb8;max-width:300px;margin-bottom:35px}
#contacto .contact-email{font-size:clamp(15px,1.5vw,22px);color:var(--brand-paper);text-decoration:none;border-bottom:1px solid #8293b1;padding-bottom:7px;display:inline-block}
#contacto .contact-form{padding:0;min-width:0}#contacto .contact-fields{gap:20px}
#contacto .form-field{gap:10px;margin-bottom:23px}#contacto .form-field label{font-size:12px;color:#e0e1ddba}
#contacto .form-field input,#contacto .form-field textarea{background:#8293b10d;border:1px solid #8293b16b;color:var(--brand-paper);padding:14px 16px;min-height:52px;font-size:15px;line-height:1.6;box-shadow:none;transition:border-color .2s,background .2s}
#contacto .form-field textarea{min-height:150px;resize:vertical}
#contacto .form-field input:focus,#contacto .form-field textarea:focus{outline:2px solid var(--brand-blue);outline-offset:3px;background:#8293b117;border-color:var(--brand-blue);box-shadow:none}
#contacto .contact-submit{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:7px}
#contacto .contact-submit button{width:100%;background:var(--brand-paper);color:var(--brand-navy);border:1px solid var(--brand-paper);padding:17px 24px;font-size:14px;font-weight:500;text-align:center;transition:background .2s}
#contacto .contact-submit button:hover{background:white}#contacto .contact-submit>p{max-width:none;font-size:11px;line-height:1.6;color:#e0e1dd8c;text-align:left}#contacto #contact-status{color:#e0e1ddba;font-size:12px}
@media(max-width:650px){#contacto.contact-section{grid-template-columns:1fr;gap:38px;padding-top:55px;padding-bottom:55px}#contacto .contact-intro{position:static}#contacto .contact-intro h2{font-size:78px!important;margin-bottom:24px}#contacto .contact-intro>p{font-size:15px;margin-bottom:24px}#contacto .contact-fields{grid-template-columns:1fr;gap:0}#contacto .contact-email{font-size:17px}#contacto .form-field input{min-height:50px}}

.footer-details a{display:inline-block;text-decoration:none;border:0;color:var(--brand-paper);padding:3px 0;font-weight:500;transition:color .25s}.footer-details a:hover{color:white;text-decoration:none}.footer-details a:focus-visible{outline:1px solid var(--brand-blue);outline-offset:5px}

/* Full identity palette: paper, mist blue, slate and navy. */
#formacion{background:var(--brand-blue);color:var(--brand-navy)}
#formacion .school{border-color:var(--brand-slate);box-shadow:none}
#formacion .school-ashworth,#formacion .school-penn{background:var(--brand-paper)}
#reconocimientos{background:var(--brand-slate);color:var(--brand-paper)}
#reconocimientos h2,#reconocimientos .recognition-details h3{color:var(--brand-paper)!important}
#reconocimientos .recognition-details p{color:var(--brand-paper)}
#reconocimientos .recognition-heading{border-color:var(--brand-blue)}
.bio-chapter>h3{color:var(--brand-slate)}
.integrated-companies .company-entry{border-color:var(--brand-blue)}
.integrated-companies .company-description>p,.integrated-companies .company-description>a{color:var(--brand-slate)}
.project-heading{border-color:var(--brand-blue)}
#contacto.contact-section{border-top:4px solid var(--brand-blue)}
#contacto .contact-submit button{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-navy)}
#contacto .contact-submit button:hover{background:var(--brand-paper);border-color:var(--brand-paper)}
.footer-details{border-top-color:var(--brand-slate)}

/* Clear footer hierarchy and readable credits. */
footer{padding:40px 6vw 28px;grid-template-columns:minmax(0,1fr) auto;gap:30px;background:var(--brand-navy);border-top:1px solid var(--brand-slate)}
footer .footer-brand{width:185px;height:86px;object-position:left center}
footer>a{font:14px/1.5 var(--font);color:var(--brand-paper);text-decoration:none;padding:12px 0;justify-self:end}
footer>a:hover{color:var(--brand-blue)}
.footer-details{padding-top:24px;margin:0;align-items:center;flex-wrap:wrap;gap:16px 32px}
.footer-details p{font:13px/1.7 var(--font);color:var(--brand-blue)}
.footer-details a{font-size:13px;color:var(--brand-paper);text-decoration:none}
@media(max-width:650px){footer{padding:30px 24px 24px;grid-template-columns:minmax(0,1fr) auto;gap:24px}footer .footer-brand{width:150px;height:70px}footer>a{justify-self:end;font-size:13px}.footer-details{align-items:flex-start;gap:10px;padding-top:20px}.footer-details p,.footer-details a{font-size:12px}}

/* Footer metadata shares one baseline and remains readable. */
footer .footer-details{align-items:baseline;padding-top:22px;padding-bottom:0;min-height:0}
footer .footer-details p{margin:0;padding:0;font:13px/1.6 var(--font);color:var(--brand-paper)}
footer .footer-details a{display:inline;padding:0;margin:0;font:inherit;line-height:inherit;vertical-align:baseline;color:var(--brand-paper);font-weight:500;text-decoration:none;border:0}
footer .footer-details time{font:inherit}
@media(max-width:650px){footer .footer-details{align-items:flex-start;gap:12px}footer .footer-details p{font-size:12px}}

/* JGL initials as the unified brand signature. */
.splash-logo-stage{width:min(155px,28vw);aspect-ratio:2384/4303}
#nav{grid-template-columns:65px minmax(0,1fr)}
#nav .nav-logo img{width:31px;height:56px;object-position:left center}
footer .footer-brand{width:50px;height:90px;object-position:left center}
.family-monogram{width:42px;height:76px}
@media(max-width:650px){#nav{grid-template-columns:40px minmax(0,1fr)}#nav .nav-logo img{width:24px;height:43px}footer .footer-brand{width:39px;height:70px}}

/* Original horizontal JGL signature, replacing the interlaced symbol. */
.splash-logo-stage{width:min(310px,56vw);aspect-ratio:3146/1862}
#nav{grid-template-columns:105px minmax(0,1fr)}
#nav .nav-logo img{width:88px;height:44px;object-fit:contain;object-position:left center}
.hero-initials{width:115px;height:68px;object-fit:contain}
footer .footer-brand{width:130px;height:65px;object-fit:contain}
.family-monogram{width:95px;height:58px;object-fit:contain}
@media(max-width:650px){#nav{grid-template-columns:70px minmax(0,1fr)}#nav .nav-logo img{width:65px;height:36px}footer .footer-brand{width:110px;height:55px}}

/* A quiet signature reveal, followed by one clean curtain transition. */
.opening{animation:jgl-curtain 1s 2.35s cubic-bezier(.76,0,.24,1) both;will-change:clip-path;transform:none;pointer-events:none}
.splash-composition{display:flex;flex-direction:column;align-items:center;gap:30px;width:min(480px,75vw)}
.splash-frame{position:relative;width:100%;padding:42px 0;display:flex;justify-content:center}
.splash-logo-stage{width:min(250px,48vw);aspect-ratio:3146/1862;animation:none;overflow:hidden}
.splash-logo-base{clip-path:none;animation:jgl-signature-reveal 1.35s .25s cubic-bezier(.22,1,.36,1) both;transform-origin:center bottom}
.splash-rule{position:absolute;height:1px;left:0;right:0;background:var(--brand-blue);transform:scaleX(0);animation:jgl-rule 1.35s .15s cubic-bezier(.76,0,.24,1) forwards}
.splash-rule-top{top:0;transform-origin:left}.splash-rule-bottom{bottom:0;transform-origin:right}
.splash-signature{margin:0;font:400 clamp(19px,2vw,26px)/1.4 Cormorant,Georgia,serif;color:var(--brand-paper);letter-spacing:.025em;animation:jgl-caption 1s .95s both}
@keyframes jgl-signature-reveal{from{opacity:0;transform:translateY(35%);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes jgl-rule{to{transform:scaleX(1)}}
@keyframes jgl-caption{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes jgl-curtain{from{clip-path:inset(0);visibility:visible}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}}
