/* RomeVenture — monochrome editorial system. Loaded after component styles. */
:root{--green:#161616;--green-dark:#090909;--lime:#fff;--ink:#171717;--muted:#646464;--line:#dedede;--cream:#f3f3f1;--white:#fff;--trip-border:#dedede;--ease:cubic-bezier(.22,1,.36,1)}
body{background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#171717;color:#fff}
:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
input:focus,select:focus,textarea:focus{outline:2px solid #444;outline-offset:2px}
p{color:var(--muted)}
h1,h2,h3{font-weight:600}h2{font-size:clamp(28px,3vw,44px);letter-spacing:-1.3px;line-height:1.4}
.section{padding-block:100px}.container{width:min(1320px,calc(100% - 96px))}
.eyebrow{font-size:10px;letter-spacing:2.8px;color:#646464;font-weight:600}
.eyebrow.light{color:#e5e5e5}.brand,.brand b{color:#111}.brand{letter-spacing:-1.7px}
.brand-logo img{filter:none}
body:has(#main>.hero) .site-header:not(.is-scrolled):not(:has(.open)) .brand-logo img,.sidebar .brand-logo img{filter:brightness(0) invert(1)}
.site-header{border-bottom:1px solid #ffffff25;backdrop-filter:blur(16px)}
.site-header.is-scrolled{background:#fffffff2;box-shadow:none;border-bottom:1px solid var(--line)}
.nav-wrap{height:86px}.nav-wrap nav{gap:28px}.nav-wrap nav a{padding-block:10px}
.nav-wrap nav a:is(:hover,.active){color:#111}.nav-wrap nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;border-radius:0;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-wrap nav a:is(:hover,.active):after{left:0;bottom:0;width:100%;height:1px;transform:scaleX(1);transform-origin:left}
.demo-banner{background:#141414;color:#ddd;border:0;font-size:11px}
.btn,.outline-link,.search-type,.trip-departure-button{border-radius:2px;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease),box-shadow .3s}
.btn{background:#151515;border-color:#151515;color:#fff;min-height:48px}.btn:hover{background:#363636;border-color:#363636;box-shadow:0 7px 0 #00000012;transform:translateY(-3px)}
.btn :is(span,svg),.outline-link span{transition:transform .4s var(--ease)}.btn:hover span,.outline-link:hover span{transform:translate(3px,-3px)}
.btn-lime,.hero-secondary{background:#fff;border-color:#fff;color:#111}.btn-lime:hover,.hero-secondary:hover{background:#e7e7e7;border-color:#e7e7e7;color:#111}
.btn-line{background:#fff;border-color:#aaa;color:#111}.btn-line:hover{color:#fff}
.outline-link{border-color:#aaa;min-height:44px}.outline-link:hover{background:#111;border-color:#111;color:#fff}
.hero-picture img{transform:scale(1.035);object-position:center}
#main>.hero{background-color:#171717!important;min-height:610px}
#main>.home-slider{min-height:0}
.hero.type-hero .hero-shade{background:linear-gradient(90deg,#000b 0%,#0005 65%,#0002),linear-gradient(0deg,#0006,transparent 55%)}
#main>.hero .hero-content{padding-top:165px;padding-bottom:70px}
.hero.type-hero h1,.hero.home-slider .slide-title{font-size:clamp(42px,5.2vw,76px);font-weight:600;line-height:1.24;letter-spacing:-2px;max-width:900px;margin:24px 0}
.hero-content>p{color:#dedede;max-width:620px;font-size:16px;line-height:1.9}
.hero.home-slider .home-slide{min-height:710px;padding-bottom:90px}
.hero.home-slider .hero-content{width:min(1320px,calc(100% - 144px))}
.hero-actions{margin-top:32px;align-items:center}.hero-actions .btn{gap:40px;padding:16px 25px}
.hero-text-link{color:#fff;font-size:13px;padding:14px 3px;border-bottom:1px solid #ffffff70}
.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px;font-size:10px;letter-spacing:2.8px;color:#ddd}
.hero-caption span:last-child{font-size:10px;letter-spacing:1px}
.hero.home-slider .slider-controls button{background:#1117;border-color:#ffffff60;backdrop-filter:blur(10px)}
.hero.home-slider .slider-dots{bottom:35px}.hero.home-slider .slider-dots button:after{border-radius:0;height:2px;width:12px;transition:width .4s}
.hero.home-slider .slider-dots button[aria-current=true]:after{width:24px;background:white}
.hero.home-slider .slider-dots button{width:38px;background:transparent;border:0;backdrop-filter:none}
.motion-toggle{position:fixed;bottom:22px;left:22px;z-index:21;border:1px solid #a6a6a6;background:#fffffff2;color:#171717;border-radius:30px;min-height:40px;padding:8px 14px;font-size:11px;backdrop-filter:blur(10px);box-shadow:0 3px 20px #0001}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#999;mix-blend-mode:difference;transform:scaleX(0);transform-origin:left;z-index:110;pointer-events:none}
.search-container{margin-top:-1px}.search-form{border-radius:0;border:1px solid #ddd;box-shadow:0 18px 50px #00000006;padding:30px}
.search-type[aria-pressed=true]{background:#151515}.search-form input,.search-form select{color:#555}
.benefit-strip{padding-block:33px;gap:24px}.benefit-strip>div{justify-content:flex-start}.benefit-strip>div>span{background:#f3f3f3;color:#222;border:1px solid #ddd;border-radius:0}
.benefit-strip small{color:#666;font-size:12px}
.rv-manifesto{overflow:hidden;border-bottom:1px solid var(--line);padding:26px 0;background:#fff}
.rv-marquee{display:flex;width:max-content;animation:rv-marquee 38s linear infinite;font-size:clamp(30px,4.8vw,72px);font-weight:500;line-height:1.2;letter-spacing:-2px;color:#222}
.rv-marquee>span{padding-right:50px;white-space:nowrap}.rv-marquee i{font-style:normal;color:#999;padding-inline:35px}
.rv-manifesto:hover .rv-marquee{animation-play-state:paused}
.section-head{align-items:flex-end;margin-bottom:40px}.section-head p{font-size:14px;line-height:1.8}
.tour-grid{gap:28px}.tour-card{border-radius:0;border-color:#ddd;box-shadow:none;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .3s}
.tour-card:hover{transform:translateY(-7px);border-color:#999;box-shadow:0 20px 35px #0000000c}
.card-image{height:275px}.card-image img,.destination-card img,.why-image>img{transition:transform 1.2s var(--ease)}
.tour-card:hover .card-image img{transform:scale(1.065)}.card-badge{border-radius:0;color:#111;letter-spacing:1.5px}.card-body{padding:25px}
.card-body h3{font-size:20px;letter-spacing:-.4px}.card-summary,.card-services{font-size:12px}.card-meta{font-size:11px;color:#666}.card-meta>span:first-child{color:#555}
.card-bottom strong{font-size:28px}.round-link,.image-arrow{transition:background .3s,color .3s,transform .4s}.tour-card:hover .round-link{background:#111;color:#fff;transform:rotate(45deg)}
.destination-section{background:#111;color:#fff}.destination-section .eyebrow,.destination-section p{color:#aaa}.destination-card{border-radius:0;height:380px;background:#222}
.destination-card:after{background:linear-gradient(transparent 30%,#000b)}.destination-card span{color:#ddd}.destination-card h3{font-size:27px}.destination-card:hover img{transform:scale(1.07)}.decor-star{color:#fff;animation:rv-turn 28s linear infinite}
.why-grid{gap:100px;padding-block:120px}.why-image>img{border-radius:0;height:590px}.photo-note{border-radius:0;background:#fff;color:#111;border:1px solid #ddd;transform:rotate(-4deg);padding:28px 32px}.photo-note span{color:#111}.why-copy h2{font-size:clamp(32px,3.7vw,49px)}.why-copy>p{font-size:14px}.why-item{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.why-item>span{border:0;border-radius:0;color:#777}.why-item p{font-size:12px}
.steps-section{background:#f2f2f0;color:#151515;padding:85px 0}.steps-section .eyebrow,.steps-grid>div>span{color:#666}.steps-grid>div{border-color:#ccc}.steps-grid>div>span{font-size:40px;letter-spacing:-2px;font-weight:400}.steps-grid h3{font-size:18px;margin-top:20px}.steps-grid p{color:#666;font-size:13px}
.faq-list details{padding-block:25px}.faq-list summary{font-size:15px;line-height:1.8}.faq-list summary:after{color:#171717}.faq-list p{font-size:14px}.faq-grid>div>p{font-size:14px}
.cta-banner{background:#111;color:#fff;border-radius:0;padding:60px;margin-bottom:100px}.cta-banner h2{font-size:32px}.cta-banner p,.cta-banner .eyebrow{color:#bbb}.cta-star{color:#333}
footer{background:#f4f4f2;border-color:#ddd;padding-top:65px}.footer-grid{padding-bottom:60px}.footer-grid p,.footer-grid>div:not(:first-child)>a{font-size:13px;color:#626262}.footer-bottom{color:#666;font-size:11px}
.page-intro{background:#f4f4f2}.trip-detail{--trip-border:#ddd;background:linear-gradient(#f4f4f2,#fff 850px)}
.trip-detail :is(.trip-gallery,.booking-panel,.highlight-box,.service-box,.itinerary details),.trip-gallery-all,.trip-detail .booking-panel .btn{border-radius:3px}
.trip-detail .booking-panel{box-shadow:0 15px 50px #00000008}
.trip-detail .detail-content p{color:#575757}.trip-detail .departure-table th{background:#eee}.trip-detail .departure-table tr.is-selected{background:#e6e6e6;outline:1px solid #222;outline-offset:-1px}
.trip-lightbox{background:#111;border-radius:4px}.trip-lightbox::backdrop{background:#000e}.trip-lightbox img{filter:none}
.trip-detail .btn,.trip-mobile-action .btn{background:#111;color:#fff;border-color:#111}.trip-detail :focus-visible{outline-color:currentColor}
.panel,.stat-card,.booking-panel,.login-wrap,.editor-section,.booking-summary,.service-box{border-radius:3px}
.admin-body{background:#f4f4f4}.sidebar{background:#111;color:#ddd;border-color:#333}.sidebar .brand,.sidebar .brand b{color:#fff}.sidebar-label{color:#999}.sidebar nav a{color:#ccc;border-radius:2px}.sidebar nav a:is(.active,:hover){background:#fff;color:#111}.sidebar-bottom{border-color:#444;color:#ccc}.sidebar-bottom p{color:#aaa}.admin-top{background:#fff;border-bottom:1px solid #ddd}.admin-avatar{background:#111;color:#fff}.admin-main .panel{box-shadow:0 4px 20px #00000003}
.pill{border:1px solid #ccc;border-radius:2px}.pill:is(.published,.confirmed){background:#222;color:#fff;border-color:#222}.pill:is(.new,.contacted){background:#eee;color:#222}.pill:is(.cancelled,.archived){background:#fff;color:#666;border-style:dashed}
.sidebar-bottom>a,.sidebar-bottom .text-button{color:#ccc}.sidebar-bottom>a:hover,.sidebar-bottom .text-button:hover{color:#fff}
.notice{border-radius:2px;border-left:4px solid #555;background:#f3f3f3;color:#333}.notice.error{border-color:#333;background:#f4f4f4;color:#111}.notice.success{border-color:#777;background:#eee;color:#222}
.login-art{background-color:#111}.login-card .btn{background:#111}.table-scroll{scrollbar-color:#aaa #eee}
.rv-reveal{transition:opacity .8s var(--ease),translate 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}.rv-reveal.is-pending{opacity:0;translate:0 32px}
.rv-reveal:focus-within{opacity:1;translate:none}.rv-motion-paused .rv-reveal{opacity:1;translate:none;transition:none}
@keyframes rv-marquee{to{transform:translateX(-50%)}}
@keyframes rv-turn{to{transform:rotate(360deg)}}
@keyframes rv-hero-in{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes rv-drift{from{transform:scale(1.035)}to{transform:scale(1.1)}}
@media(prefers-reduced-motion:no-preference){.home-slide.is-active .hero-content{animation:rv-hero-in 1.2s var(--ease) both}.home-slide.is-active .hero-picture img{animation:rv-drift 7s linear both}.type-hero:not(.home-slider) .hero-content{animation:rv-hero-in 1.2s var(--ease) both}}
.rv-motion-paused *,.rv-motion-paused *:before,.rv-motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1000px){.destination-card:nth-child(even){margin-top:40px}.destination-grid{padding-bottom:40px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.why-grid{gap:45px}.nav-wrap nav{gap:19px}.cta-banner{padding:38px}.destination-card{height:320px}}
@media(max-width:800px){.section{padding-block:64px}.container{width:calc(100% - 40px)}.nav-wrap{height:73px}.hero.home-slider .hero-content{width:calc(100% - 88px)}#main>.hero .hero-content{padding-top:135px;padding-bottom:30px}.hero.home-slider .home-slide{min-height:660px;padding-bottom:85px}.hero-caption{letter-spacing:1.6px}.hero-caption span:last-child{display:none}.hero-actions .btn{padding:14px 20px;gap:20px}.hero.home-slider .slide-title{font-size:44px!important}.why-grid{gap:30px}.why-image>img{height:480px}.faq-grid{gap:35px}.cta-banner{margin-bottom:60px}.motion-toggle{bottom:16px;left:16px}.trip-mobile-action~.motion-toggle,body:has(.trip-mobile-action) .motion-toggle{bottom:108px}.sidebar .brand{color:#fff}.sidebar-bottom{color:#ddd}.rv-marquee{letter-spacing:-1px}.nav-wrap #site-nav.open a{padding-block:12px;border-bottom:1px solid #ddd}.nav-wrap #site-nav.open a:after{display:none}}
@media(max-width:540px){h2{letter-spacing:-.6px}.container{width:calc(100% - 36px)}.nav-wrap{height:68px}.hero.home-slider .hero-content{width:calc(100% - 72px)}#main>.hero .hero-content{padding-top:125px}.hero.type-hero h1,.hero.home-slider .slide-title{font-size:36px!important;letter-spacing:-.6px;line-height:1.38}.hero.home-slider .home-slide{min-height:640px}.hero-content>p{font-size:14px}.hero-caption{font-size:9px;margin-bottom:12px}.hero-actions{gap:15px}.hero-actions .btn{font-size:12px;padding:13px 16px}.hero-text-link{font-size:12px}.hero.home-slider .slider-controls [data-prev],.hero.home-slider .slider-controls [data-next]{top:auto;bottom:15px;transform:none}.hero.home-slider .slider-controls [data-prev]{left:18px}.hero.home-slider .slider-controls [data-next]{right:18px}.hero.home-slider .slider-dots{bottom:15px}.search-form{padding:22px 18px}.search-container{width:100%;margin-top:0}.benefit-strip{grid-template-columns:1fr;gap:18px;padding-block:28px}.benefit-strip b{font-size:13px}.benefit-strip small{font-size:12px}.benefit-strip>div>span{width:40px;height:40px;line-height:38px;font-size:22px}.section-head{gap:20px;margin-bottom:28px;align-items:flex-start}.section-head p{font-size:13px}.card-image{height:260px}.card-body{padding:22px}.destination-card{height:270px}.destination-card h3{font-size:21px}.destination-grid{gap:12px}.destination-card>div{left:15px;bottom:18px}.destination-card b{right:12px;bottom:16px}.why-grid{gap:40px;padding-block:65px}.why-image>img{height:430px}.why-copy h2{font-size:34px}.photo-note{padding:20px 24px}.steps-section{padding-block:60px}.steps-grid{gap:28px}.steps-grid>div{border-bottom:1px solid #ccc;padding-bottom:25px}.steps-grid>div>span{font-size:32px}.faq-grid{gap:22px}.faq-list summary{font-size:14px}.cta-banner{padding:32px 24px;gap:26px}.cta-banner h2{font-size:27px}.cta-banner .btn{min-height:48px;font-size:13px}.footer-grid{gap:32px;padding-bottom:35px}.footer-bottom{padding-bottom:75px}.admin-main{padding:24px 16px}.motion-toggle{font-size:10px;min-height:36px}.rv-manifesto{padding:20px 0}.rv-marquee>span{padding-right:30px}.rv-marquee i{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv-reveal.is-pending{opacity:1;translate:none}}
@media print{.scroll-progress,.motion-toggle,.rv-manifesto{display:none!important}.rv-reveal.is-pending{opacity:1;translate:none}.hero-picture img,.trip-gallery img{filter:none}.sidebar{background:white;color:black}}
