/* STERLING & SAGE - scoped project styles (mirrors client css/styles.css) */
.ss-project{--ss-primary:var(--gcid-8e7fff80-5e53-4535-a7ae-fc347c9e8abd);--ss-primary-dark:#6B7A6D;--ss-primary-light:#A8B8AA;--ss-accent:var(--gcid-ac769037-fd86-432a-a137-3ab2691e1f24);--ss-bg:var(--gcid-3cebcf34-3a49-4f95-bdc1-58f6c22a5587);--ss-surface:#FFFFFF;--ss-surface-alt:#F4F2EE;--ss-heading:var(--gcid-ea10c9f3-3f47-4b31-93d0-8522b4595ab9);--ss-body:#4A4A4A;--ss-muted:#7A7A7A;--ss-border:#E8E6E1;--ss-pad:2rem}
body.ss-project{background:var(--ss-bg)}

/* shared container: header, body, footer all align */
.ss-project .et_pb_section > .et_pb_row,
.ss-header .et_pb_row,
.ss-footer .et_pb_row{
  width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:var(--ss-pad)!important;padding-right:var(--ss-pad)!important;box-sizing:border-box}
/* Vertically center header row content (logo + nav + mobile toggle) - scoped to header only */
.ss-header .et_pb_row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;}
.ss-project .ss-w780 > .et_pb_column{max-width:780px;margin-left:auto;margin-right:auto}
.ss-project .ss-w900 > .et_pb_column{max-width:900px;margin-left:auto;margin-right:auto}
.ss-project .ss-w800 > .et_pb_column{max-width:800px;margin-left:auto;margin-right:auto}
.ss-project .ss-w760 > .et_pb_column{max-width:760px;margin-left:auto;margin-right:auto}
.ss-project .ss-w700 > .et_pb_column{max-width:700px;margin-left:auto;margin-right:auto}
.ss-project .ss-w640 > .et_pb_column{max-width:640px;margin-left:auto;margin-right:auto}

/* TYPE - Cormorant Garamond headings at weight 500 (never bold), Inter body */
.ss-project h1,.ss-project h2,.ss-project h3,.ss-project h4{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:0.01em;line-height:1.15}
.ss-project h1{font-size:clamp(2.5rem,5vw + 1rem,4.75rem)!important;font-weight:500!important}
.ss-project h2{font-size:clamp(2rem,3vw + 1rem,3.25rem)!important;font-weight:500!important}
.ss-project h3{font-size:clamp(1.5rem,1.5vw + 1rem,2.1rem)!important;font-weight:500!important}

/* BUTTONS */
.ss-project .et_pb_button{display:inline-flex!important;align-items:center;justify-content:center;gap:0.6rem;min-height:44px;padding:0.95rem 2rem!important;font-family:Inter,sans-serif!important;font-size:0.9rem!important;font-weight:600!important;letter-spacing:0.04em!important;transition:transform 150ms ease,background 150ms ease,color 150ms ease,box-shadow 150ms ease}
.ss-project .et_pb_button:after,.ss-project .et_pb_button:before{display:none!important}
.ss-project .et_pb_button:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(44,51,46,0.10)}

/* HEADER / NAV */
.ss-header{position:sticky;top:0;z-index:100;background:rgba(250,249,246,0.92);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--ss-border)}
.ss-logo{text-decoration:none;color:#2C332E!important}
.ss-logo:visited,.ss-logo:hover{color:#2C332E!important}
.ss-nav{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.ss-nav a{font-size:0.85rem;font-weight:500;letter-spacing:0.04em;color:var(--ss-heading);position:relative;padding-bottom:3px;text-decoration:none}
.ss-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ss-accent);transition:width 500ms cubic-bezier(0.25,0.46,0.45,0.94)}
.ss-nav a:hover::after{width:100%}
.ss-nav-mobile-cta{display:none}

.ss-nav-toggle{display:none;background:none;border:none;padding:0.5rem;min-width:44px;min-height:44px;align-items:center;justify-content:center;cursor:pointer;position:relative}
.ss-nav-toggle span{display:block;width:24px;height:1.5px;background:var(--ss-heading);position:relative}
.ss-nav-toggle span::before,.ss-nav-toggle span::after{content:'';position:absolute;left:0;width:24px;height:1.5px;background:var(--ss-heading);transition:transform 150ms ease,opacity 150ms ease}
.ss-nav-toggle span::before{top:-7px}
.ss-nav-toggle span::after{top:7px}
.ss-nav-toggle[aria-expanded=true] span{opacity:0}
.ss-nav-toggle[aria-expanded=true] span::before{transform:translateY(7px) rotate(45deg)}
.ss-nav-toggle[aria-expanded=true] span::after{transform:translateY(-7px) rotate(-45deg)}

@media (max-width:979px){
  .ss-nav-toggle{display:inline-flex}
  .ss-header .et_pb_row{flex-wrap:wrap}
  .ss-hdr-cta{display:none}
  .ss-nav{display:none!important;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--ss-surface);padding:0;gap:0;border-top:1px solid var(--ss-border);max-height:75vh;overflow-y:auto}
  .ss-nav.is-open{display:flex!important}
  .ss-nav a{width:100%;padding:20px 24px;font-family:'Cormorant Garamond';font-size:1.4rem;border-bottom:1px solid var(--ss-border)}
  .ss-nav a::after{display:none}
  .ss-nav-mobile-cta{display:block!important;margin:16px 24px;background:var(--ss-heading);color:#FAF9F6!important;padding:0.95rem;text-align:center;font-weight:600;text-decoration:none;border-radius:4px;font-family:Inter;font-size:0.9rem;letter-spacing:0.04em;}
}

/* FOOTER */
.ss-footer a{color:rgba(231,228,221,0.85);text-decoration:none}
.ss-footer a:hover{color:#A8B8AA}
.ss-fmenu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}

/* accordion (native Divi) styling to match .faq-question */
.ss-project .et_pb_accordion_item .et_pb_toggle_title{font-family:'Cormorant Garamond'!important;font-weight:500!important}

/* photography: always object-fit cover, never distorted */
.ss-project img{object-fit:cover}

/* ===== RESPONSIVE (breakpoints match source: 979 / 700) ===== */
@media (max-width:979px){
  .ss-project .et_pb_row > .et_pb_column{flex:1 1 100%!important;max-width:100%!important}
}
@media (max-width:700px){
  .ss-project form[class*=et_pb_contact] .et_pb_contact_field{width:100%!important}
}
/* ---- FULL-BLEED sections (hero, testimonials, final CTA, page-hero): edge-to-edge photo, no container cap ---- */
.ss-project .et_pb_section > .et_pb_row.ss-fullbleed{
  max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
.ss-project .ss-fullbleed > .et_pb_column{max-width:none!important;width:100%!important}
/* ---- FULL-BLEED, take 2: reset ALL residual spacing (vertical too), not just horizontal ---- */
.ss-project .et_pb_section:has(> .et_pb_row.ss-fullbleed){padding-top:0!important;padding-bottom:0!important}
.ss-project .ss-fullbleed{margin:0!important;padding:0!important}
.ss-project .ss-fullbleed > .et_pb_column{margin:0!important;padding:0!important}
.ss-project .ss-fullbleed .et_pb_code{margin:0!important;padding:0!important;display:block!important}
.ss-project .ss-fullbleed .et_pb_code_inner{margin:0!important;padding:0!important}
/* ---- MASONRY gallery responsive (Portfolio page) ---- */
@media (max-width:860px){
  .ss-project [id="full-weddings"] div[style*="column-count:3"],
  .ss-project [id="elopements"] div[style*="column-count:3"],
  .ss-project [id="engagements"] div[style*="column-count:3"]{column-count:2!important}
}
@media (max-width:560px){
  .ss-project [id="full-weddings"] div[style*="column-count:3"],
  .ss-project [id="elopements"] div[style*="column-count:3"],
  .ss-project [id="engagements"] div[style*="column-count:3"]{column-count:1!important}
}
/* ---- NATIVE CONTACT FORM: styled directly via Divi's stable generic classes.
   Divi's per-instance CSS generator does not emit rules for contact-form sub-element
   decoration attrs in this environment (verified: attrs are stored correctly but no
   corresponding CSS rule is ever written), so styling is applied here instead. ---- */
.ss-project .et_pb_contact_form_label{
  font-family:Inter,sans-serif!important;font-weight:600!important;font-size:13px!important;
  letter-spacing:0.04em!important;text-transform:uppercase!important;color:#2C332E!important;
  display:block;margin-bottom:8px}
.ss-project .et_pb_contact_field .input,
.ss-project .et_pb_contact_field textarea.input,
.ss-project .et_pb_contact_field select.input{
  background:#FFFFFF!important;border:1px solid #E8E6E1!important;border-radius:4px!important;
  color:#4A4A4A!important;font-family:Inter,sans-serif!important;font-size:16px!important;
  padding:0.85em 1em!important;width:100%!important;box-sizing:border-box!important}
.ss-project .et_pb_contact_field .input::placeholder{color:#7A7A7A!important}
.ss-project .et_pb_contact_submit,
.ss-project button.et_pb_contact_submit{
  background:#2C332E!important;color:#FAF9F6!important;border:0!important;border-radius:4px!important;
  font-family:Inter,sans-serif!important;font-weight:600!important;font-size:14.5px!important;
  letter-spacing:0.04em!important;padding:0.95rem 2rem!important;min-height:44px!important;
  text-transform:none!important}

/* pair fields two-up via CSS Grid (forces the layout mode regardless of Divi's own flex/grid setup) */
.ss-project .et_pb_contact{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 24px!important;width:100%!important}
.ss-project .et_pb_contact_field{width:auto!important;max-width:none!important;flex:none!important}
.ss-project .et_pb_contact_field[data-id="referral"],
.ss-project .et_pb_contact_field[data-id="vision"]{grid-column:1 / -1!important}

@media (max-width:700px){
  .ss-project .et_pb_contact{grid-template-columns:1fr!important}
}
/* ---- ACCORDION (FAQ): styled directly via Divi's stable classes, same rationale as the contact form ---- */
.ss-project .et_pb_toggle_title{
  font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;
  font-size:1.3rem!important;color:#2C332E!important;letter-spacing:0.01em!important}
.ss-project .et_pb_toggle_content{
  font-family:Inter,sans-serif!important;font-size:15.5px!important;line-height:1.65em!important;color:#4A4A4A!important}
.ss-project .et_pb_toggle_content p{margin:0}
.ss-project .et_pb_accordion_item{border-bottom:1px solid #E8E6E1!important;padding:1.2rem 0!important}
.ss-project .et_pb_accordion_item:last-child{border-bottom:0!important}
/* Back-to-portfolio link in header, next to logo */
.ss-back-link{display:block;margin-top:8px;font-size:0.72rem;font-weight:600;letter-spacing:0.02em;color:var(--ss-muted);text-decoration:none;transition:color 150ms ease;}
.ss-back-link:hover{color:var(--ss-accent);}
