/*
Theme Name: Stefano D’Alò — Hosting Fix
Theme URI: https://stefano-dalo.kevindaloeu.chatgpt.site/
Author: Stefano D’Alò
Description: Portfolio personale bilingue con T-Rex, treno, Crater Burst e Ridge Parallax. Tema con sezioni native Elementor e controlli SEO.
Version: 1.2.1
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stefano-dalo
Tags: one-column, two-columns, custom-colors, custom-logo, portfolio
*/
@font-face{font-family:'DM Sans';font-weight:400;font-style:normal;font-display:swap;src:url('assets/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-weight:500;font-style:normal;font-display:swap;src:url('assets/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-weight:600;font-style:normal;font-display:swap;src:url('assets/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:Lora;src:url('assets/lora-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Lora;src:url('assets/lora-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#f6f5ed;--ink:#252222;--page-bg:var(--paper);--page-ink:var(--ink);--orange:#e7683b;--serif:Lora,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;background:var(--page-bg);color:var(--page-ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:8px}::selection{background:var(--orange);color:var(--paper)}h1,h2,p,figure{margin:0}h2{font:500 40px/1.55 var(--serif);letter-spacing:-.7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:var(--paper);padding:12px 20px;z-index:200}.skip-link:focus{top:12px}
.header{position:fixed;top:0;left:5%;width:90%;display:flex;align-items:center;justify-content:space-between;padding-top:40px;z-index:100;color:var(--ink);transition:opacity .25s,visibility .25s}.header.hero-ended{opacity:0;visibility:hidden;pointer-events:none}.wordmark{display:flex;flex-direction:column;gap:3px;font-size:24px;font-weight:600;line-height:1;letter-spacing:-.5px}.wordmark>span:first-child{font-size:12px;letter-spacing:2px}.header-tools{display:flex;gap:38px;align-items:center}.languages{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.5px}.languages [data-language]{border:0;padding:7px 0;background:none;opacity:.5}.languages [data-language][aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:5px}.languages span{opacity:.25}.menu-toggle{display:block;width:68px;height:55px;padding:0;border:0;background:none;transition:opacity .2s}.menu-toggle.menu-active{opacity:0;pointer-events:none}#menu-text-animation{display:block;width:68px;height:55px}.menu-fallback{font:500 22px var(--serif)}.loaded>.menu-fallback,.loaded>.close-fallback{display:none}.menu-panel{position:fixed;inset:0;z-index:150;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}.menu-panel.open{visibility:visible;opacity:1}.menu-inner{display:flex;flex-direction:column;align-items:center;width:90%;gap:16px}.menu-inner>a{font:500 60px/1.5 var(--serif);border:0;display:flex;align-items:center;gap:16px}.menu-link-arrow{display:block;width:60px;height:24px;margin-top:8px;flex:none}.menu-link-arrow svg{display:block;width:100%;height:100%}.menu-toggle.menu-hovered .menu-fallback{font-size:0}.menu-toggle.menu-hovered .menu-fallback:after{content:"Open";font:500 22px var(--serif)}.open-menu-header{position:absolute;top:0;left:5%;width:90%;display:flex;justify-content:flex-end;padding-top:48px}.menu-close{padding:0;background:none;border:0;width:60px;height:60px}.close-fallback{font:300 50px/60px var(--sans)}#menu-close-animation{display:block;width:60px;height:60px}.menu-close svg{width:100%;height:100%;display:block}
.hero{height:300vh;position:relative}.hero-stage{height:100vh;min-height:580px;position:sticky;top:0;overflow:hidden}.trex-scene{position:absolute;bottom:0;width:90%;left:5%;aspect-ratio:1150/615;container-type:inline-size}.trex-animation{position:absolute;inset:0;z-index:1}.trex-animation svg{display:block;width:100%;height:100%}.great-ideas{position:absolute;top:18.2%;left:50.21%;transform:translateX(-50%);font:700 8.6957cqw/1 var(--serif);white-space:nowrap;color:var(--ink)}.trex-animation .rex-part{opacity:calc(1 - var(--rex-exit,0))}.trex-fallback{display:none;position:absolute;left:0;right:0;bottom:45%;text-align:center;font:700 8.6957cqw/1.2 var(--serif);color:var(--ink)}.scroll-cue{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;letter-spacing:.5px;color:var(--ink)}
.story-flow{position:relative}.greeting{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:12vh 8%}.greeting h2{max-width:960px;text-align:center}.greeting h2 span{display:block}.biography{width:84%;max-width:1180px;margin:0 auto;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:90px 0 100px}.bio-copy h2{font-size:42px;line-height:1.3;margin-bottom:36px;max-width:400px}.bio-copy>p{font-size:17px;line-height:1.8;max-width:450px;margin-top:22px}.social-links{display:flex;gap:28px;margin-top:34px;font-size:13px}.social-links a,.text-link,.contact-email{border-bottom:1px solid currentColor;padding-bottom:5px}.social-links a:hover,.text-link:hover,.contact-email:hover{opacity:.65}.portrait{height:620px;overflow:hidden;position:relative}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:60% 36%;transform:scale(1.22);transform-origin:58% 38%;filter:grayscale(1)}
.ventures{width:84%;max-width:1150px;margin:auto;min-height:55vh;display:flex;align-items:center;padding:80px 0 30px}.brand-links{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.brand-link{display:flex;align-items:center;justify-content:center;min-height:180px;transition:opacity .25s}.brand-link:hover,.brand-link:focus-visible{opacity:1}.brand-link img{filter:grayscale(1);transition:filter .35s ease}.brand-link:hover img,.brand-link:focus-visible img{filter:grayscale(0)}.edilup-brand img{width:90%;max-width:370px;height:auto}.kestelor-brand img{width:120%;max-width:520px;height:auto}.experiment-visual{position:relative;width:70%;max-width:900px;height:470px;margin:0 auto 0;overflow:hidden;pointer-events:none}.experiment-visual iframe{width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity 1s;mask-image:radial-gradient(ellipse closest-side,#000 65%,transparent 100%);pointer-events:none}.experiment-visual.ready iframe{opacity:1}
.forbes-section{width:84%;max-width:1200px;margin:auto;padding:150px 0 130px;min-height:95vh;display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}.forbes-wordmark{font:bold 44px/1 Georgia,serif;display:inline-flex;flex-direction:column;align-items:center;letter-spacing:-2px}.forbes-wordmark>span{font:8px/1 var(--sans);letter-spacing:4px;margin-top:5px}.forbes-copy h2{font-size:46px;line-height:1.3;margin:35px 0 25px;letter-spacing:-1px}.forbes-copy p{font-size:16px;line-height:1.8;max-width:390px}.text-link{display:inline-block;font-size:12px;margin-top:28px}.forbes-image img{display:block;width:100%;height:auto}
.contact{width:84%;max-width:1180px;margin:auto;padding:90px 0 115px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.contact h2{font-size:68px;line-height:1.2;margin-bottom:28px;letter-spacing:-1.5px}.contact-intro>p{font-size:17px;line-height:1.8;max-width:380px}.contact-email{display:inline-block;font-size:17px;margin-top:30px}.contact-form{padding-top:5px;min-width:0}.form-row{margin-bottom:28px}.form-row label{display:block;font-size:12px;margin-bottom:10px}.form-row input,.form-row textarea{width:100%;border:0;border-radius:0;border-bottom:1px solid #9c9990;background:transparent;padding:7px 0 14px;font:16px/1.6 var(--sans);color:inherit;resize:vertical}.form-row input::placeholder,.form-row textarea::placeholder{color:#8b877f}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 1px 0 var(--orange)}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.send-message{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:15px 24px;font:500 20px var(--serif);width:100%;transition:background .2s}.send-message:hover{background:#484340}.send-message:disabled{opacity:.55;cursor:wait}.form-note{font-size:10px;line-height:1.7;opacity:.65;margin-top:15px}.form-note a{text-decoration:underline;text-underline-offset:2px}.form-status{font-size:12px;line-height:1.7;padding-top:16px;min-height:35px}.form-status[data-state=error]{color:#a0341b}.form-status[data-state=success]{color:#235344}
.sunset-scene{height:620px;position:relative;overflow:hidden;background:var(--paper);isolation:isolate}.sunset-scene canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .8s}.sunset-scene.ready canvas{opacity:1}.sunset-scene:not(.ready):before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:var(--orange);left:calc(50% - 100px);top:200px}.footer-rex-wrap{position:absolute;width:100%;height:365px;bottom:0;left:0;display:flex;justify-content:center;overflow:hidden;z-index:2;pointer-events:none}.rex-stage{width:448.6px;height:600px;position:relative;flex:none;margin-left:0}#footer-rex{width:100%;height:100%}.rex-eye{position:absolute;width:4.46%;height:3.34%;border-radius:50%;display:grid;place-items:center;z-index:2}.eye-left{left:28.55%;top:9.67%}.eye-right{left:61.96%;top:9%}.rex-pupil{width:40%;height:40%;background:var(--ink);border-radius:50%;display:block;transform:translate(0,-3px)}
.footer{position:relative;background:var(--paper);color:var(--ink);padding:45px 8% 34px;display:flex;align-items:center;gap:45px;flex-wrap:wrap}.footer-name{font:500 20px var(--serif)}.footer-social{display:flex;gap:24px;font-size:12px;margin-left:auto}.footer small{flex-basis:100%;font-size:10px;opacity:.55;margin-top:20px}
@media(min-width:1500px){.trex-scene{bottom:-40px}.greeting h2{font-size:46px;max-width:1140px}}
@media(max-width:1100px){.trex-scene{width:140%;left:-20%}.greeting h2{font-size:36px;max-width:850px}.biography{gap:7%;width:86%}.portrait{height:560px}.bio-copy h2{font-size:36px}.bio-copy>p{font-size:16px}.forbes-section{gap:6%}.forbes-copy h2{font-size:40px}.contact h2{font-size:56px}}
@media(max-width:760px){html{scroll-padding-top:24px}.header{padding-top:22px;left:7%;width:86%}.header-tools{gap:17px}.wordmark{font-size:23px}.wordmark>span:first-child{font-size:10px}.languages{font-size:10px;gap:7px}.menu-toggle,#menu-text-animation{width:68px;height:55px}.menu-close,#menu-close-animation{width:70px;height:70px}.open-menu-header{left:7%;width:86%;padding-top:20px}.menu-inner{gap:23px}.menu-inner>a{font-size:37px}.menu-link-arrow{width:40px;height:16px;margin-top:0}.hero{height:300svh}.hero-stage{height:100svh;min-height:550px}.trex-scene{width:150%;left:-25%;top:29%;bottom:auto}.scroll-cue{bottom:29px;font-size:10px}.greeting{min-height:90svh;padding:80px 8%}.greeting h2{font-size:28px;line-height:1.65;letter-spacing:-.4px}.greeting h2 span+span{margin-top:18px}.biography{display:flex;flex-direction:column;width:84%;min-height:0;gap:50px;align-items:stretch;padding:25px 0 75px}.bio-copy h2{font-size:35px;max-width:290px;margin-bottom:26px}.bio-copy>p{font-size:15px;line-height:1.85;margin-top:20px}.social-links{font-size:12px;gap:25px;margin-top:28px}.portrait{height:470px}.portrait img{transform:scale(1.22);object-position:60% 37%}.ventures{min-height:0;padding:40px 0 10px;width:84%}.brand-links{grid-template-columns:1fr;gap:15px}.brand-link{min-height:120px}.edilup-brand img{width:78%;max-width:300px}.kestelor-brand img{width:110%;max-width:420px}.experiment-visual{width:100%;height:350px;margin-top:-10px}.forbes-section{min-height:0;display:flex;flex-direction:column;align-items:stretch;width:84%;gap:42px;padding:95px 0 90px}.forbes-wordmark{font-size:38px}.forbes-copy h2{font-size:39px;margin-top:30px}.forbes-copy p{font-size:15px}.contact{width:84%;display:flex;flex-direction:column;gap:48px;padding:55px 0 65px}.contact h2{font-size:54px}.contact-intro>p{font-size:15px}.contact-email{font-size:16px;margin-top:25px}.contact-form{width:100%}.form-row{margin-bottom:26px}.form-row input,.form-row textarea{font-size:16px}.form-note{font-size:9px}.send-message{font-size:20px;padding:14px 20px}.sunset-scene{height:520px}.footer-rex-wrap{height:280px}.rex-stage{width:320px;height:428px;margin-left:0}.footer{padding:34px 8% 30px;gap:25px}.footer-name{font-size:20px;width:100%}.footer-social{margin-left:0;font-size:11px;gap:22px}.footer .languages{margin-left:auto}.footer small{margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero{height:100svh;min-height:550px}.hero-stage{height:100svh}.greeting{min-height:75svh}.brand-link,.portrait{transform:none!important}}

/* The experiment develops with the story. */
.curiosity{position:relative;min-height:105vh;display:flex;align-items:center;width:100%;overflow:hidden;padding:10vh 8%}.curiosity-copy{position:relative;z-index:2;width:38%;max-width:420px;pointer-events:none}.curiosity-copy h2{font-size:40px;line-height:1.4}.curiosity-copy p{font:500 26px/1.6 var(--serif);margin-top:25px}.curiosity .experiment-visual{position:absolute;right:-4%;top:0;width:72%;max-width:none;height:100%;margin:0}.curiosity iframe{mask-image:radial-gradient(ellipse closest-side,#000 55%,transparent 100%)}
@font-face{font-family:TrainMarker;src:url('assets/train-marker.ttf') format('truetype');font-weight:400;font-display:swap}.journey{height:340vh;position:relative}.journey-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:flex-start;padding:18vh 8% 0}.journey h2{font-size:40px;text-align:center;max-width:900px}.train-track{position:absolute;bottom:10vh;left:0;display:flex;align-items:flex-end;width:max-content;will-change:transform}.train-cab{width:469px;flex:none;display:block}.train-coach{position:relative;flex:none;width:468px;line-height:0}.train-coach.tank{width:521px}.train-coach img{display:block;width:100%;height:auto}.train-coach>span{position:absolute;left:12%;right:12%;top:35%;text-align:center;color:#232323;font:400 45px/1.05 TrainMarker,cursive;letter-spacing:-1px;transform:rotate(-3deg)}.train-coach.coal>span{top:45%;font-size:45px;transform:rotate(3deg)}.train-coach.tank>span{top:32%;font-size:47px}
@media(max-width:760px){.curiosity{min-height:100svh;display:block;padding:60px 8% 0}.curiosity-copy{width:100%;max-width:340px}.curiosity-copy h2{font-size:31px}.curiosity-copy p{font-size:22px;margin-top:18px}.curiosity .experiment-visual{top:23%;right:-10%;height:77%;width:120%}.journey{height:360svh}.journey-stage{height:100svh;padding:18svh 8% 0}.journey h2{font-size:30px}.train-track{bottom:18svh}.train-cab,.train-coach{width:328px}.train-coach.tank{width:365px}.train-coach>span{font-size:31px}.train-coach.coal>span{font-size:31px}.train-coach.tank>span{font-size:33px}}
@media(prefers-reduced-motion:reduce){.journey{height:auto}.journey-stage{height:auto;position:relative;display:block;padding:75px 8%}.journey h2{margin:0 auto 55px}.train-track{position:relative;left:auto;bottom:auto;display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;transform:none!important;will-change:auto}.train-cab{display:none}.train-coach,.train-coach.tank{width:100%}.train-coach>span,.train-coach.coal>span,.train-coach.tank>span{font-size:clamp(14px,3vw,35px)}}

.rex-backplate{position:absolute;inset:0;width:100%;height:100%;z-index:0}#footer-rex{position:relative;z-index:1}

.train-rex-box{position:relative;top:5px;flex:none;width:521px;aspect-ratio:521/370}.train-rex-box svg{display:block;width:100%;height:100%}@media(max-width:760px){.train-rex-box{width:365px}}@media(prefers-reduced-motion:reduce){.train-rex-box{width:100%;grid-column:1 / -1;max-width:521px;justify-self:center}}

.idea-statement{position:absolute;top:39%;left:50.21%;transform:translateX(-50%);display:flex;align-items:baseline;font:700 8.15cqw/1 var(--serif);white-space:nowrap;color:var(--ink)}.trex-scene.bitten .idea-im{display:none}#train-rex{position:absolute;inset:0}.train-rex-label{position:absolute;left:12.5%;top:61.5%;width:51.5%;height:24%;background:url("assets/train-rex-label.svg") center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;padding:8px 10px;font:400 50px/1 TrainMarker,cursive;color:var(--ink);letter-spacing:-1px;transform:rotate(-1deg)}html[lang=it] .train-rex-label{font-size:34px}@media(max-width:760px){.train-rex-label{padding:5px 7px;font-size:35px}html[lang=it] .train-rex-label{font-size:24px}}

@media(hover:hover) and (pointer:fine){html,body{cursor:url("assets/cursor-arrow.svg") 1 1,auto}a,button,select,summary,[role=button]{cursor:url("assets/cursor-link.svg") 1 1,pointer}input,textarea,[contenteditable=true]{cursor:text}button:disabled{cursor:wait}}

/* Illustrated signature, shared by the header and footer. */
.wordmark{font-family:TrainMarker,cursive;font-weight:400;font-size:31px;line-height:1.05;letter-spacing:-1.2px;gap:0;transform:rotate(-3deg)}.wordmark>span:first-child{font-size:19px;letter-spacing:-.4px}.footer-name{font:400 28px/1.2 TrainMarker,cursive;letter-spacing:-1px;transform:rotate(-2deg)}
/* The text and dinosaur key form one accessible submit button. */
.send-message{display:flex;align-items:center;justify-content:flex-start;gap:24px;width:100%;border:0;border-radius:0;background:transparent;color:var(--ink);padding:0 0 8px;font:500 23px/1.3 var(--serif);text-align:left}.send-message:hover{background:transparent}.send-key{display:block;flex:none;width:74px;height:72px;transition:transform .2s}.send-message:hover .send-key,.send-message:focus-visible .send-key{transform:translateY(-3px) rotate(-4deg)}.send-message:active .send-key{transform:translateY(2px) rotate(0)}
.caret-shell{position:relative}.dino-caret{position:absolute;display:none;pointer-events:none;width:11px;height:11px;transform:translateX(-50%);background:url('assets/caret-footprint.png') center/contain no-repeat;z-index:1}.caret-shell.caret-active .dino-caret{display:block;animation:caret-blink 1.1s step-end infinite}.caret-shell.caret-active input,.caret-shell.caret-active textarea{caret-color:transparent}.caret-mirror{position:fixed;left:-10000px;top:0;visibility:hidden;pointer-events:none;overflow:hidden}.caret-shell.caret-selecting .dino-caret{display:none}@keyframes caret-blink{0%,55%{opacity:1}56%,100%{opacity:0}}
@media(max-width:760px){.wordmark{font-size:28px}.wordmark>span:first-child{font-size:17px}.footer-name{font-size:27px}.send-message{font-size:22px}.send-key{width:66px;height:65px}}
@media(forced-colors:active){.dino-caret{display:none!important}.caret-shell.caret-active input,.caret-shell.caret-active textarea{caret-color:auto}}
.sunset-scene{background:#fff6e8}.sunset-scene:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(var(--paper),transparent 18%,transparent 78%,var(--paper))}.sunset-scene:not(.ready):before{width:100%;height:100%;left:0;top:0;border-radius:0;background:radial-gradient(ellipse at 65% 75%,#fd6a20 0%,transparent 55%),radial-gradient(ellipse at 25% 60%,#e7683b 0%,transparent 65%)}

/* Crater Burst uses the supplied warm background, feathered into the story. */
.curiosity .experiment-visual{pointer-events:auto}.experiment-visual canvas{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s;mask-image:radial-gradient(ellipse closest-side,#000 55%,transparent 100%)}.experiment-visual.ready canvas{opacity:1}

#crater-canvas{background:#fff6e8}

.experiment-visual:not(.ready):before{content:'';position:absolute;inset:0;background:radial-gradient(var(--crater-color,#ff2d00) 1.2px,transparent 1.4px);background-size:7px 7px;mask-image:radial-gradient(ellipse closest-side,transparent 22%,#000 30%,#000 55%,transparent 90%)}

/* Portrait cutout and perceptible project interactions. */
.portrait{overflow:hidden;outline:none;isolation:isolate}.portrait>img{object-fit:cover;object-position:center top;transform:scale(1);transform-origin:center top;filter:grayscale(1);transition:filter .5s ease,transform .6s ease}.portrait:hover>img,.portrait:focus-visible>img{filter:grayscale(0) brightness(1.06) drop-shadow(0 0 24px #e7683b25);transform:scale(1.03)}.portrait:focus-visible{outline:2px solid var(--orange);outline-offset:8px}
.brand-link{position:relative;flex-direction:column;gap:20px;padding:12px 0 25px}.brand-link img{transition:filter .4s ease,transform .4s ease}.brand-link:hover img,.brand-link:focus-visible img{transform:translateY(-5px) scale(1.04);filter:grayscale(0) drop-shadow(0 6px 16px #f6f5ed25)}.brand-domain{position:absolute;bottom:0;font-size:12px;letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;text-decoration:underline;text-underline-offset:5px}.brand-link:hover .brand-domain,.brand-link:focus-visible .brand-domain{opacity:1;transform:translateY(0)}
.footer-bottom{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;flex-wrap:wrap}.footer-bottom small{flex-basis:auto;margin:0;opacity:.7}.footer-legal{display:flex;flex-wrap:wrap;gap:22px;font-size:11px}.footer-legal a:hover,.footer-legal a:focus-visible{text-decoration:underline;text-underline-offset:5px}.contact-application{font-size:11px;line-height:1.8;margin-top:17px}.contact-application a{border-bottom:1px solid currentColor}
html[lang=it] [data-lang=en],html[lang=en] [data-lang=it]{display:none}.legal-page{width:84%;max-width:800px;margin:0 auto;padding:80px 0 110px}.legal-page h1{font:500 clamp(40px,6vw,65px)/1.2 var(--serif);margin:45px 0}.legal-page h2{font-size:25px;margin:36px 0 14px;line-height:1.4}.legal-page p,.legal-page li{font-size:15px;line-height:1.8;margin:12px 0}.legal-page a{text-decoration:underline;text-underline-offset:4px}.utility-header,.utility-footer{padding:30px 8%;display:flex;justify-content:space-between;align-items:center;gap:30px}.utility-header a{font:27px/1.2 TrainMarker,cursive}.utility-footer{font-size:12px}
.application-dialog{width:min(800px,92vw);max-height:92svh;margin:auto;padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.application-dialog::backdrop{background:#252222bb;backdrop-filter:blur(7px)}body.application-open{overflow:hidden}.application-shell{padding:48px 56px 38px;position:relative}.application-close{position:absolute;right:20px;top:14px;font:35px/1 var(--serif);width:44px;height:44px;border:0;background:none}.application-intro h2{font-size:35px;line-height:1.3;max-width:550px}.application-intro>p{font-size:13px;line-height:1.7;margin:14px 0 28px;max-width:500px}.application-form fieldset{border:0;margin:0;padding:0;min-width:0}.application-form fieldset[hidden]{display:none}.application-form legend{font:500 28px/1.4 var(--serif);margin-bottom:26px;padding:0}.application-progress{height:2px;background:#d9d5c9;margin:0 0 30px}.application-progress>span{display:block;width:25%;height:100%;background:var(--orange);transition:width .35s}.application-options{display:grid;gap:12px;margin:0 0 30px}.application-options label{display:flex;gap:14px;align-items:center;min-height:60px;padding:14px 20px;border:1px solid #b3ad9d;font-size:16px;cursor:pointer;transition:background .2s,border-color .2s}.application-options label:has(:checked){border-color:var(--ink);background:var(--ink);color:var(--paper)}.application-options label:has(:focus-visible){outline:2px solid var(--orange);outline-offset:3px}.application-form input[type=radio],.application-form input[type=checkbox]{accent-color:var(--orange);width:17px;height:17px;flex:none}.application-step-copy{font-size:14px;line-height:1.7;margin:-12px 0 24px}.application-form .form-row{margin-bottom:22px}.application-upload{border:1px dashed #a9a08c;padding:20px;margin:0 0 24px}.application-upload>label{display:block;font-size:13px;margin-bottom:15px}.application-upload input{width:100%;font-size:12px}.application-upload input::file-selector-button{font:inherit;padding:10px 12px;margin-right:12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer}.application-upload small{font-size:10px;line-height:1.6;display:block;margin-top:14px}.application-upload ul{padding-left:18px;font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin:12px 0 0}.application-upload ul:empty{display:none}.application-remove{font-size:11px;background:none;border:0;padding:8px 0;text-decoration:underline}.application-error{font-size:12px;color:#a0341b;line-height:1.6;margin-top:10px}.application-error:empty{display:none}.application-privacy{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.7}.application-privacy a{text-decoration:underline;text-underline-offset:3px}.application-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px}.application-actions button{padding:12px 20px;border:1px solid var(--ink);font-size:14px;background:var(--ink);color:var(--paper)}.application-actions .application-back{padding-left:0;border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:5px}.application-actions .application-next,.application-submit{margin-left:auto}.application-actions .application-submit{display:flex;align-items:center;gap:25px;font:500 19px var(--serif);padding:7px 15px 7px 20px}.application-actions button[hidden]{display:none}.application-actions button:disabled{opacity:.5}.application-status{font-size:12px;line-height:1.7;margin-top:14px}.application-page{width:min(800px,92vw);margin:40px auto 100px}.application-page .application-shell{padding-top:10px}.application-page .application-close{display:none}.application-page h1{font:500 clamp(35px,6vw,60px)/1.2 var(--serif);margin:35px 0 20px}.application-page .application-intro h2{display:none}.application-page .application-form:not(.enhanced) fieldset{margin-bottom:50px}.application-page .application-progress{display:none}.application-page .enhanced .application-progress{display:block}
@media(max-width:760px){.portrait>img{object-position:center top;transform:scale(1)}.portrait:hover>img,.portrait:focus-visible>img{transform:scale(1.03)}.brand-link{margin-bottom:22px}.footer-bottom{gap:18px;margin-top:5px}.footer-legal{gap:16px;font-size:10px}.footer-bottom small{font-size:10px}.application-dialog{max-height:94svh;width:94vw}.application-shell{padding:56px 24px 26px}.application-intro h2{font-size:28px}.application-intro>p{font-size:12px}.application-form legend{font-size:25px;margin-bottom:23px}.application-options label{padding:13px;font-size:14px}.application-page .application-shell{padding:12px}.application-actions .application-submit{font-size:16px;gap:14px}.utility-header,.utility-footer{padding:25px 8%}.legal-page{padding-top:30px}.legal-page h1{margin-top:20px}.legal-page p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.portrait:hover>img,.portrait:focus-visible>img,.brand-link:hover img,.brand-link:focus-visible img{transform:none}}

.personal-cab{position:relative}.personal-cab img{display:block;width:100%;height:auto}.personal-cab>span{position:absolute;left:39.5%;top:54.7%;width:40.5%;text-align:center;color:#232323;font:bold 11.5px/1.2 Georgia,serif;letter-spacing:1.35px;white-space:nowrap}@media(max-width:760px){.personal-cab>span{font-size:8px;letter-spacing:.95px}}

/* Personal monogram uses the supplied original image, cropped only by its CSS frame. */
.personal-brand{display:flex;align-items:center;gap:14px}.brand-mark{display:block;position:relative;flex:none;width:56px;height:56px;overflow:hidden;mix-blend-mode:normal}.brand-mark img{position:absolute;left:-6px;top:-6px;width:68px;height:68px;max-width:none;object-fit:contain}.footer-name{display:flex;align-items:center;gap:13px}.footer-name .brand-mark{width:40px;height:40px;transform:rotate(2deg)}.footer-name .brand-mark img{width:48px;height:48px;left:-4px;top:-4px}
.greeting h2.greeting-typewriter{position:relative;width:100%}.typewriter-reserve{opacity:0;pointer-events:none}.greeting h2 .typewriter-text{position:absolute;inset:0;margin:0}.typewriter-text .typing-line:after{content:'';display:inline-block;width:2px;height:.85em;background:currentColor;vertical-align:-.02em;margin-left:5px;animation:caret-blink .8s step-end infinite}
@media(max-width:760px){.personal-brand{gap:10px}.personal-brand .brand-mark{width:43px;height:43px}.personal-brand .brand-mark img{width:52px;height:52px;left:-4.5px;top:-4.5px}.wordmark{font-size:26px}.wordmark>span:first-child{font-size:16px}.footer-name{width:auto}}



html[lang=it] [data-lang=es],html[lang=en] [data-lang=es],html[lang=es] [data-lang=it],html[lang=es] [data-lang=en]{display:none}

body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}img{-webkit-user-drag:none;user-select:none}/* A small handwritten detour, in the same illustrated language as the train. */
.personal-context-menu{position:fixed;z-index:250;width:345px;max-width:calc(100vw - 32px);padding:26px 24px 22px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:14px 27px 19px 32px/23px 17px 29px 14px;box-shadow:7px 8px 0 var(--ink);transform:rotate(-1deg)}
.personal-context-menu[hidden]{display:none}.context-eyebrow{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#a14427;margin-bottom:10px}.context-rex{position:absolute;right:10px;top:13px;width:108px;height:104px;overflow:hidden;pointer-events:none;transform:rotate(7deg)}.context-rex-stage{position:relative;width:108px;height:144.45px}.context-rex-animation{position:relative;z-index:1;width:100%;height:100%}.context-rex-animation svg{display:block;width:100%;height:100%}.context-rex-pupil{width:40%;height:40%;background:var(--ink);border-radius:50%;display:block}
.personal-context-menu .context-title{font:400 29px/1.15 TrainMarker,cursive;max-width:190px;margin:0 0 20px;letter-spacing:-.5px}
.personal-context-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 17px/1.35 TrainMarker,cursive;padding:15px 0;border-top:1.5px dashed #25222266;transition:color .18s,transform .18s}.personal-context-menu a>span{max-width:245px}.personal-context-menu a svg{flex:none;width:31px;height:19px;transform:rotate(-4deg);transition:transform .18s}
.personal-context-menu a:hover,.personal-context-menu a:focus-visible{color:#a14427;outline:none;transform:translateX(3px)}.personal-context-menu a:hover svg,.personal-context-menu a:focus-visible svg{transform:translateX(3px) rotate(3deg)}.personal-context-menu a:focus-visible>span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.context-aside{display:block;font:italic 11px/1.5 var(--serif);margin-top:15px;max-width:290px;opacity:.8}
@media(prefers-reduced-motion:reduce){.personal-context-menu a,.personal-context-menu a svg{transition:none;transform:none!important}}
.personal-context-menu a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.train-cab{display:block;width:100%;max-width:469px;grid-column:1/-1;justify-self:center}}


.admin-bar .header{top:32px}.admin-bar .menu-panel{top:32px}.content-page{width:84%;max-width:1000px;min-height:70vh;margin:auto;padding:170px 0 90px}.content-page h1{font:500 52px/1.2 var(--serif);margin-bottom:45px}.content-page h2{margin:30px 0 15px}.content-page p{font-size:17px;line-height:1.8;margin:20px 0}.content-page img{max-width:100%;height:auto}.content-page a{text-decoration:underline;text-underline-offset:4px}.content-page .article-entry{margin-bottom:65px}.content-page .article-entry h2{font-size:35px}.standard-header{position:relative;width:84%;margin:auto;padding:40px 0;display:flex;align-items:center;justify-content:space-between}.standard-header a{font:400 24px TrainMarker,cursive}.standard-footer{padding:40px 8%;border-top:1px solid #dedbd4}.alignwide{max-width:1200px}.alignfull{width:100%}.wp-caption{max-width:100%}.wp-caption-text{font-size:12px}.gallery-caption{font-size:12px}.bypostauthor{font-weight:500}.sticky{border-bottom:1px solid #dedbd4}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:782px){.admin-bar .header,.admin-bar .menu-panel{top:46px}.content-page{padding:75px 0}.content-page h1{font-size:38px}}
/* Native Elementor widgets preserve the full-width editorial layout. */
.sd-elementor .elementor-widget[class*="elementor-widget-sd-"]{margin-bottom:0;width:100%}.sd-elementor .elementor-widget-container{overflow:visible}.sd-elementor .story-flow{padding:0;gap:0}.sd-elementor .greeting h2,.sd-elementor .bio-copy h2,.sd-elementor .curiosity-copy h2,.sd-elementor .curiosity-copy p,.sd-elementor .journey h2,.sd-elementor .forbes-copy h2,.sd-elementor .contact h2{font-family:var(--serif)}.sd-elementor .bio-copy>p,.sd-elementor .forbes-copy>p,.sd-elementor .contact-intro>p{font-family:var(--sans)}

.sd-elementor .portrait>img{width:100%;height:100%;max-width:none;object-fit:cover}
