/* Portraits, flowing blue clouds and direct conversation. */
.site-scene{background:#020b24}
.scene-image{background-image:url('assets/brand-v4/cloud-background.webp');background-size:cover;inset:-8%;opacity:1;animation:cloud-flow 32s ease-in-out infinite alternate;will-change:transform}
.scene-atmosphere{position:absolute;inset:-18%;background:url('assets/brand-v4/cloud-background.webp') 70% 50%/cover no-repeat;opacity:.18;mix-blend-mode:screen;animation:cloud-flow-secondary 43s ease-in-out infinite alternate;will-change:transform}
.site-scene:after{background:linear-gradient(100deg,rgba(0,0,0,.54),rgba(0,0,0,.36) 65%,rgba(0,0,0,.43));z-index:4}
.scene-light{inset:-10%;background:radial-gradient(ellipse at 72% 42%,#3e83f548,transparent 40%),radial-gradient(ellipse at 14% 74%,#e90a734a,transparent 25%);animation:cloud-glow 13s ease-in-out infinite alternate;mix-blend-mode:screen}
.scene-sparkles{position:absolute;inset:-5%;opacity:.7;background:radial-gradient(circle at 13% 17%,#c2d8ff 0 1px,transparent 3px),radial-gradient(circle at 83% 35%,#ef94cf 0 1px,transparent 3px),radial-gradient(circle at 36% 79%,#74aeff 0 1px,transparent 3px),radial-gradient(circle at 70% 85%,#c6dcff 0 1px,transparent 3px);animation:cloud-sparkle 11s ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes cloud-flow{from{transform:translate3d(-1%,-1%,0) scale(1.02) rotate(-1deg)}to{transform:translate3d(1.5%,1%,0) scale(1.1) rotate(1deg)}}
@keyframes cloud-flow-secondary{from{transform:translate3d(2%,2%,0) scale(1.04)}to{transform:translate3d(-3%,-1%,0) scale(1.17)}}
@keyframes cloud-glow{from{opacity:.2;transform:translate(-1%,2%)}to{opacity:.75;transform:translate(3%,-2%)}}
@keyframes cloud-sparkle{from{opacity:.25;transform:translateY(1%)}to{opacity:.9;transform:translateY(-2%)}}
.motion-paused .site-scene *{animation-play-state:paused!important}
.surface{background:#020e2670;backdrop-filter:blur(3px)}
.about-home{background:linear-gradient(120deg,#05143468,#06153635)}
.site-footer{background:#01091ca1}
.header-inner{min-height:76px;padding-block:.2rem}
.site-header .brand-crop{width:74px;height:59px}
.site-header .brand-crop img{width:85px;height:85px;left:-8px;top:-13px}
.immersive-hero{padding-top:2rem}
.hero-v3-grid{align-items:center;gap:6%;padding-top:.5rem}
.hero-v3-copy h1{font-size:clamp(3.7rem,6vw,6.2rem)}
.hero-v3-copy>.eyebrow{font-size:.875rem;letter-spacing:.1em;margin-bottom:1rem}
.v3-name{margin-top:1rem}.v3-professions{margin-top:.7rem}
.v3-intro{font-size:1.3rem;margin-top:.9rem}.v3-intro br{display:none}
.hero-v3-actions{margin-top:1.35rem}
.identity-carousel{max-width:560px;margin-top:1.6rem}
.identity-carousel .carousel-stage{filter:none}
.identity-carousel .carousel-slide{display:grid;grid-template-columns:135px 1fr;min-height:200px;border-radius:20px;background:linear-gradient(110deg,#06172ec7,#081631ca);border-color:#7990be66;box-shadow:0 15px 40px #0007}
.identity-carousel .carousel-slide[hidden]{display:none}
.identity-image{display:block;min-width:0;background:#11223a}
.identity-image img{width:100%;height:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 35%}
.identity-quote{padding:1.1rem 1.3rem;align-self:center}
.identity-quote>span{font-size:.75rem;letter-spacing:.09em;color:#ffa0d0;display:block;margin-bottom:.4rem}
.identity-quote h2{font:700 1.26rem/1.25 Carlito,Arial,sans-serif;letter-spacing:0;margin-bottom:.5rem}
.identity-quote p{font-size:.98rem;line-height:1.4;color:#ccd8ee}
.identity-quote .text-link{font-size:.875rem;margin-top:.75rem}
.identity-carousel .carousel-controls{margin-top:.7rem;justify-content:flex-start;gap:.8rem}
.identity-carousel .carousel-controls button{width:32px;height:32px}
.identity-carousel .carousel-controls .carousel-dot{width:24px;height:32px}
.identity-carousel .carousel-controls .carousel-pause{margin-left:auto}
.identity-carousel .carousel-dot:after{width:12px}
.identity-carousel .carousel-dot[aria-pressed=true]:after{width:20px}
.feature-carousel .carousel-stage{border-radius:20px}
.hero-v3-media{max-width:435px}
.showcase-label,.showcase-label>a{font-size:.875rem;letter-spacing:.06em}
.portrait-composition>figure>img{object-position:50% 25%}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.personal-gallery{padding-top:1rem}
.personal-gallery .section-heading>p{max-width:260px;line-height:1.5}
.personal-gallery-carousel{max-width:1050px;margin:auto}
.personal-gallery-carousel .carousel-stage{filter:none}
.personal-gallery-carousel .carousel-slide{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;border-radius:28px;background:linear-gradient(135deg,#051730b5,#0c1532dc);border-color:#6985b978}
.personal-gallery-carousel .carousel-slide[hidden]{display:none}
.personal-gallery-image{display:block;position:relative;min-width:0;background:#050f28}
.personal-gallery-image img{width:100%;height:520px;object-fit:contain;background:linear-gradient(120deg,#17283a,#070f20)}
.portrait-carousel-caption{padding:3rem;align-self:center}
.portrait-carousel-caption>span{color:#ff9dce;letter-spacing:.12em;font-size:.875rem}
.portrait-carousel-caption h3{font-size:clamp(1.6rem,2.7vw,2.6rem);margin:1.3rem 0 1.2rem;font-family:Display,sans-serif;letter-spacing:-.035em}
.portrait-carousel-caption p{font-size:1.2rem;color:#cbd9ef;line-height:1.6}
.personal-gallery-carousel .carousel-controls{justify-content:center;gap:1.4rem;margin-top:1.3rem}
.portrait-thumbnails{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.7rem;margin-top:1.4rem}
.portrait-thumbnail{padding:0;background:#08213a;border:2px solid transparent;border-radius:12px;overflow:hidden;opacity:.66;transition:opacity .2s,border-color .2s,transform .2s}
.portrait-thumbnail img{width:100%;height:95px;object-fit:cover;object-position:50% 20%}
.portrait-thumbnail[aria-pressed=true]{opacity:1;border-color:#ff2395;box-shadow:0 0 20px #f50c8936}
.portrait-thumbnail:hover{opacity:1;transform:translateY(-3px)}
.contact-portrait{margin-bottom:1.4rem;border:1px solid #8291ae66;border-radius:24px;overflow:hidden;max-width:490px}
.contact-portrait img{width:100%;height:270px;object-fit:cover;object-position:50% 31%}
.article-author{display:flex;gap:.85rem;align-items:center}
.article-author>img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:1px solid #ff42a280}
.article-author>div{display:flex;flex-direction:column;gap:.2rem}
.article-author strong{font-size:1.06rem}
.article-author span{font-size:.875rem}
.social-icons{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.social-icon{width:47px;height:47px;display:inline-grid;place-items:center;border:1px solid #7388b077;border-radius:50%;background:#092146ad;color:#e9f4ff;transition:transform .2s,background .2s,border-color .2s;box-shadow:0 5px 15px #0003}
.social-icon:hover{transform:translateY(-4px);background:#aa12619e;border-color:#ff63b3;color:#fff}
.social-icon svg{width:21px;height:21px;flex-shrink:0}
.social-row>div.social-icons{display:flex;gap:.8rem}
.social-row h3{font-size:1.2rem;margin-bottom:1rem}
.footer-socials{padding-bottom:2rem}
.footer-socials .social-icon{width:44px;height:44px;background:#071a35c4}
.social-showcase{border-block:1px solid #5b729640}
.chat-launcher{position:fixed;right:1.5rem;bottom:1.3rem;z-index:35;display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:700;font-size:.94rem;padding:.4rem 1.15rem .4rem .45rem;border:1px solid #ed5ca694;border-radius:100px;background:linear-gradient(125deg,#071e44ef,#20102ff5);box-shadow:0 10px 30px #000a,0 0 26px #ff07862b;backdrop-filter:blur(14px);transition:transform .25s,box-shadow .25s}
.chat-launcher[hidden]{display:none}
.chat-launcher:hover{transform:translateY(-4px);box-shadow:0 13px 36px #000a,0 0 32px #ff07864b}
.chat-brand{position:relative;display:block;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#07162c;border:1px solid #ef398750;overflow:hidden}
.chat-brand img{position:absolute;width:58px;height:58px;max-width:none;left:-6px;top:-6px}
.chat-speech{margin-left:.2rem;color:#ff7abe}
.chat-fallback{position:fixed;bottom:1rem;right:1rem;z-index:30;padding:1rem;border-radius:50px;background:#102846;color:white}
.contact-chat{position:fixed;inset:auto 1.5rem 1.2rem auto;margin:0;width:min(400px,calc(100vw - 2rem));max-height:calc(100dvh - 2.4rem);padding:0;color:#f4f6fd;border:1px solid #9d548baa;border-radius:24px;background:#07152bea;box-shadow:0 20px 85px #000c,0 0 60px #e4006622;backdrop-filter:blur(30px);overflow-y:auto}
.contact-chat::backdrop{background:#0008;backdrop-filter:blur(2px)}
.chat-header{display:flex;gap:.8rem;align-items:center;padding:1rem 1.2rem;background:linear-gradient(120deg,#142e5ab5,#301139ba);border-bottom:1px solid #849bc438}
.chat-header>div{min-width:0}
.chat-header h2{font:700 1.2rem/1.3 Carlito,sans-serif;letter-spacing:0}
.chat-header p{font-size:.875rem;color:#c6d2e7}
.chat-close{display:grid;place-items:center;align-self:flex-start;width:32px;height:32px;padding:0;background:#ffffff09;border:1px solid #ffffff25;color:#e7edfb;border-radius:50%;margin-left:auto;font-size:1.5rem;line-height:1}
.chat-close:hover{background:#e228754d}
.chat-body{padding:1.35rem}
.chat-greeting{background:#183457b5;border:1px solid #6d8cbb43;border-radius:16px 16px 16px 3px;padding:1rem 1.1rem;font-size:1.06rem;line-height:1.45;margin-bottom:1.3rem}
.chat-greeting p+p{margin-top:.45rem}
.chat-choices{display:flex;flex-direction:column;gap:.8rem}
.chat-choices[hidden],.chat-compose[hidden],.chat-retry[hidden]{display:none}
.chat-compose-option{position:relative;text-align:left;color:white;padding:1rem 2.5rem 1rem 1.1rem;background:linear-gradient(110deg,#ad065caf,#831752b3);border:1px solid #ee5eab77;border-radius:15px}
.chat-compose-option>span:first-child{display:block;font-weight:700;font-size:1.1rem}
.chat-compose-option small{display:block;color:#f4d3e5;font-size:.875rem;margin-top:.2rem;line-height:1.3}
.choice-arrow{position:absolute;right:1rem;top:1rem;font-size:1.5rem}
.chat-compose-option:hover{background:#c6136e99}
.chat-direct{display:flex;gap:.75rem;align-items:center;padding:1rem 1.1rem;border-radius:15px;border:1px solid #68967e88;background:#113d3199;font-size:1.05rem;font-weight:700}
.chat-direct>span:last-child{margin-left:auto}
.chat-direct:hover{background:#175a4299}
.chat-compose label{display:block;font-weight:700;margin:1rem 0 .5rem}
.chat-compose textarea{display:block;resize:vertical;min-height:120px;max-height:40vh;width:100%;color:white;border:1px solid #728db966;border-radius:12px;background:#020e22;padding:.85rem;font-size:1rem;line-height:1.5}
.chat-compose textarea::placeholder{color:#8598b5}
.chat-compose .button{width:100%;margin-top:1rem;font-size:1rem;gap:1rem;padding:1rem}
.chat-compose .button svg{width:21px;height:21px;flex-shrink:0}
.chat-back{font-size:.875rem;border:0;color:#e7c9dc;background:transparent;padding:0;text-decoration:underline;text-underline-offset:4px}
.chat-help,.chat-status{font-size:.875rem;color:#aebfd9;line-height:1.4;margin-top:.9rem}
.chat-status:empty{display:none}
.chat-retry{display:block;font-size:.94rem;color:#ff9acd;margin-top:.75rem;text-decoration:underline}
.chat-bottom{padding:.7rem 1rem;font-size:.8rem;text-align:center;color:#9cacc8;border-top:1px solid #6682a53b}
@media(min-width:1600px){.hero-v3-copy h1{font-size:6.3rem}.hero-v3-media{max-width:445px}}
@media(max-width:1100px){.hero-v3-grid{grid-template-columns:1.15fr .85fr;gap:4%}.identity-carousel .carousel-slide{grid-template-columns:115px 1fr;min-height:210px}.identity-quote{padding:1rem}.identity-quote h2{font-size:1.1rem}.identity-quote p{font-size:.94rem}.hero-v3-copy h1{font-size:4.8rem}.v3-intro{font-size:1.2rem}.hero-v3-media{padding:0}.showcase-label,.showcase-label>a{font-size:.75rem}.portrait-carousel-caption{padding:2rem}.personal-gallery-image img{height:460px}}
@media(max-width:800px){.header-inner{min-height:66px}.site-header .brand-crop{width:65px;height:52px}.site-header .brand-crop img{width:75px;height:75px;left:-7px;top:-12px}.hero-v3-grid{grid-template-columns:1.15fr .85fr;gap:5%;align-items:start}.hero-v3-copy h1{font-size:clamp(3.3rem,7vw,4.7rem)}.hero-v3-copy>.eyebrow{font-size:.8rem}.hero-v3-media{padding-top:1.2rem}.hero-v3-actions{flex-direction:row}.identity-carousel .carousel-slide{grid-template-columns:100px 1fr;min-height:210px}.identity-quote{padding:.85rem}.identity-quote h2{font-size:1.1rem}.identity-quote p{font-size:.94rem}.identity-quote>span{font-size:.75rem}.identity-quote .text-link{font-size:.875rem}.identity-carousel .carousel-controls{gap:.4rem}.identity-carousel .carousel-controls .carousel-dot{width:20px}.personal-gallery-carousel .carousel-slide{grid-template-columns:1.15fr 1fr}.portrait-carousel-caption{padding:1.5rem}.portrait-carousel-caption p{font-size:1.0625rem}.personal-gallery-image img{height:390px}.portrait-thumbnails{gap:.5rem}.portrait-thumbnail img{height:75px}.chat-launcher{right:1rem;bottom:1rem;padding:.35rem}.chat-launcher>span:nth-child(2),.chat-launcher>.chat-speech{display:none}.chat-launcher .chat-brand{width:51px;height:51px}.chat-launcher .chat-brand img{width:63px;height:63px;left:-7px;top:-7px}.contact-chat{right:1rem;bottom:1rem;max-height:calc(100dvh - 2rem)}.about-photo{max-width:500px}.contact-portrait img{height:340px}.footer-bottom{padding-bottom:5rem}}
@media(max-width:560px){.site-scene .scene-image{background-position:59% 50%;inset:-14%;opacity:1}.site-scene:after{background:rgba(0,0,0,.47)}.scene-atmosphere{background-position:35% 50%;opacity:.14}.hero-v3-grid{grid-template-columns:1fr;gap:2.6rem}.hero-v3-copy h1{font-size:clamp(3.8rem,16vw,5.2rem)}.hero-v3-copy>.eyebrow{font-size:.8rem}.v3-intro{font-size:1.25rem}.hero-v3-media{padding-top:0;max-width:360px}.showcase-label,.showcase-label>a{font-size:.75rem}.identity-carousel{margin-top:1.5rem}.identity-carousel .carousel-slide{grid-template-columns:115px 1fr;min-height:217px}.identity-quote{padding:.95rem}.identity-quote h2{font-size:1.2rem}.identity-quote p{font-size:1rem}.identity-carousel .carousel-controls{gap:.65rem}.identity-carousel .carousel-controls .carousel-dot{width:23px}.personal-gallery .section-heading>p{max-width:none}.personal-gallery-carousel .carousel-slide{grid-template-columns:1fr;border-radius:20px}.personal-gallery-image img{height:390px}.portrait-carousel-caption{padding:1.5rem}.portrait-carousel-caption h3{font-size:1.6rem;margin:.6rem 0}.portrait-carousel-caption p{font-size:1.0625rem}.personal-gallery-carousel .carousel-controls{gap:.5rem;justify-content:space-between}.personal-gallery-carousel .carousel-dots{gap:0}.personal-gallery-carousel .carousel-dot{width:18px}.personal-gallery-carousel .carousel-dot:after{width:7px}.personal-gallery-carousel .carousel-dot[aria-pressed=true]:after{width:14px}.personal-gallery-carousel .carousel-arrows{gap:.3rem}.personal-gallery-carousel .carousel-controls button{width:30px;height:34px}.personal-gallery-carousel .carousel-controls .carousel-dot{width:18px}.portrait-thumbnails{grid-template-columns:repeat(4,1fr);gap:.6rem}.portrait-thumbnail img{height:78px}.contact-portrait img{height:270px}.social-icons{gap:.7rem}.footer-socials{padding-bottom:1.5rem}.chat-header{padding:1rem}.chat-body{padding:1.1rem}.chat-header h2{font-size:1.2rem}}
@media(max-width:360px){.identity-carousel .carousel-slide{grid-template-columns:95px 1fr}.identity-quote{padding:.75rem}.identity-quote h2{font-size:1.05rem}.identity-quote p{font-size:.94rem}.identity-carousel .carousel-controls .carousel-dot{width:20px}.personal-gallery-carousel .carousel-controls .carousel-dot{width:15px}}
@media(prefers-reduced-motion:reduce){.site-scene *{animation:none!important}.chat-launcher,.social-icon,.portrait-thumbnail{transition:none}.chat-launcher:hover,.social-icon:hover,.portrait-thumbnail:hover{transform:none}}
