/* Integrated TICINO presentation. Existing application handlers remain server-side. */
:root{--tr-gold:#d3b17b;--tr-line:#d3b17b55;--tr-ink:#eee7d7;--tr-photo:url('/assets/architecture/lugano-gate.jpg')}html{background:#07100d}body{background:#07100d;color:var(--tr-ink)}body:not(.room-entrance)::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#03100de8,#05110a44),linear-gradient(0deg,#04100ff5,transparent 75%),var(--tr-photo);background-size:cover;background-position:center;animation:tr-atmosphere 32s ease-in-out infinite alternate;pointer-events:none}body.room-news{--tr-photo:url('/assets/architecture/milan.jpg')}body.room-afterhours,body.room-destinations,body.room-destination{--tr-photo:url('/assets/architecture/marseille.jpg')}body.room-cafe{--tr-photo:url('/assets/architecture/rio-terrace.jpg')}body.room-guide,body.room-messages{--tr-photo:url('/assets/architecture/locarno.jpg')}.world{display:block!important;background:transparent!important;min-height:100svh}.center-world{background:transparent!important;overflow:visible!important}.people-panel,.skyline,.topbar,.tc-overlay-header,.tc-quick-menu{display:none!important}.content{width:100%!important;max-width:1500px!important;margin:auto!important;padding:135px 6vw 60px!important;min-height:100svh}.room-home .content,.room-cafe .content,.room-salon .content{padding:90px 0 0!important;max-width:none!important}.room-theatre .content{padding:105px 4vw 45px!important;max-width:1500px!important}.tr-header{position:absolute;left:0;right:0;top:0;z-index:65;min-height:90px;padding:23px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(#040b09ed,#040b0999,transparent);border-bottom:1px solid #dbca9b22}.tr-brand{font:32px Georgia,serif;letter-spacing:.17em;text-decoration:none;color:#f4eddf}.tr-brand small{display:block;font:8px Arial,sans-serif;letter-spacing:.23em;margin-top:9px}.tr-header-tools{display:flex;align-items:center;gap:28px}.tr-header-tools a,.tr-header-tools button{border:0;background:none;color:#e3d6bd;font:9px Arial,sans-serif;letter-spacing:.12em;text-decoration:none;cursor:pointer;padding:12px 0}.rail[hidden]{display:none!important}.rail:not([hidden]){position:fixed!important;inset:0!important;z-index:90!important;width:100%!important;min-height:100svh;height:100svh;background:#09170ff7!important;backdrop-filter:blur(24px);padding:70px 12vw 40px!important;overflow:auto;display:block!important}.rail .rail-brand{max-width:300px;margin-bottom:25px}.rail .districts{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;max-width:950px}.rail .district{font:22px Georgia,serif!important;border-bottom:1px solid var(--tr-line);padding:18px 8px}.rail .district .nav-arrow{margin-left:auto}.rail .rail-kicker,.rail .rail-low{display:none}.tr-menu-close{position:absolute;right:6vw;top:28px;color:#e2c08a;border:0;background:none;padding:15px;cursor:pointer;font:11px Arial,sans-serif}.tr-eyebrow{font:9px/1.7 Arial,sans-serif;letter-spacing:.2em;color:var(--tr-gold)}h1,h2,h3{color:#f1eada}h1 em,h2 em{color:#dfcba6}.page-heading h1{font:clamp(42px,5.8vw,80px)/1.05 Georgia,serif;letter-spacing:-.04em}.page-heading p{max-width:570px;line-height:1.85}.tr-hero{min-height:calc(100svh - 90px);padding:90px 7vw 110px;display:flex;align-items:center;position:relative;isolation:isolate;background:linear-gradient(90deg,#03100cce,transparent 90%),linear-gradient(0deg,#06110ef3,transparent 55%),url('/assets/architecture/lugano-gate.jpg');background-size:cover;background-position:center}.tr-hero-copy{max-width:660px}.tr-hero h1{font:clamp(52px,6.8vw,100px)/1.04 Georgia,serif;letter-spacing:-.045em;margin:25px 0}.tr-hero h1 em{color:#dfcba6}.tr-hero p{font:16px/1.9 Georgia,serif;max-width:400px;color:#e0d6bf}.tr-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px}.tr-actions a{padding:17px 22px;min-height:46px;border:1px solid #c8ae7b99;color:#eed8b0;font:10px Arial,sans-serif;letter-spacing:.1em;text-decoration:none;background:#152b2099;backdrop-filter:blur(8px)}.tr-actions a:hover{background:#405139c9}.tr-side-note{position:absolute;right:7%;bottom:17%;border-right:1px solid #b9a06b;padding-right:20px;color:#d4ba8a;text-align:right;font:9px/1.9 Arial,sans-serif;text-decoration:none}.tr-side-note strong{font:25px Georgia,serif;color:#e8deca;display:block;margin-top:9px}.tr-district-walk{padding:60px 7vw;background:#09150feb;border-top:1px solid var(--tr-line)}.tr-district-walk h2{font:42px Georgia,serif;margin:15px 0 35px}.tr-door-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--tr-line);gap:1px;background:var(--tr-line)}.tr-door{display:flex;flex-direction:column;justify-content:end;min-height:290px;padding:30px;background:#0c1e17;position:relative;isolation:isolate;overflow:hidden;text-decoration:none}.tr-door:before{position:absolute;inset:0;content:'';z-index:-2;background:var(--tr-door-photo,url('/assets/architecture/lugano-gate.jpg'));background-size:cover;background-position:center;opacity:.3;transition:transform 1.2s,opacity 1.2s}.tr-door:after{position:absolute;inset:0;content:'';z-index:-1;background:linear-gradient(0deg,#06110cf5,transparent)}.tr-door:hover:before{transform:scale(1.07);opacity:.5}.tr-door small{font:9px Arial,sans-serif;color:#d3b17b;position:absolute;top:30px}.tr-door h3{font:32px Georgia,serif;margin:0 0 12px}.tr-door p{font:12px/1.8 Arial,sans-serif;color:#c4c5b5;max-width:290px}.tr-door>span{font:9px Arial,sans-serif;color:#d3b17b}.tr-door-news{--tr-door-photo:url('/assets/architecture/milan.jpg')}.tr-door-afterhours,.tr-door-theatre{--tr-door-photo:url('/assets/architecture/marseille.jpg')}.tr-door-salon{--tr-door-photo:url('/salon/APPROVED-DESIGN.png')}.tr-door-cafe{--tr-door-photo:url('/assets/architecture/rio-terrace.jpg')}.form-card,.conversation,.city-room-card,.member-card,.invite-strip,.event-card,.stage-visit,.nb-card,.news-card,.news-publisher,.nb-map-loader{background:#0a1b14e3!important;border-color:#a48e5d66!important;backdrop-filter:blur(14px);color:#e4ddca}.form-card label,.form-card p,.conversation p,.city-room-card p,.nb-card p{color:#c8c9b7}.form-card input:not([type=checkbox]),.form-card select,.form-card textarea,.nb-filters input:not([type=checkbox]),.nb-filters select{background:#07140fe8;color:#f3e8d4;border:1px solid #b39c6466}.form-card label:has(input[type=checkbox]),label.check,.nb-18-entry label{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;min-width:0;line-height:1.7!important}.form-card input[type=checkbox],label.check input[type=checkbox],.nb-18-entry input[type=checkbox]{flex:0 0 17px!important;width:17px!important;min-width:17px!important;max-width:17px!important;height:17px!important;min-height:17px!important;padding:0!important;margin:3px 0 0!important}.action-button,.nb-filters button,.nb-18-entry button{background:#37472d!important;border:1px solid #beac7988!important;color:#f0d9aa!important;box-shadow:none!important}.page-footer{display:flex!important;flex-wrap:wrap;justify-content:center;gap:20px;border-top:1px solid var(--tr-line)!important;margin:50px 0 0!important;padding:25px 0!important;background:#07110ce6;color:#bbb9a6}.page-footer a{color:#d5b379}.nb-header{background:transparent!important;border:0!important;padding:20px 0 15px!important;min-height:0!important}.nb-header-inner{padding:0!important;max-width:780px!important}.nb-header h1{font:clamp(48px,6vw,88px)/1.04 Georgia,serif!important;color:#f1e8d2!important}.nb-header p{color:#d0c8b5!important;max-width:470px!important;font:16px/1.85 Georgia,serif!important}.nb-unified{background:#07150fea!important;padding:28px!important;border:1px solid var(--tr-line);margin-top:40px;scroll-margin-top:20px}.nb-card-grid{gap:0 30px!important}.nb-venue-card{border:0!important;border-bottom:1px solid var(--tr-line)!important;padding:27px 0!important;box-shadow:none!important}.nb-venue-card h3{font:29px Georgia,serif!important;color:#eadfc8!important}.nb-atlas-map{background:#0a1b14cc!important;border-color:var(--tr-line)!important}.tr-night-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:930px;margin:40px auto 65px;align-items:end}.tr-night-doors a{position:relative;min-height:320px;border:1px solid #b3945f99;box-shadow:0 0 0 7px #15150f,0 0 0 8px #b3945f44,0 30px 40px #0009;display:flex;flex-direction:column;justify-content:end;align-items:center;padding:30px 15px;text-align:center;text-decoration:none;isolation:isolate;background:linear-gradient(90deg,#110a0de8,#57342766,#110a0def),url('/assets/architecture/marseille.jpg');background-size:cover;background-position:center;transition:transform .7s,box-shadow .7s}.tr-night-doors a:nth-child(2){min-height:360px;background-image:linear-gradient(90deg,#11080deb,#7b183555,#11080deb),url('/assets/architecture/marseille.jpg')}.tr-night-doors a:before{content:'';position:absolute;inset:12px;border:1px solid #bd9c5e77;z-index:-1;background:linear-gradient(110deg,transparent 35%,#e5cea833 37%,transparent 39%);animation:tr-glimmer 12s infinite alternate}.tr-night-doors a:hover{transform:translateY(-8px);box-shadow:0 0 0 7px #141a13,0 0 0 8px #c5ad7e,0 0 40px #d6b57544}.tr-night-doors small,.tr-night-doors span{font:8px/1.7 Arial,sans-serif;letter-spacing:.12em;color:#d1b780}.tr-night-doors strong{font:34px/1.1 Georgia,serif;color:#f0e3c9;margin:15px 0 22px}.tr-terrace{background-image:linear-gradient(90deg,#06140de6,#06140d22),linear-gradient(0deg,#06110eee,transparent 60%),url('/assets/architecture/rio-terrace.jpg');background-position:center 55%}.tr-photo-link{display:inline-block;margin-top:30px;color:#e8cd94;font:10px Arial,sans-serif}.tr-salon{width:100%}.tr-salon-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 4vw;background:#150e0b;color:#cfaf78;font:9px/1.7 Arial,sans-serif;letter-spacing:.1em}.tr-salon-top a{color:inherit}#tr-salon-frame{display:block;width:100%;height:calc(100svh - 145px);min-height:650px;border:0;background:#150e0b}.tr-art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:30px 0 65px}.tr-art-grid button{cursor:pointer;background:#160e0c;border:7px ridge #806035;padding:15px;box-shadow:0 15px 30px #0007;color:#c8b58d}.tr-art-grid img{display:block;width:100%;height:310px;object-fit:contain}.tr-art-grid span{font:9px/1.8 Arial,sans-serif;display:block;margin-top:15px}#tr-photo{max-width:95vw;max-height:93svh;background:#090f0b;border:1px solid #bba474;color:#d7bc8b;padding:20px}#tr-photo::backdrop{background:#030705ed}#tr-photo img{display:block;max-height:75svh;max-width:85vw;object-fit:contain}#tr-photo button{display:block;margin-left:auto;background:none;border:1px solid #bba474;color:#e8d2a8;padding:10px 15px;cursor:pointer;margin-bottom:15px}.tr-arrival-shell{height:100svh;margin:0;padding:0}#tr-arrival{display:block;border:0;width:100%;height:100%;background:#080d19}.tr-noscript{padding:30px;background:#14241b;color:#edd7ab}.room-entrance .skip{z-index:80}.tr-out{opacity:0;filter:blur(3px);transition:opacity .22s,filter .22s}.tr-still *,.tr-still *::before,.tr-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tc-theatre{margin-top:0!important}.room-theatre .tc-theatre-content{padding-top:30px!important}.room-theatre .stage-visit{max-width:1100px;margin:30px auto}.room-theatre .transparency{max-width:1100px;margin:20px auto}.room-home .flash{margin:0!important;position:absolute;top:110px;left:6vw;z-index:30;max-width:650px}.tr-welcome{color:#f1d395!important;font-style:italic!important}a:focus-visible,button:focus-visible{outline:2px solid #ebd0a0!important;outline-offset:5px}@view-transition{navigation:auto}::view-transition-old(root){animation:tr-fade-out .25s ease both}::view-transition-new(root){animation:tr-fade-in .5s ease both}@keyframes tr-atmosphere{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes tr-glimmer{from{opacity:.45}to{opacity:1}}@keyframes tr-fade-out{to{opacity:0;filter:blur(3px)}}@keyframes tr-fade-in{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}@media(max-width:900px){.tr-door-grid{grid-template-columns:1fr 1fr}.tr-art-grid{grid-template-columns:1fr 1fr}.tr-night-doors{gap:16px}.tr-night-doors strong{font-size:29px}.tr-header-tools{gap:18px}.tr-side-note{display:none}}@media(max-width:650px){.tr-header{padding:20px 5vw;gap:15px}.tr-brand{font-size:24px}.tr-brand small{font-size:6px;letter-spacing:.13em}.tr-header-tools{gap:15px}.tr-header-tools a,.tr-header-tools button{font-size:8px;letter-spacing:.04em}#tr-motion{display:none}.content{padding:120px 6vw 35px!important}.tr-hero{padding:65px 7vw 80px;min-height:80svh;align-items:end}.tr-hero h1{font-size:55px}.tr-hero p{font-size:15px}.tr-district-walk{padding:45px 6vw}.tr-door{min-height:250px;padding:25px}.tr-door h3{font-size:26px}.tr-door small{top:25px}.tr-actions{gap:12px}.tr-actions a{font-size:9px;padding:15px}.rail:not([hidden]){padding:85px 7vw 35px!important}.rail .district{font-size:18px!important;padding:15px 5px}.rail .districts{gap:0 15px}.tr-night-doors{gap:10px;margin:30px 0 45px}.tr-night-doors a{min-height:270px;padding:25px 10px}.tr-night-doors a:nth-child(2){min-height:300px}.tr-night-doors strong{font-size:23px}.tr-night-doors small,.tr-night-doors span{font-size:7px;letter-spacing:.04em}.nb-unified{padding:18px!important}.tr-art-grid{gap:20px}.tr-art-grid button{padding:8px;border-width:5px}.tr-art-grid img{height:240px}.tr-salon-top{font-size:7px;gap:12px}#tr-salon-frame{height:85svh;min-height:700px}.page-footer{font-size:9px}.room-theatre .content{padding:100px 4vw 35px!important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.tr-signout{margin:0;padding:0;display:inline-flex;align-items:center;background:transparent;border:0}.tr-signout button{white-space:nowrap}.tr-intro-link{max-width:950px;margin-top:25px}.room-home .page-footer{display:flex!important;margin:0!important;padding:25px 5vw!important}.room-theatre .page-footer{display:flex!important}@media(max-width:650px){.tr-header-tools{gap:10px}.tr-signout button{font-size:7px!important}}
