/* v4.6: one source for reception and full-bleed route heroes. */
.reception{position:relative;background:#f4f3ef;color:#1c2122;padding:108px 0 60px;min-height:100svh;display:grid;align-items:center}
.reception-grid{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,80px);align-items:center}
.reception-product{position:relative;width:100%;height:auto;aspect-ratio:5/3;overflow:hidden}
.reception-product img,.reception-product video{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;transform:none}
.reception-product video{position:absolute;inset:0;opacity:0;pointer-events:none}
.reception-product.is-ready video{opacity:1}.reception-product.is-ready img{opacity:0}
.reception-product.media-fallback video{opacity:0}.reception-product.media-fallback img{opacity:1}
.reception-product{flex:1.12 1 0;min-width:min(400px,100%);max-width:680px}.reception-copy{flex:1 1 0;min-width:min-content;max-width:100%}.hero-brandline{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}
.reception h1{font-size:clamp(3.5rem,6.1vw,6.2rem);line-height:1.02;letter-spacing:-.055em;font-weight:800;margin:0;overflow-wrap:normal}
.reception h1 span{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.hero-intro{font-size:1rem;line-height:1.6;margin-top:22px;max-width:29rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}.hero-actions .pill{font-size:.88rem;min-height:48px}.hero-guidance{font-size:.87rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;display:inline-block}
.home-page .site-head{color:#1c2122;background:rgba(244,243,239,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(28,33,34,.1)}.home-page .brand img{filter:none}.home-page .menu{color:#1c2122}.home-page .site-head.scrolled{background:rgba(244,243,239,.96)}.home-page .head-cta{color:#1c2122}
.reception :focus-visible{outline-color:#b84c3c}
.route-hero{position:relative;isolation:isolate;min-height:100svh;padding:132px 0 90px;display:grid;align-items:center;background:#162026;color:#fff}
.route-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;overflow:hidden;border-radius:0;margin:0;padding:0;background:#162026}
.route-video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transform:scaleX(-1)}
.route-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,19,23,.93) 0%,rgba(12,19,23,.88) 35%,rgba(12,19,23,.15) 76%);pointer-events:none}
.route-hero .shell{position:relative;z-index:1}.route-hero h1{max-width:690px;font-size:clamp(3.7rem,7vw,7rem);line-height:1.02;letter-spacing:-.06em;overflow-wrap:anywhere}
.route-hero p{max-width:540px;font-size:1.05rem;line-height:1.65;margin:26px 0 30px}.route-switch{display:inline-block;margin-bottom:24px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.route-hero .pill{min-height:48px}
.route-current .route-hero{background:#162026}.route-media.media-fallback{padding:0}.route-media.media-fallback::after{display:none}
.curated-gallery{scroll-margin-top:90px;transform-origin:50% 20%}.portal-enter{min-height:48px}
.curated-card{height:480px;min-height:0}.curated-card img{height:100%;min-height:0;object-fit:cover}
.fab{position:relative;right:auto;bottom:auto;display:block;width:max-content;max-width:calc(100% - 2rem);margin:20px auto}
@media(max-width:1000px){.reception-grid{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reception h1{font-size:clamp(3rem,6vw,5rem)}}
@media(max-width:800px){
 .curated-card{height:400px;min-height:0}.curated-card img{min-height:0}
 .home-page .nav{background:rgba(244,243,239,.98);color:#1c2122;border-color:rgba(28,33,34,.2)}
 .reception{padding:104px 0 40px;min-height:0}.reception-grid{grid-template-columns:1fr;gap:28px}.reception-copy{order:0}.reception-product{order:1;height:auto;width:100%}.reception h1{font-size:clamp(3.2rem,14vw,5rem);line-height:1.02;letter-spacing:-.055em}.hero-brandline{font-size:.65rem;margin-bottom:15px}.hero-intro{margin-top:18px;max-width:34rem}.hero-actions{margin:20px 0 14px}.hero-actions .pill{flex:1;font-size:.8rem;padding:12px}.hero-guidance{font-size:.8rem}
 .route-hero{min-height:100svh;padding:120px 0 72px;align-items:end}.route-hero h1{max-width:100%;font-size:clamp(3.2rem,14vw,5.5rem);line-height:1.05;letter-spacing:-.05em}.route-hero p{max-width:100%;font-size:1rem;margin:22px 0 26px}.route-video{object-position:20% 50%;transform:none}.route-hero::after{background:linear-gradient(0deg,rgba(12,19,23,.96) 0%,rgba(12,19,23,.91) 48%,rgba(12,19,23,.16) 100%)}
 .route-switch{margin-bottom:24px}.route-hero .pill{font-size:.92rem}.route-media{position:absolute;inset:0;width:100%;height:100%;margin:0}
}
@media(prefers-reduced-motion:reduce){.curated-gallery{animation:none;transform:none}}
/* One coherent mobile scale keeps OPIAmente indivisible even at a real 200%. */
@media(max-width:800px){.reception h1{font-size:clamp(1.5rem,7.6vw,3.6rem);overflow-wrap:normal}.reception-copy,.reception-product{flex-basis:100%;min-width:0;max-width:100%}}
/* Intrinsic reflow also protects enlarged content below the reception. */
.manifesto h2,.journey-copy{overflow-wrap:anywhere}
.service-row{grid-template-columns:minmax(min-content,clamp(5rem,11vw,10rem)) minmax(0,1fr) auto}
.service-copy,.journey-copy,.contact-grid>*{min-width:0}
.journey-copy .pill{max-width:100%;white-space:normal;text-align:center}
.contact-grid{display:flex;flex-wrap:wrap;align-items:flex-end}.contact-grid h2{flex:1 1 460px;min-width:min-content;max-width:100%;overflow-wrap:normal}.contact-links{flex:1 1 400px;min-width:0;max-width:100%}
.contact-links a{overflow-wrap:anywhere;gap:1rem}.contact-links a span{flex:none}
.journey-stack{display:flex;flex-wrap:wrap}.journey-panel{flex:1 1 450px;min-width:min-content;max-width:100%}.journey-copy{min-width:min-content}.journey-copy h3{overflow-wrap:normal;hyphens:none}
.section-title,.portal-intro h2,.service-copy>*{overflow-wrap:anywhere;min-width:0}
.proof-head{flex-wrap:wrap}.proof-head>*{min-width:0;max-width:100%}
.quick-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.quick-actions a,.quick-actions strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.service-row{grid-template-columns:minmax(min-content,4.5rem) minmax(0,1fr)}.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-grid h2{font-size:clamp(1.75rem,8vw,2.2rem)}.journey-copy h3{font-size:clamp(1.75rem,8vw,2.2rem)}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.18: stable decorative column when root text is enlarged on mobile. */
@media(max-width:800px){.service-row{grid-template-columns:clamp(42px,12vw,72px) minmax(0,1fr);gap:16px}.service-no{font-size:clamp(32px,10vw,48px)}}
