/* Art direction: references supplied for this portfolio, adapted to its English recruiter-first copy. */
:root{--ink:#2f4156;--paper:#fffaf6;--sand:#f2d7df;--accent:#bf8195;--mute:#526578;--navy:#2f4156;--sky:#c8d9e6;--pale:#ffe1e6;--beige:#f5efeb}
body{background:var(--paper);color:var(--ink)}h1,h2,h3,.logo{font-family:"Cormorant Garamond",Georgia,serif}.site-header{background:rgba(255,250,246,.96);padding:19px max(24px,5vw);border-bottom:1px solid rgba(47,65,86,.12)}.logo{font-size:1.25rem;line-height:.86;letter-spacing:.055em;text-transform:uppercase}.site-header nav a{letter-spacing:.11em;text-transform:uppercase;font-size:.67rem;font-weight:600;margin-left:27px}.header-contact{border-radius:90px;background:var(--navy);color:#fff;text-decoration:none;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;padding:12px 22px;white-space:nowrap}.header-contact:hover{background:#51677f}.site-header nav{margin-left:auto;margin-right:auto}.eyebrow{font-size:.7rem;letter-spacing:.21em;color:var(--navy);font-weight:600}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--paper) 66%,var(--navy) 66%);padding:74px 0 100px}.hero-grid{grid-template-columns:.94fr 1.06fr;gap:36px}.hero h1{font-size:clamp(3.5rem,6.1vw,6.8rem);letter-spacing:-.04em;line-height:.91;margin:.24em 0}.hero h1 em,.section h2 em{font-weight:400;color:var(--accent)}.hero .lead{max-width:35ch;font-family:"Cormorant Garamond",serif;font-size:1.45rem;line-height:1.38}.hero-imgs{position:relative;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;padding:40px 0 25px}.hero-imgs img{box-shadow:0 18px 38px rgba(21,30,39,.13)}.hero-imgs img:first-child{grid-row:span 2}.hero-imgs img:nth-child(2){transform:translate(7px,-22px)}.hero-imgs img:nth-child(3){transform:translate(-12px,8px)}.hero-sticker{position:absolute;top:10px;right:-7px;padding:19px 22px;background:var(--pale);font:italic 1.65rem/1 "Cormorant Garamond",serif;transform:rotate(3deg);text-align:center;color:var(--accent);box-shadow:0 12px 22px rgba(0,0,0,.07)}.hero-sticker em{color:var(--navy)}.btn{border-radius:80px;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600;background:var(--navy);border-color:var(--navy);padding:14px 24px}.btn.ghost{color:var(--navy);border-color:var(--navy)}.btn:hover{background:#51677f;border-color:#51677f}.alt{background:var(--sky)}#how-i-work,#testimonials{background:var(--beige)}#sets-me-apart{background:var(--pale)}#social-media{background:#f9e8eb}.section{padding:90px 0}.section h2{font-size:clamp(2.6rem,4.6vw,4.4rem);letter-spacing:-.026em}.card{gap:54px;border-top:1px solid rgba(47,65,86,.2);padding-top:28px}.cards{gap:60px}.card-img img{aspect-ratio:1.36;object-fit:cover}.card-body h3{font-size:clamp(2rem,3.5vw,3rem)}.card-body>p:not(.tags){font-size:.97rem;line-height:1.8}.tags{color:#955e72;font-weight:600;font-size:.72rem;letter-spacing:.12em}.about{grid-template-columns:.75fr 1.25fr}.about img{max-height:560px;object-position:center 24%}.item{border-color:rgba(47,65,86,.5)}.quotes{display:block}.quotes>p{border-top:1px solid currentColor;padding-top:20px}.site-footer{background:var(--navy);color:#fff;border:0}.site-footer a{color:#fff}.case{max-width:1040px}.case>section:not(.case-gallery){max-width:760px;margin:0 auto 48px}.case>h1,.case>.eyebrow,.case>.tags{max-width:760px;margin-left:auto;margin-right:auto}.case-hero img{max-height:680px;object-fit:cover}.case-gallery{padding:62px 0;border-top:1px solid rgba(47,65,86,.2)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery-card{background:var(--beige)}.gallery-card a{display:block;overflow:hidden}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.gallery-card a:hover img{transform:scale(1.04)}.gallery-card figcaption{padding:14px 16px;font-size:.85rem;line-height:1.4}.gallery-card figcaption span{font-size:.7rem;color:var(--accent);letter-spacing:.1em;margin-right:9px}.gallery-card:first-child:nth-last-child(odd){grid-column:span 2}.gallery-card:first-child:nth-last-child(odd) img{aspect-ratio:2.08}.case-hero{margin-bottom:42px}.pager{border-color:rgba(47,65,86,.2)}@media(max-width:900px){.hero{background:var(--paper)}.hero-grid{grid-template-columns:1fr}.hero-imgs{max-width:650px;margin:auto}.site-header nav{margin:0}.header-contact{margin-left:auto;margin-right:16px}.hero-sticker{right:0}.site-header nav a{margin:0}.gallery-grid{gap:14px}}@media(max-width:620px){.site-header{padding:14px 18px}.header-contact{display:none}.hero{padding:48px 0 70px}.hero h1{font-size:clamp(3.3rem,12vw,5rem)}.hero-imgs{padding:28px 16px}.hero-sticker{font-size:1.25rem;right:2px}.gallery-grid{grid-template-columns:1fr}.gallery-card:first-child:nth-last-child(odd){grid-column:auto}.gallery-card:first-child:nth-last-child(odd) img{aspect-ratio:4/3}.card{gap:22px}.section{padding:66px 0}}@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}

/* Portfolio continuation: calm motion, map, languages, and contact */
body::before{content:"";position:fixed;z-index:-1;inset:-18%;pointer-events:none;background:radial-gradient(circle at 18% 30%,rgba(247,201,212,.3),transparent 34%),radial-gradient(circle at 82% 70%,rgba(200,217,230,.35),transparent 38%);animation:ambient-drift 25s ease-in-out infinite alternate}@keyframes ambient-drift{to{transform:translate3d(2%,-2%,0) scale(1.05)}}.map-panel{background:var(--beige);border:1px solid rgba(47,65,86,.12);padding:clamp(12px,3vw,32px);margin:34px 0;overflow:hidden}.world-map{display:block;width:100%;height:auto}.language-panel{max-width:680px}.language-list{list-style:none;padding:0;margin:20px 0 0}.language-list li{display:grid;grid-template-columns:1fr auto;gap:6px 20px;margin:0 0 22px}.language-level{font-size:.83rem;font-weight:600}.language-track{grid-column:1/-1;background:rgba(47,65,86,.16);height:9px;border-radius:9px;overflow:hidden}.language-track>span{display:block;height:100%;width:var(--fill);background:linear-gradient(90deg,var(--navy),#bf8195);border-radius:9px}.level-note,.form-hint{font-size:.82rem;color:var(--mute)}.contact-form{max-width:760px;margin-top:38px;padding:clamp(22px,4vw,40px);border:1px solid rgba(47,65,86,.15);background:rgba(255,255,255,.68)}.contact-form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #9daab6;border-radius:0;padding:12px 14px;background:#fff;font:inherit;color:var(--ink)}.contact-form fieldset{border:0;margin:0 0 18px;padding:0}.contact-form legend{font-size:.9rem;font-weight:600;margin-bottom:10px}.topic-options{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.topic-options label{font-weight:400;margin:0;padding:4px 0}.contact-form button{cursor:pointer;font:inherit}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card img{width:100%;height:auto;object-fit:contain}.case-gallery{max-width:100%}@media(max-width:650px){.form-row,.topic-options,.gallery-grid{grid-template-columns:1fr}.world-map{min-width:530px}.map-panel{overflow-x:auto}}@media(prefers-reduced-motion:reduce){body::before{animation:none!important}.language-track>span{transition:none!important}}
.quotes figure{background:#fff;padding:28px;border-top:3px solid #f7c9d4}.quotes blockquote p{font-size:1rem;margin:0}
/* Editorial v3: botanical wash, legible type and deliberate scroll reveals */
body{font-size:18px;line-height:1.75}
body::before{z-index:0;inset:0;background:url('../assets/img/floral-wash.png') center 34% / min(1250px,100vw) auto no-repeat;opacity:.14;filter:blur(1px);animation:petal-breath 24s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
@keyframes petal-breath{from{transform:translate3d(-2%,2%,0) scale(1.02)}to{transform:translate3d(2%,-2%,0) scale(1.12)}}
body>header,body>main,body>footer{position:relative;z-index:1}
main .section:not(.alt),main .hero{background-color:rgba(255,250,246,.72)}
main .section.alt{background-color:rgba(239,233,223,.91)}
.hero .lead,.lead{font-size:clamp(1.2rem,1.55vw,1.42rem)}
.intro,.card-body p,.case p,.item p,.about p,.section>.wrap>p:not(.eyebrow){font-size:clamp(1.06rem,1.22vw,1.22rem)}
.eyebrow,.tags,.map-caption,.gallery-card figcaption,.timeline span{font-size:.9rem;letter-spacing:.09em}
.site-header nav a,.site-footer,.btn-link,figcaption,.contact-form label,.contact-form legend,.topic-options label{font-size:1rem}
.item{padding:24px 18px 26px;border-top:2px solid rgba(47,65,86,.4);background:linear-gradient(145deg,rgba(255,255,255,.53),rgba(247,201,212,.12));border-radius:2px}
.feature-icon{display:inline-grid;place-items:center;width:58px;height:58px;margin-bottom:20px;border-radius:50%;background:#e8edf2;color:var(--navy);font-size:1.75rem;box-shadow:inset 0 0 0 1px rgba(47,65,86,.12)}
.item:nth-child(3n+2) .feature-icon{background:#f7c9d4}
.item:nth-child(3n) .feature-icon{background:#fff0ef}
.visual-interlude{background:#e9f1f6!important}.interlude-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.interlude-grid figure{margin:0;background:#fff;padding:9px 9px 18px}
.interlude-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.interlude-grid figcaption{padding:14px 8px 0;font-size:1rem;font-family:Georgia,serif}
.interlude-grid figcaption span{display:block;text-transform:uppercase;letter-spacing:.13em;font:600 .78rem Inter,sans-serif;color:var(--navy)}
.map-panel{padding:clamp(9px,1.5vw,22px);max-width:1050px;background:#f5efeb}
.map-canvas{position:relative;width:100%;max-height:660px;overflow:hidden}
.map-canvas img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.map-pin{position:absolute;display:flex;align-items:center;gap:7px;padding:6px 10px;background:rgba(255,250,246,.94);box-shadow:0 3px 20px rgba(47,65,86,.15);border-radius:30px;color:#253c53;font-size:clamp(.78rem,1.15vw,1rem);font-weight:600;white-space:nowrap;transform:translate(-10%,-125%)}
.map-pin i{display:block;width:12px;height:12px;flex:none;background:#ae687f;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 3px rgba(174,104,127,.3)}
.pin-florida{left:25%;top:40%}.pin-brazil{left:35%;top:67%}.pin-italy{left:53%;top:35%}
.map-caption{margin:12px 4px 0;color:var(--navy);text-align:center}
.language-panel{max-width:780px}.language-list li{font-size:1.08rem}.language-level{font-size:1rem}
.language-track{height:12px;background:rgba(47,65,86,.13)}
.language-track>span{width:var(--fill);transform:scaleX(0);transform-origin:left center;transition:transform 2.6s cubic-bezier(.12,.7,.18,1);will-change:transform}
.language-list.in-view .language-track>span{transform:scaleX(1)}
/* No JS or reduced motion: keep content visible and the bars filled. */
.reveal{opacity:1;transform:none}
.js-motion .reveal{opacity:0;transform:translate3d(0,58px,0) scale(.96);filter:blur(5px);transition:opacity 1.05s ease,transform 1.05s cubic-bezier(.18,.7,.18,1),filter 1.05s ease;transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal.in{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
@media(max-width:860px){.interlude-grid{grid-template-columns:1fr 1fr}.map-pin{padding:4px 7px}.pin-italy{left:51%}}
@media(max-width:650px){.interlude-grid{grid-template-columns:1fr}.interlude-grid img{aspect-ratio:4/3}.map-panel{overflow:hidden}.map-canvas img{min-width:0}.map-pin{font-size:.65rem;gap:3px;padding:3px 5px;transform:translate(-12%,-120%)}.map-pin i{width:8px;height:8px;box-shadow:none}.pin-florida{left:21%;top:40%}.pin-brazil{left:30%;top:67%}.pin-italy{left:50%;top:35%}}
@media(prefers-reduced-motion:reduce){body::before{animation:none!important}.js-motion .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.language-track>span{transform:scaleX(1)!important;transition:none!important}}

.site-header{position:sticky;top:0}.site-footer{position:relative;z-index:1}.level-note{font-size:.98rem}

/* v4 */
body{font-size:19px}
body::before{background:url('../assets/img/floral-user.webp') center top / 1500px auto repeat-y!important;opacity:.07!important;filter:none!important;animation:none!important;position:fixed;inset:0;mix-blend-mode:multiply}
.parallax-floral{display:none}
.site-header nav a{font-size:.85rem!important}.header-contact{font-size:.85rem!important}.eyebrow{font-size:.9rem!important}.btn{font-size:.9rem!important}.tags{font-size:.9rem!important}
.gallery-card figcaption{font-size:1rem!important}.gallery-card figcaption span{font-size:.9rem!important}.language-level{font-size:1.1rem!important}.level-note,.form-hint,.map-caption{font-size:1rem!important}
.language-list li>span:first-child{font-size:1.2rem;font-weight:500}.chips li{font-size:1.05rem!important}.timeline span{font-size:1rem!important}.contact-form label,.contact-form legend{font-size:1.05rem!important}.contact-form input:not([type=checkbox]),.contact-form textarea{font-size:1.05rem}
figcaption,.site-footer,.site-footer p{font-size:1.05rem!important}.quotes blockquote p{font-size:1.12rem!important;line-height:1.6}
.card-body p,.item p,.about p,.case p,.intro,.lead{font-size:clamp(1.12rem,1.3vw,1.28rem)!important}
.ico{display:block}.feature-icon .ico{width:30px;height:30px}.feature-icon.sm{width:46px;height:46px;margin:0 14px 0 0;vertical-align:middle;flex:none}.feature-icon.sm .ico{width:24px;height:24px}
.h-ico{display:flex;align-items:center}.feature-icon.q{margin:0 0 14px;background:#f7c9d4}
.bi{display:inline-block;vertical-align:middle;margin-right:10px}.bi .ico{width:20px;height:20px}
.language-track>span{transition:none!important;will-change:width}
.map-canvas img{width:100%;height:auto;display:block}
.map-panel{background:#fff!important}
.map-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding:0;margin:18px 0 6px}.map-legend li{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;color:var(--navy)}.map-legend .ico{width:24px;height:24px;color:#b88a4a}
.chips li{padding:8px 18px}
.chips li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#f0a9bd;margin-right:10px}
