/* Identità visiva coordinata — Erika Rubrichi Property Manager */
:root{--ivory:#f7f3eb;--taupe:#ded3c5;--terracotta:#b9785e;--green:#263f35;--forest:#17382e;--ink:#292b27;--muted:#68665f;--white:#fffdf9;--gold:#b79a6a}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--ivory)!important;color:var(--ink)!important;font-family:Arial,Helvetica,sans-serif;line-height:1.75;letter-spacing:.005em}
a{color:var(--forest);text-underline-offset:3px}
.top{position:relative;background:rgba(247,243,235,.97)!important;color:var(--forest)!important;padding:18px clamp(18px,5vw,76px)!important;gap:24px;border-bottom:1px solid rgba(38,63,53,.13)!important;align-items:center;box-shadow:0 4px 20px rgba(35,45,35,.035)}
.brand{font-family:Georgia,'Times New Roman',serif!important;font-size:1.03rem!important;letter-spacing:.13em!important;line-height:1.3;color:var(--forest)!important;white-space:nowrap}
.nav{gap:8px 17px!important;align-items:center}.nav a{font-family:Arial,Helvetica,sans-serif!important;font-size:.79rem!important;letter-spacing:.01em;color:var(--forest)!important;transition:color .2s}.nav a:hover{color:var(--terracotta)!important;text-decoration:none}
.wrap{max-width:1200px!important;padding:42px clamp(17px,4vw,48px) 76px!important}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif!important;color:var(--forest)!important;letter-spacing:-.025em;line-height:1.16!important}
h1{font-size:clamp(2.35rem,5vw,4.3rem)!important;margin:.18em 0 .3em!important;max-width:780px}
h2{font-size:clamp(1.8rem,3.2vw,2.75rem)!important;margin:0 0 20px!important}
h3{font-size:1.35rem!important;margin-top:0}
p,li{font-size:1rem}p{max-width:75ch}.eyebrow{font:600 .72rem Arial,sans-serif!important;letter-spacing:.17em!important;color:var(--terracotta)!important}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#eee5d9 0%,#f9f5ee 70%)!important;padding:clamp(28px,5vw,66px)!important;border-radius:22px!important;grid-template-columns:1.02fr .98fr!important;gap:clamp(24px,4vw,58px)!important;box-shadow:0 14px 40px rgba(48,55,43,.06)}
.hero p{font-size:1.03rem;max-width:55ch;color:#4d514a}.portrait{width:100%;height:clamp(300px,40vw,500px);max-height:none!important;object-fit:cover;object-position:center;border-radius:16px!important;box-shadow:0 14px 32px rgba(36,49,39,.12)}
.button{background:var(--forest)!important;color:#fffdf9!important;padding:14px 22px!important;border-radius:999px!important;font:600 .83rem Arial,sans-serif!important;letter-spacing:.035em!important;transition:transform .2s,background .2s;box-shadow:0 5px 15px rgba(23,56,46,.13)}.button:hover{background:var(--terracotta)!important;transform:translateY(-1px)}
.section{padding:clamp(32px,5vw,62px) 0!important;border-bottom:1px solid var(--taupe)!important}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}.card{padding:clamp(20px,3vw,30px)!important;background:var(--white)!important;border:1px solid rgba(38,63,53,.08)!important;border-top:3px solid var(--gold)!important;border-radius:15px!important;box-shadow:0 7px 24px rgba(38,45,35,.035);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(38,45,35,.08)}.card a{font-weight:600;text-decoration:none}.card a:hover{text-decoration:underline}
.contact{background:#eee4d8!important;padding:clamp(22px,4vw,42px)!important;margin-top:38px;border-radius:20px!important}.formframe{border-radius:12px!important;box-shadow:0 8px 25px rgba(38,45,35,.07)}
img.symbolic-photo,.original-image{border-radius:16px!important;box-shadow:0 10px 28px rgba(38,45,35,.10);object-fit:cover}.faq{padding:20px 0!important;border-bottom:1px solid var(--taupe)!important}.faq h3{margin-bottom:7px!important}.small{font:.88rem Arial,sans-serif!important;color:var(--muted)!important}
.footer{background:var(--forest)!important;color:var(--ivory)!important;padding:32px 20px!important;font:.88rem Arial,sans-serif!important}.footer a{color:var(--ivory)!important}.footer>div+div{margin-top:7px}
@media(max-width:850px){.top{align-items:flex-start}.nav{width:100%;gap:9px 14px!important}.hero{grid-template-columns:1fr!important}.portrait{height:clamp(240px,62vw,420px)}h1{font-size:clamp(2.25rem,8vw,3.5rem)!important}.wrap{padding-top:24px!important}}
@media(max-width:560px){.top{padding:15px 18px!important}.brand{font-size:.95rem!important}.nav a{font-size:.75rem!important}.wrap{padding:20px 15px 48px!important}.hero{padding:25px 20px!important;border-radius:17px!important}.cards{grid-template-columns:1fr!important}.section{padding:31px 0!important}.contact{padding:22px 17px!important}.formframe{height:900px}}

/* Ottimizzazione mobile-first: leggibilità, navigazione e tocchi su smartphone */
img,iframe,video{max-width:100%}
*{-webkit-tap-highlight-color:transparent}
@media(max-width:640px){
  html{scroll-padding-top:14px}
  body{font-size:16px;line-height:1.68;overflow-x:hidden}
  .top{display:block!important;padding:13px 0 10px!important;position:relative;}
  .brand{display:block;padding:0 17px 11px;font-size:.94rem!important;letter-spacing:.11em!important}
  .nav{display:flex!important;flex-wrap:nowrap!important;width:100%;overflow-x:auto;overflow-y:hidden;gap:7px!important;padding:0 15px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;white-space:nowrap;overscroll-behavior-x:contain}
  .nav::-webkit-scrollbar{display:none}
  .nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid rgba(23,56,46,.14);border-radius:999px;background:rgba(255,253,249,.72);font-size:.78rem!important;white-space:nowrap}
  .wrap{width:100%;padding:18px 16px 42px!important}
  .hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:17px!important;padding:23px 18px!important;border-radius:17px!important}
  .hero>div{width:100%;order:1}
  .hero>img,.hero>.portrait{width:100%;height:auto!important;max-height:280px!important;aspect-ratio:16/10;object-fit:cover;order:2;border-radius:12px!important}
  h1{font-size:clamp(2rem,9vw,2.65rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:.2em 0 .35em!important}
  h2{font-size:clamp(1.65rem,7vw,2.05rem)!important;line-height:1.14!important;margin-bottom:14px!important}
  h3{font-size:1.2rem!important;line-height:1.22!important}
  p,li{font-size:.98rem;line-height:1.7}
  .eyebrow{font-size:.66rem!important;letter-spacing:.13em!important;line-height:1.5}
  .lead,.hero p{font-size:1rem!important}
  .button{display:flex!important;width:100%;min-height:48px;align-items:center;justify-content:center;text-align:center;margin:12px 0 0!important;padding:13px 16px!important;font-size:.82rem!important;line-height:1.35}
  .section{padding:28px 0!important}
  .cards,.portfolio-cards{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .card{min-width:0;padding:19px!important;border-radius:14px!important}
  .portfolio-card{padding:0!important;overflow:hidden}
  .portfolio-card>img{width:100%;height:auto!important;aspect-ratio:16/10;object-fit:cover}
  .portfolio-card-body{padding:18px!important}
  .portfolio-hero .portrait{height:auto!important;aspect-ratio:16/10}
  .symbolic-photo,.original-image{width:100%!important;height:auto!important;max-height:260px!important;aspect-ratio:16/10;object-fit:cover;margin:18px 0!important;border-radius:12px!important}
  .contact{margin-top:25px!important;padding:20px 16px!important;border-radius:15px!important}
  .formframe{display:block;width:100%!important;height:950px!important;max-width:100%;border-radius:10px!important}
  .faq{padding:16px 0!important}
  ol{padding-left:22px}
  .footer{padding:25px 17px!important;overflow-wrap:anywhere}
  .footer>div{line-height:1.7}
  .small{font-size:.82rem!important;line-height:1.55}
  .portfolio-note{padding:13px!important;font-size:.84rem}
  /* Evita che indirizzi, email o parole lunghe allarghino la pagina */
  main,section,article,div,p,a{overflow-wrap:break-word}
}
@media(max-width:380px){
  .wrap{padding-left:13px!important;padding-right:13px!important}
  .hero{padding:20px 15px!important}
  h1{font-size:1.9rem!important}
  .nav{gap:6px!important}
  .nav a{font-size:.74rem!important;padding:7px 9px}
}


/* Pulsante WhatsApp flottante: sempre raggiungibile anche da smartphone */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:9999;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 20px;border-radius:999px;background:#218c55;color:#fff!important;text-decoration:none!important;font:600 .94rem Arial,sans-serif;letter-spacing:.01em;box-shadow:0 8px 24px rgba(20,55,37,.25);transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(20,55,37,.3)}
.whatsapp-float svg{width:23px;height:23px;flex:0 0 23px;fill:currentColor}
.whatsapp-float:focus-visible{outline:3px solid #b79a6a;outline-offset:4px}
@media(max-width:700px){.whatsapp-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));min-height:52px;padding:0 17px;font-size:.9rem;box-shadow:0 6px 20px rgba(20,55,37,.28)}}

/* Modulo contatti integrato nella pagina */
.formframe{display:block;width:100%;min-height:900px;height:900px;border:0;border-radius:8px;background:#fff;margin:18px 0 0}
@media(max-width:700px){.formframe{height:1050px;min-height:1050px}}
