﻿:root{
  --ink:#20241F;
  --paper:#F7F3EA;
  --wine:#7C3B34;
  --wine-pale:#F1E3E0;
  --sage:#5F7A62;
  --sage-deep:#33452F;
  --line:#D8D2C2;
  --text-soft:#59564C;
  --font-serif:'Newsreader', Georgia, serif;
  --font-sans:'Inter', Arial, sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.sos-site{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-serif);line-height:1.6;-webkit-font-smoothing:antialiased;}
body.sos-site a{color:inherit;text-decoration:none;}
body.sos-site a:hover{text-decoration:none;}
.editorial-wrap{max-width:1100px;margin:0 auto;padding-left:24px;padding-right:24px;}
.kicker{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--wine);}

.dateline{border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--text-soft);}
.dateline-inner{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px;gap:14px;}
.dateline a:not(.exit-btn){border-bottom:1px solid var(--text-soft);}
.exit-btn{border:1px solid var(--line);padding:5px 12px;border-radius:3px;font-size:11.5px;color:var(--ink)!important;white-space:nowrap;}
.exit-btn:hover{border-color:var(--ink);}

.masthead{padding:34px 0 0;text-align:center;}
.wordmark{display:inline-block;font-family:var(--font-serif);font-weight:500;font-style:italic;font-size:clamp(32px,5vw,46px);letter-spacing:.01em;color:var(--ink)!important;}
.tagline{font-family:var(--font-sans);font-size:13px;color:var(--text-soft);margin-top:6px;}
.masthead-rule{border:0;border-top:1px solid var(--ink);margin:22px 0 0;}
.mainnav{border-bottom:1px solid var(--line);}
.nav-inner{display:flex;justify-content:center;gap:34px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;font-family:var(--font-sans);font-size:14px;font-weight:500;}
.mainnav a{color:var(--text-soft)!important;}
.mainnav a:hover{color:var(--ink)!important;}
.mainnav a.active{color:var(--ink)!important;border-bottom:2px solid var(--wine);padding-bottom:2px;}

.hero{padding:56px 0 64px;}
.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;align-items:start;}
.hero h1{font-family:var(--font-serif);font-weight:500;font-size:clamp(34px,4.6vw,50px);line-height:1.15;margin:14px 0 20px;letter-spacing:-.01em;}
.hero-dek{font-size:18px;color:var(--text-soft);max-width:560px;margin-bottom:22px;}
.hero-links{font-family:var(--font-sans);font-size:14.5px;font-weight:500;}
.hero-links a{color:var(--sage-deep)!important;border-bottom:1px solid var(--sage);}
.sidebar-box{border:1px solid var(--ink);padding:26px 24px;}
.sidebar-box .kicker{display:block;margin-bottom:10px;}
.sidebar-box h3{font-family:var(--font-serif);font-weight:500;font-size:20px;margin:0 0 10px;}
.sidebar-box p{font-family:var(--font-sans);font-size:13.5px;color:var(--text-soft);margin-bottom:18px;}
.btn-primary-editorial{display:block;background:var(--sage-deep);color:var(--paper)!important;padding:12px 20px;border-radius:3px;font-family:var(--font-sans);font-size:14px;font-weight:500;text-align:center;}
.btn-primary-editorial:hover{background:var(--ink);color:var(--paper)!important;}
.sidebar-phone{font-family:var(--font-mono);font-size:13.5px;margin-top:14px;text-align:center;color:var(--text-soft);}

.rule-section{border-top:1px solid var(--ink);padding:52px 0;}
.collection-section{padding-top:52px;}
.section-head{margin-bottom:36px;}
.section-head h2{font-family:var(--font-serif);font-weight:500;font-size:clamp(25px,3vw,31px);margin:6px 0 0;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);}
.three-col>div{padding:0 28px 0 0;border-right:1px solid var(--line);}
.three-col>div:last-child{border-right:0;padding-right:0;}
.three-col>div+div{padding-left:28px;}
.three-col h3{font-family:var(--font-serif);font-weight:500;font-size:19px;margin:12px 0 8px;}
.three-col p{font-family:var(--font-sans);font-size:14px;color:var(--text-soft);margin-bottom:12px;}
.three-col a,.section-more a{font-family:var(--font-sans);font-size:13.5px;font-weight:500;color:var(--sage-deep)!important;border-bottom:1px solid var(--sage);}

.article-row{display:grid;grid-template-columns:1fr 2.6fr;gap:32px;padding:26px 0;border-top:1px solid var(--line);color:var(--ink)!important;}
.article-row:nth-last-of-type(1){border-bottom:1px solid var(--line);}
.article-row .kicker{margin-top:4px;}
.article-row h3{font-family:var(--font-serif);font-weight:500;font-size:22px;line-height:1.3;margin:0 0 8px;}
.article-row p{font-family:var(--font-sans);font-size:14.5px;color:var(--text-soft);margin:0;}
.article-row:hover h3{color:var(--wine);}
.section-more{margin-top:20px;text-align:right;}

.event-row{display:grid;grid-template-columns:170px 1fr auto;gap:22px;align-items:baseline;padding:20px 0;border-top:1px solid var(--line);}
.event-row:last-child{border-bottom:1px solid var(--line);}
.event-row .when{font-family:var(--font-mono);font-size:13px;color:var(--wine);}
.event-row h3{font-family:var(--font-serif);font-weight:500;font-size:18px;margin:0 0 4px;}
.event-row p{font-family:var(--font-sans);font-size:13.5px;color:var(--text-soft);margin:0;}
.event-row .cta{font-family:var(--font-sans);font-size:13.5px;font-weight:500;color:var(--sage-deep)!important;border-bottom:1px solid var(--sage);white-space:nowrap;}
.feature-row{background:var(--wine-pale);margin:0 -18px;padding-left:18px;padding-right:18px;}

.pull{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:64px 0;text-align:center;}

    .pull .quote-mark {
        position: relative;
        width: 42px;
        height: 28px;
        margin: 0 auto 18px;
    }

        .pull .quote-mark::before,
        .pull .quote-mark::after {
            content: "";
            position: absolute;
            top: 0;
            width: 15px;
            height: 24px;
            background: var(--wine);
            border-radius: 3px 3px 9px 3px;
            transform: skew(-10deg);
            opacity: .9;
        }

        .pull .quote-mark::before {
            left: 4px;
        }

        .pull .quote-mark::after {
            right: 4px;
        }
    .pull p {
        font-family: var(--font-serif);
        font-style: italic;
        font-weight: 500;
        font-size: clamp(22px,3.2vw,30px);
        max-width: 680px;
        margin: 6px auto 0;
        line-height: 1.45;
    }
    .pull .quote-ornament {
        font-family: Georgia, serif;
        font-size: 72px;
        line-height: .7;
        color: var(--wine);
        margin-bottom: 12px;
    }
footer{padding:48px 0 40px;}
.footer-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:28px;margin-bottom:22px;border-bottom:1px solid var(--line);}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer-col h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;}
.footer-col a{display:block;margin-bottom:8px;font-family:var(--font-sans);font-size:13.5px;color:var(--text-soft)!important;}
.footer-col a:hover{color:var(--wine)!important;}
.privacy-note{display:flex;align-items:center;font-family:var(--font-sans);font-size:12.5px;color:var(--text-soft);}
footer .bottom{font-family:var(--font-sans);font-size:12.5px;color:var(--text-soft);}
footer .bottom a{color:var(--text-soft)!important;border-bottom:1px solid var(--line);}

/* Keep older public pages readable while they still use Bootstrap markup. */
body.sos-site .container{max-width:1100px;}
body.sos-site .container:not(.editorial-wrap){font-family:var(--font-sans);}

@media(max-width:840px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .three-col{grid-template-columns:1fr;row-gap:28px;}
  .three-col>div{border-right:0;padding:0!important;}
  .article-row{grid-template-columns:1fr;gap:6px;}
  .event-row{grid-template-columns:1fr;row-gap:6px;}
  .nav-inner{gap:18px;font-size:13px;}
  .feature-row{margin:0;padding-left:0;padding-right:0;background:transparent;}
}
@media(max-width:560px){
  .editorial-wrap{padding-left:18px;padding-right:18px;}
  .dateline-inner{align-items:flex-start;}
  .dateline-inner>span{max-width:76%;line-height:1.4;}
  .masthead{padding-top:26px;}
  .tagline{font-size:12.5px;line-height:1.45;}
  .nav-inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;gap:22px;padding-bottom:13px;scrollbar-width:none;}
  .nav-inner::-webkit-scrollbar{display:none;}
  .nav-inner a{white-space:nowrap;}
  .hero{padding:44px 0 50px;}
  .hero h1{font-size:36px;}
  .hero-dek{font-size:17px;}
  .rule-section{padding:44px 0;}
  .footer-cols{gap:32px;}
}

/* =========================================================
   A.GIT.A. / CHI SIAMO
   ========================================================= */
.agita-page{
  padding:58px 0 72px;
}

.agita-page > .wrap{
  max-width:1100px;
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
}

.agita-header{
  max-width:820px;
  margin:0 auto 54px;
  padding-bottom:36px;
  border-bottom:1px solid var(--ink);
}

.agita-header h1{
  font-family:var(--font-serif);
  font-size:clamp(38px,5vw,54px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-0.015em;
  margin:8px 0 16px;
}

.agita-lead{
  font-family:var(--font-serif);
  font-size:20px;
  line-height:1.55;
  color:var(--text-soft);
  margin:0;
}

.agita-content{
  max-width:820px;
  margin:0 auto;
}

.agita-section{
  padding:0 0 48px;
  margin:0 0 48px;
  border-bottom:1px solid var(--line);
}

.agita-section:last-child{
  margin-bottom:58px;
}

.agita-section h2{
  font-family:var(--font-serif);
  font-size:clamp(26px,3vw,34px);
  line-height:1.2;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:8px 0 22px;
}

.agita-section p,
.agita-list{
  font-family:var(--font-sans);
  font-size:15.5px;
  line-height:1.75;
  color:var(--text-soft);
}

.agita-section p{
  margin:0 0 18px;
}

.agita-section p:last-child{
  margin-bottom:0;
}

.agita-list{
  margin:0;
  padding:0;
  list-style:none;
}

.agita-list li{
  position:relative;
  padding:15px 0 15px 28px;
  border-top:1px solid var(--line);
}

.agita-list li:last-child{
  border-bottom:1px solid var(--line);
}

.agita-list li::before{
  content:'—';
  position:absolute;
  left:0;
  color:var(--wine);
}

.agita-contact-section{
  max-width:1000px;
  margin:0 auto;
  padding:56px 0 58px;
  border-top:1px solid var(--ink);
}

.agita-contact-section .section-head{
  margin-bottom:30px;
}

.agita-contact-section .section-head h2{
  font-family:var(--font-serif);
  font-size:clamp(27px,3vw,34px);
  line-height:1.2;
  font-weight:500;
  margin:7px 0 0;
}

.agita-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.agita-contact-card{
  display:flex;
  flex-direction:column;
  min-height:330px;
  padding:28px 28px 26px;
  border:1px solid var(--ink);
  background:transparent;
}

.agita-contact-card h3{
  font-family:var(--font-serif);
  font-size:25px;
  line-height:1.2;
  font-weight:500;
  margin:9px 0 12px;
}

.agita-contact-card p{
  font-family:var(--font-sans);
  font-size:14.5px;
  line-height:1.65;
  color:var(--text-soft);
  margin:0 0 22px;
}

.agita-contact-card .btn-primary{
  display:block;
  width:100%;
  margin-top:auto;
  padding:13px 18px;
  border:0;
  border-radius:3px;
  background:var(--sage-deep);
  color:var(--paper)!important;
  font-family:var(--font-sans);
  font-size:14px;
  font-weight:600;
  text-align:center;
  text-decoration:none!important;
}

.agita-contact-card .btn-primary:hover,
.agita-contact-card .btn-primary:focus{
  background:var(--ink);
  color:var(--paper)!important;
}

.agita-contact-note{
  margin-top:18px;
  font-family:var(--font-sans);
  font-size:12.5px;
  line-height:1.55;
  color:var(--text-soft);
}

.agita-phone-strip{
  max-width:1000px;
  margin:0 auto;
  padding:32px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
}

.agita-phone-strip h3{
  font-family:var(--font-serif);
  font-size:23px;
  line-height:1.25;
  font-weight:500;
  margin:7px 0 5px;
}

.agita-phone-strip p{
  margin:0;
  font-family:var(--font-sans);
  font-size:13.5px;
  color:var(--text-soft);
}

.agita-phone-number{
  flex:0 0 auto;
  font-family:var(--font-serif);
  font-size:29px;
  line-height:1;
  font-weight:500;
  color:var(--sage-deep)!important;
  border-bottom:1px solid var(--sage);
  white-space:nowrap;
}

.agita-details{
  max-width:1000px;
  margin:0 auto;
  padding:32px 0 0;
  display:flex;
  justify-content:space-between;
  gap:36px;
  font-family:var(--font-sans);
  font-size:13px;
  line-height:1.65;
  color:var(--text-soft);
}

.agita-details p{
  margin:8px 0 0;
}

@media(max-width:840px){
  .agita-page{
    padding-top:44px;
  }

  .agita-page > .wrap{
    padding-left:24px;
    padding-right:24px;
  }

  .agita-header,
  .agita-content{
    max-width:720px;
  }

  .agita-contact-grid{
    grid-template-columns:1fr;
  }

  .agita-contact-card{
    min-height:0;
  }

  .agita-contact-card .btn-primary{
    margin-top:8px;
  }
}

@media(max-width:560px){
  .agita-page{
    padding:36px 0 54px;
  }

  .agita-page > .wrap{
    padding-left:20px;
    padding-right:20px;
  }

  .agita-header{
    margin-bottom:40px;
    padding-bottom:28px;
  }

  .agita-header h1{
    font-size:40px;
  }

  .agita-lead{
    font-size:18px;
  }

  .agita-section{
    padding-bottom:36px;
    margin-bottom:36px;
  }

  .agita-section h2{
    font-size:28px;
  }

  .agita-section p,
  .agita-list{
    font-size:15px;
    line-height:1.7;
  }

  .agita-contact-section{
    padding:42px 0 44px;
  }

  .agita-contact-card{
    padding:24px 22px;
  }

  .agita-phone-strip{
    display:block;
    padding:28px 0;
  }

  .agita-phone-number{
    display:inline-block;
    margin-top:20px;
    font-size:27px;
  }

  .agita-details{
    display:block;
    padding-top:26px;
  }
}

/* =========================================================
   CONTACT FORMS
   ========================================================= */
.contact-page{
  padding:58px 0 76px;
}
.contact-wrap{
  max-width:1000px;
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
}
.contact-header{
  max-width:760px;
  margin:0 auto 38px;
}
.contact-header h1{
  font-family:var(--font-serif);
  font-size:clamp(34px,4.8vw,48px);
  line-height:1.12;
  font-weight:500;
  letter-spacing:-0.015em;
  margin:8px 0 14px;
}
.contact-header p{
  font-family:var(--font-serif);
  font-size:19px;
  line-height:1.55;
  color:var(--text-soft);
  margin:0;
}
.contact-form-shell{
  max-width:760px;
  margin:0 auto;
  padding:34px 36px 38px;
  border:1px solid var(--ink);
}
.contact-ip{
  display:none;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 24px;
}
.contact-field{
  min-width:0;
}
.contact-field-wide{
  grid-column:1 / -1;
}
.contact-field > label,
.contact-captcha > label{
  display:block;
  margin-bottom:7px;
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:600;
  color:var(--ink);
}
.editorial-input{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:2px;
  background:#fffdf8;
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:14.5px;
  line-height:1.4;
  box-shadow:none!important;
  outline:none;
}
.editorial-input:focus{
  border-color:var(--sage-deep);
  box-shadow:0 0 0 1px var(--sage-deep)!important;
}
.editorial-textarea{
  min-height:150px;
  resize:vertical;
}
.field-error{
  display:block;
  margin-top:6px;
  font-family:var(--font-sans);
  font-size:12.5px;
  line-height:1.35;
  color:var(--wine)!important;
}
.editorial-radio-list{
  font-family:var(--font-sans);
  font-size:14px;
  color:var(--text-soft);
}
.editorial-radio-list tbody,
.editorial-radio-list tr{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
.editorial-radio-list td{
  padding:0!important;
}
.editorial-radio-list input{
  margin-right:6px;
}
.contact-captcha{
  padding-top:24px;
}
.captcha-state{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.contact-consent{
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.consent-block{
  padding:22px 0 0;
}
.consent-block + .consent-block{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.consent-block h2{
  font-family:var(--font-serif);
  font-size:21px;
  font-weight:500;
  line-height:1.25;
  margin:0 0 8px;
}
.consent-block p{
  margin:0 0 12px;
  font-family:var(--font-sans);
  font-size:13.5px;
  line-height:1.6;
  color:var(--text-soft);
}
.consent-block a{
  color:var(--sage-deep);
  border-bottom:1px solid var(--sage);
}
.consent-options{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  font-family:var(--font-sans);
  font-size:13.5px;
  color:var(--ink);
}
.consent-options input{
  margin-right:6px;
}
.contact-submit{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid var(--ink);
}
.contact-submit-button{
  width:auto!important;
  min-width:210px;
  border:none;
  cursor:pointer;
}
.contact-submit-button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.contact-message{
  display:block;
  margin-top:12px;
  font-family:var(--font-sans);
  font-size:13.5px;
}
.contact-note{
  margin:12px 0 0;
  font-family:var(--font-sans);
  font-size:12.5px;
  color:var(--text-soft);
}
.success-page{
  min-height:430px;
}
.success-panel{
  max-width:700px;
  margin:20px auto 0;
  padding:42px 0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.success-panel h1{
  font-family:var(--font-serif);
  font-size:clamp(34px,4.5vw,48px);
  font-weight:500;
  line-height:1.15;
  margin:8px 0 14px;
}
.success-lead{
  max-width:620px;
  font-family:var(--font-serif);
  font-size:19px;
  line-height:1.55;
  color:var(--text-soft);
}
.success-countdown{
  display:block;
  margin:18px 0;
  font-family:var(--font-sans);
  font-size:13px;
  color:var(--text-soft);
}
.editorial-link{
  font-family:var(--font-sans);
  font-size:13.5px;
  font-weight:500;
  color:var(--sage-deep)!important;
  border-bottom:1px solid var(--sage);
}

@media(max-width:700px){
  .contact-page{
    padding:42px 0 58px;
  }
  .contact-wrap{
    padding-left:20px;
    padding-right:20px;
  }
  .contact-header{
    margin-bottom:30px;
  }
  .contact-header p{
    font-size:17.5px;
  }
  .contact-form-shell{
    padding:26px 22px 30px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
    gap:19px;
  }
  .contact-field-wide{
    grid-column:auto;
  }
  .editorial-radio-list tbody,
  .editorial-radio-list tr{
    display:block;
  }
  .editorial-radio-list td{
    display:block;
    padding:4px 0!important;
  }
  .contact-submit-button{
    width:100%!important;
  }
}

/* Contact form primary action: use the SOSAzzardo editorial sage, not Bootstrap blue. */
.contact-submit .contact-submit-button,
.contact-submit input.contact-submit-button,
.contact-submit .btn-primary.contact-submit-button{
  background:var(--sage-deep)!important;
  border:1px solid var(--sage-deep)!important;
  color:var(--paper)!important;
  border-radius:3px!important;
  padding:12px 22px!important;
  font-family:var(--font-sans)!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.4!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

.contact-submit .contact-submit-button:hover:not(:disabled),
.contact-submit input.contact-submit-button:hover:not(:disabled),
.contact-submit .btn-primary.contact-submit-button:hover:not(:disabled){
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  color:var(--paper)!important;
}

.contact-submit .contact-submit-button:disabled,
.contact-submit input.contact-submit-button:disabled,
.contact-submit .btn-primary.contact-submit-button:disabled{
  background:var(--sage-deep)!important;
  border-color:var(--sage-deep)!important;
  color:var(--paper)!important;
  opacity:.38!important;
}

/* Psychologist form security verification */
.contact-captcha{
  margin-top:30px;
  padding:26px 0 28px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.contact-captcha p{
  margin:8px 0 16px;
  font-family:var(--font-sans);
  font-size:13.5px;
  line-height:1.55;
  color:var(--text-soft);
}
.contact-captcha .g-recaptcha{
  min-height:78px;
}

/* Keep the contact form action in the editorial dark sage palette. */
.contact-submit input[type="submit"].contact-submit-button,
.contact-submit .contact-submit-button{
  background:var(--sage-deep)!important;
  border-color:var(--sage-deep)!important;
  color:var(--paper)!important;
}
.contact-submit input[type="submit"].contact-submit-button:hover:not(:disabled),
.contact-submit .contact-submit-button:hover:not(:disabled){
  background:var(--ink)!important;
  border-color:var(--ink)!important;
}

