/* zweientenontheroad / direzione visiva dal frame fornito */
:root{--gold:#c4afff;--bg:#09070f;--violet:#8d68ff;--pink:#f090da;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:#f7f5fc;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}.wrap{width:calc(100% - 72px);max-width:1380px;margin:auto}header{position:absolute;z-index:3;width:100%;border-bottom:1px solid var(--line)}.navrow{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:17px;font-weight:900;letter-spacing:-.04em;white-space:nowrap}.brand span{font-weight:400;color:#d5c8ef}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:.24em;margin-top:8px;color:#c9bddf}nav{display:flex;gap:25px;align-items:center}nav a{font-size:10px;letter-spacing:.1em}nav a:last-child{border:1px solid #ffffff66;padding:13px}nav a:hover,.text-link:hover{color:var(--pink)}.menu{display:none}.hero{position:relative;isolation:isolate;min-height:780px;height:100svh;max-height:1200px;display:flex;align-items:center;overflow:hidden;background:#180d36}.hero-frame{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:65% center}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,7,15,.94),rgba(9,7,15,.58) 43%,rgba(9,7,15,.08) 75%),linear-gradient(0deg,#09070f,transparent 25%,transparent 80%,#09070f77)}.hero-content{padding-top:80px}.tag{font-size:10px;letter-spacing:.2em;line-height:1.8;color:var(--gold);font-weight:700}h1{font-size:clamp(52px,7.8vw,120px);line-height:.93;letter-spacing:-.065em;margin:28px 0;font-weight:900}h1 em,h2 em{font-style:normal;color:var(--gold)}h2{font-size:clamp(40px,5.8vw,84px);line-height:1.02;letter-spacing:-.055em;margin:20px 0 36px}h3{font-weight:500}.hero-intro{font-size:18px;line-height:1.7;color:#ded8eb}.btn{display:inline-flex;align-items:center;gap:36px;background:var(--gold);color:#100a20;border:0;padding:19px 24px;margin-top:22px;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer}.btn:hover{background:#e5d9ff}.btn span{font-size:22px}.hero-bottom{position:absolute;bottom:35px;left:0;right:0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em;color:#d6cfe4}.section{padding-top:110px;padding-bottom:110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{color:#aaa2bc;font-size:14px;line-height:1.8}.featured{border:1px solid var(--line)}.featured>img{width:100%;display:block;aspect-ratio:1.9;object-fit:cover}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 25px}.project-caption h3{font-size:20px}.project-caption span{font-size:9px;letter-spacing:.16em;color:var(--gold)}.demo-projects{margin-top:32px;color:#aaa2bc;font-size:12px}.demo-projects summary{cursor:pointer;padding:15px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:20px}.thumb{height:200px;padding:20px;background:linear-gradient(130deg,#201041,#4b2671,#18101f)}.two{background:linear-gradient(120deg,#131835,#573888)}.three{background:linear-gradient(120deg,#422044,#181029)}article p,.hint{font-size:11px;color:#b8aecb;line-height:1.7}.alternate{background:#100c1a;border-block:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px}.about-layout p:not(.tag){max-width:650px;font-size:18px;line-height:1.8;color:#c4bacf}.text-link{display:inline-block;margin-top:25px;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding-bottom:10px}.services{border-top:1px solid var(--line)}.services>a{display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);padding:30px 10px;color:var(--gold);transition:background .2s}.services>a:hover{background:#a783ff12}.services strong{font-size:clamp(20px,3vw,38px);font-weight:400;color:#f7f5fc;margin-right:auto}.contact{text-align:center;background:radial-gradient(ellipse at bottom,#44205a66,transparent 65%)}.contact h2{font-weight:900}.contact p:not(.tag){color:#b8aecb}.contact .hint{margin-top:26px}footer{border-top:1px solid var(--line);font-size:10px;letter-spacing:.08em;color:#b8aecb}footer .wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}@media(min-width:1600px){.hero-frame{object-position:center 45%}}@media(max-width:900px){.wrap{width:calc(100% - 40px)}.menu{display:block;background:transparent;border:1px solid #a783ff;color:#fff;padding:12px;font-size:11px}nav{display:none;position:absolute;top:100px;left:0;right:0;background:#100b1b;padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:720px}.hero-frame{object-position:60% center}.hero:before{background:linear-gradient(90deg,#09070fe6,#09070f66),linear-gradient(0deg,#09070f,transparent 50%)}.section{padding-block:75px}.section-heading{align-items:start;flex-direction:column;gap:10px}.about-layout{grid-template-columns:1fr;gap:10px}}@media(max-width:550px){.brand{font-size:14px}.brand small{font-size:7px}.hero{min-height:680px}.hero h1{font-size:clamp(48px,10.5vw,65px)}.hero-bottom{font-size:8px;gap:20px}.hero-bottom>span{max-width:120px;line-height:1.8}.project-caption{align-items:start;flex-direction:column;padding:18px;gap:0}.project-caption h3{margin-top:0}.grid{grid-template-columns:1fr}.services>a{gap:18px;padding-inline:0}.services strong{font-size:21px}.featured>img{aspect-ratio:1.25}.contact h2{font-size:40px}footer .wrap{font-size:8px}.btn{gap:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.services>a{transition:none}}

/* Apertura V03: frame dall’alto, testo a destra. */
@media(min-width:901px){.hero-content{padding-left:54%;}.hero h1{font-size:clamp(58px,6.4vw,102px)}.hero-frame{object-position:center center}.hero:before{background:linear-gradient(270deg,rgba(9,7,15,.93),rgba(9,7,15,.7) 36%,rgba(9,7,15,.06) 76%),linear-gradient(0deg,#09070f,transparent 28%,transparent 85%,#09070f77)}}
@media(max-width:900px){.hero-frame{object-position:32% center}.hero-content{align-self:flex-end;padding-top:150px;padding-bottom:130px}.hero:before{background:linear-gradient(0deg,#09070f 0%,rgba(9,7,15,.88) 28%,rgba(9,7,15,.35) 62%,rgba(9,7,15,.2)),linear-gradient(180deg,#09070faa,transparent 25%)}.hero h1{font-size:clamp(48px,8vw,76px)}.hero{min-height:780px}}@media(max-width:550px){.hero{min-height:760px}.hero-frame{object-position:30% center}.hero h1{font-size:clamp(46px,10.5vw,62px)}.hero-content{padding-bottom:115px}}

/* Tokyo notturna: accenti neon, contrasto e segni luminosi. */
:root{--gold:#c7b4ff;--pink:#ff8edb;--cyan:#78ebed;--line:#c4a8ff29}
header{border-bottom-color:#b987ff44;background:linear-gradient(180deg,#09070f66,transparent)}
.brand span{color:var(--cyan)}.brand small{color:#d0bfeb}
.hero .tag{color:var(--cyan);display:flex;align-items:center;gap:12px}
.hero .tag:before{content:"";width:25px;height:2px;background:var(--cyan);box-shadow:0 0 12px #78ebed88;flex:none}
.hero h1 em{color:#e5cfff;text-shadow:0 0 26px #b147e844}
.btn{background:#d7b9ff;box-shadow:3px 3px 0 #713682;transition:background .18s,box-shadow .18s}
.btn:hover{background:#e7d7ff;box-shadow:3px 3px 0 #e160b8,0 0 25px #bd60fa26}
nav a:last-child{border-color:#aa86cf}nav a:last-child:hover{border-color:var(--cyan);color:var(--cyan)}
.section-heading .tag,.about-layout>.tag{color:var(--cyan)}
.featured{border-color:#aa6dd455;box-shadow:0 15px 60px #290e4129}
.project-caption{background:linear-gradient(90deg,#151022,#0c0a12)}
.project-caption span{color:var(--cyan)}
.services>a>span:first-child{color:var(--cyan);font-family:monospace;font-size:13px}
.services>a>span:last-child{color:var(--pink)}
.services>a:hover{background:linear-gradient(90deg,#a783ff14,#ff80d008)}
.contact{position:relative;background:radial-gradient(ellipse at 20% 100%,#343ea532,transparent 55%),radial-gradient(ellipse at 80% 100%,#962f7640,transparent 60%)}
.contact:before{content:"";position:absolute;top:0;left:calc(50% - 50px);width:100px;height:1px;background:var(--pink);box-shadow:0 0 16px #ff8edbaa}
.contact .tag{color:var(--pink)}
.account-main .tag{color:var(--cyan)}.account-header{background:#0c0912}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Logo ufficiale JPG: proporzioni e colori originali, supporto bianco. */
.brand{display:inline-flex;align-items:center;flex-shrink:0;background:#fff;padding:9px 13px;border-radius:3px;line-height:0;max-width:48%}
.brand-logo{display:block;width:250px;max-width:100%;height:auto}
@media(max-width:1100px) and (min-width:901px){nav{gap:14px}.brand-logo{width:215px}}
@media(max-width:550px){.brand{padding:8px 10px;max-width:70%}.brand-logo{width:205px}}

/* V07 — PNG trasparente integrato nel fondo, senza targa. */
.brand{display:flex;flex-direction:column;align-items:stretch;justify-content:center;background:transparent;padding:0;border:0;border-radius:0;width:260px;max-width:48%;line-height:normal;margin-block:14px}
.brand-art{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:4.1}
.brand-art .brand-logo{display:block;width:100%;max-width:none;height:auto;position:absolute;top:0;left:0}
.brand .brand-subtitle{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:5px;color:#e2d9ec;font-size:9px;letter-spacing:.45em;font-weight:600;line-height:1.2;white-space:nowrap}
.brand-subtitle:before,.brand-subtitle:after{content:"";display:block;height:1px;flex:1;background:#f88b47}
.brand-subtitle:after{background:#38c9f5}
.account-header .brand{margin-block:14px}
@media(max-width:1100px) and (min-width:901px){.brand{width:220px}.brand-art .brand-logo{width:100%}}
@media(max-width:550px){.brand{width:210px;max-width:66%;padding:0}.brand-art .brand-logo{width:100%}.brand .brand-subtitle{font-size:8px;gap:8px;margin-top:4px}}

/* V10: due righe, inquadratura piu ampia e pulsante leggero. */
.hero .hero-title-line{display:block;white-space:nowrap}
.hero .btn{box-shadow:none;border:1px solid #d7b9ff66;padding:17px 23px}
.hero .btn:hover{box-shadow:0 0 20px #bd60fa22}
@media(min-width:901px){
 .hero{height:92svh;min-height:680px;max-height:1000px;background:#09070f}
 .hero .hero-frame{width:78%;height:100%;object-fit:contain;object-position:left center}
 .hero:before{background:linear-gradient(90deg,transparent 30%,#09070f22 45%,#09070fb8 65%,#09070f 84%),linear-gradient(0deg,#09070f,transparent 15%,transparent 86%,#09070f88)}
 .hero .hero-content{padding-left:54%;padding-top:65px}
 .hero h1{font-size:clamp(40px,4.7vw,76px);line-height:1.04;letter-spacing:-.055em;margin:25px 0}
 .hero .tag{font-size:9px;letter-spacing:.17em}
 .hero-intro{font-size:17px;line-height:1.75;margin:25px 0 10px}
}
@media(min-width:901px) and (max-width:1100px){.hero .hero-content{padding-left:51%}.hero .tag{font-size:8px;letter-spacing:.1em}}
@media(max-width:900px){
 .hero h1{font-size:clamp(35px,7.8vw,62px);line-height:1.06;letter-spacing:-.055em}
 .hero .hero-frame{width:100%;height:100%;object-fit:cover;object-position:30% center}
}
@media(max-width:550px){.hero h1{font-size:clamp(29px,8vw,43px)}.hero .hero-content{padding-bottom:115px}}
