/* Auto-generated by scripts/css_mechanical_split.py
   Source: portal-home_part_01.css
   Part 1/2 - load order critical.
   Do not reorder or merge without re-running the splitter. */

/* Auto-generated by scripts/css_mechanical_split.py
   Source: portal-home.css
   Part 1/2 - load order critical.
   Do not reorder or merge without re-running the splitter. */

  body > header{
    display:none !important;
  }

  .home-shell{
    width:min(calc(100% - 32px), var(--max));
    margin:10px auto 0;
  }

  .home-topbar{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
    position:relative;
    z-index:5;
  }

  .home-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    border:1px solid transparent;
    text-decoration:none;
    transition:.18s ease;
    font-family:var(--font-display);
    font-size:15px;
    font-weight:700;
    letter-spacing:.01em;
    white-space:nowrap;
    line-height:1;
  }

  .home-btn-secondary{
    background:rgba(255,255,255,.60);
    color:var(--ink-strong);
    border-color:rgba(var(--brand-rgb), .14);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .home-btn-primary{
    background:var(--brand-strong);
    color:var(--surface) !important;
    -webkit-text-fill-color:var(--surface);
    border-color:transparent;
    box-shadow:0 12px 26px rgba(var(--brand-rgb), .22);
    min-width:132px;
    text-shadow:0 1px 0 rgba(0,0,0,.08);
  }

  .home-btn-primary:hover,
  .home-submit:hover{
    background:var(--brand);
  }

  .home-hero{
    position:relative;
    overflow:hidden;
    min-height:560px;
    border-radius:34px;
    border:1px solid rgba(var(--brand-rgb), .08);
    box-shadow:var(--shadow-soft);
    background:
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.16) 22%, rgba(255,255,255,.28) 48%, rgba(255,255,255,.18) 100%),
      radial-gradient(900px 280px at 20% 0%, rgba(var(--brand-rgb), .02), transparent 60%),
      radial-gradient(700px 240px at 85% 100%, rgba(var(--brand-rgb), .02), transparent 55%);
  }

  .home-hero-bg{
    position:absolute;
    inset:0;
    background-image:url('/media/properties/photos/MINIMALE_3.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    filter:blur(.5px) saturate(.98) brightness(1.02);
    transform:scale(1.01);
    opacity:1;
    z-index:0;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(
      to bottom,
      rgba(0,0,0,0.00) 0%,
      rgba(0,0,0,0.02) 12%,
      rgba(0,0,0,0.08) 26%,
      rgba(0,0,0,0.18) 42%,
      rgba(0,0,0,0.34) 58%,
      rgba(0,0,0,0.62) 78%,
      rgba(0,0,0,0.92) 100%
    );
    mask-image:linear-gradient(
      to bottom,
      rgba(0,0,0,0.00) 0%,
      rgba(0,0,0,0.02) 12%,
      rgba(0,0,0,0.08) 26%,
      rgba(0,0,0,0.18) 42%,
      rgba(0,0,0,0.34) 58%,
      rgba(0,0,0,0.62) 78%,
      rgba(0,0,0,0.92) 100%
    );
  }

  .home-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
      to bottom,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,.10) 14%,
      rgba(255,255,255,.08) 28%,
      rgba(255,255,255,.10) 46%,
      rgba(255,255,255,.12) 66%,
      rgba(255,255,255,.06) 100%
    );
    z-index:1;
    pointer-events:none;
  }

  .home-hero-inner{
    position:relative;
    z-index:2;
    max-width:1040px;
    margin:0 auto;
    padding:36px 24px 30px;
    text-align:center;
  }

  .home-logo{
    display:flex;
    justify-content:center;
    margin-bottom:18px;
  }

  .home-logo img{
    width:min(560px, 90vw);
    height:auto;
    display:block;
  }

  .home-search-panel{
    max-width:1120px;
    margin:0 auto;
    padding:18px;
    border-radius:28px;
    border:1px solid rgba(var(--brand-rgb), .16);
    background:rgba(255,255,255,.01);
    box-shadow:0 10px 28px rgba(var(--brand-rgb), .04);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }

  .home-panel-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 26px;
    margin:0 0 18px;
  }

  .home-panel-links a{
    color:var(--ink-strong);
    text-decoration:none;
    font-family:var(--font-display);
    font-size:15px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .home-search-form{
    display:grid;
    grid-template-columns:2.2fr 1.08fr 1.18fr 0.92fr 0.98fr auto;
    gap:12px;
    align-items:end;
  }

  .home-field{
    text-align:left;
  }

  .home-field label{
    display:none;
  }

  .home-field input,
  .home-field select{
    width:100%;
    min-height:56px;
    padding:0 16px;
    border-radius:18px;
    border:1px solid rgba(var(--brand-rgb), .16);
    background:rgba(255,255,255,.03);
    color:var(--ink-strong);
    font-family:var(--font-body);
    font-size:14px;
    box-shadow:0 8px 20px rgba(var(--brand-rgb), .02);
    outline:none;
    -webkit-appearance:none;
    appearance:none;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .home-field input::placeholder{
    color:var(--muted);
  }

  .home-field select{
    color:var(--brand-strong);
    background-color:rgba(255,255,255,.03);
    -webkit-text-fill-color:var(--brand-strong);
  }

  .home-field select option{
    color:var(--brand-strong);
    background:var(--surface);
  }

  .home-submit{
    min-height:56px;
    padding:0 24px;
    border:0;
    border-radius:999px;
    background:var(--brand-strong);
    color:var(--surface);
    cursor:pointer;
    box-shadow:0 12px 26px rgba(var(--brand-rgb), .22);
    font-family:var(--font-display);
    font-size:15px;
    font-weight:600;
    letter-spacing:.01em;
  }

  .home-services{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:16px;
    margin-top:18px;
    margin-bottom:10px;
  
    margin-bottom:32px;
  }

  .home-service{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:146px;
    border-radius:26px;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(var(--brand-rgb), .10);
    box-shadow:var(--shadow-soft);
    text-decoration:none;
    color:var(--ink-strong);
    transition:.18s ease;
  }

  .home-service:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--brand-rgb), .18);
    box-shadow:var(--shadow-strong);
  }

  .home-service-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:var(--brand-ghost);
    color:var(--brand);
    font-size:24px;
    font-weight:800;
  }

  .home-service-title{
    font-family:var(--font-display);
    font-size:18px;
    font-weight:600;
    line-height:1.1;
  }

  .home-story-stack{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-top:40px;
  
    margin-top:56px;
  }

  .home-story-card[id]{
    scroll-margin-top:calc(var(--topbar-h, 84px) + 28px);
  }

  .home-story-card[id]{
    scroll-margin-top:calc(var(--topbar-h, 84px) + 24px);
  }

  .home-story-card{
    display:grid;
    grid-template-columns:minmax(260px, 34%) 1fr;
    align-items:stretch;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(var(--brand-rgb), .12);
    background:rgba(255,255,255,.72);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .home-story-card.is-reverse{
    grid-template-columns:1fr minmax(260px, 34%);
  }

  .home-story-card.is-reverse .home-story-media{
    order:2;
  }

  .home-story-card.is-reverse .home-story-body{
    order:1;
  }

  .home-story-media{
    min-height:240px;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:rgba(var(--brand-rgb), .05);
    color:var(--brand-strong);
  }


  .home-story-card:nth-child(odd) .home-story-media{
    color:var(--brand-strong);
    background-color:rgba(var(--brand-rgb), .05);
  }

  .home-story-card:nth-child(even) .home-story-media{
    color:var(--brand);
    background-color:rgba(var(--brand-rgb), .07);
  }

  /* .home-story-media--* sono ora definite dinamicamente nel template       */
  /* base_public.html con i colori del preset SiteTheme attivo (vedi blocco  */
  /* #portal-hero-illustrations). Le regole sotto restano per lo SHAPE base. */

  .home-story-body{
    padding:28px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:left;
  }

  .home-story-title[id]{
    scroll-margin-top:calc(var(--topbar-h, 84px) + 36px);
  }

  .home-story-title{
    margin:0 0 10px;
    color:var(--ink-strong);
    font-family:var(--font-display);
    font-size:clamp(24px, 2.6vw, 34px);
    line-height:1;
    letter-spacing:-.04em;
    font-weight:600;
  }

  .home-story-text{
    margin:0;
    color:var(--ink);
    font-family:var(--font-body);
    font-size:15px;
    line-height:1.75;
  }

