/* Quince Portraits 3.0 – consolidated visual system */
:root{
  --ds-transition:240ms ease;
  --ds-border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);
  --ds-field-bg:color-mix(in srgb,var(--paper-light) 92%,white);
  --ds-focus:0 0 0 3px color-mix(in srgb,var(--gold) 24%,transparent);
  --ds-reading-width:720px;
}

/* Typography and readable measures */
body{font-family:var(--corporate-regular-font);font-kerning:normal;text-rendering:optimizeLegibility;}
p,li{hyphens:auto;}
.entry-content>p,.entry-content>ul,.entry-content>ol,.entry-content>blockquote{max-width:var(--ds-reading-width);}
.entry-content p{margin-block:0 1.15em;}
.entry-content h1,.entry-content h2,.section-intro h2,.page-hero h1,.single-header h1{text-wrap:balance;}
.entry-content h2{margin-top:1.35em;}
.entry-content h3{margin-top:1.7em;}
.entry-content a:not(.button):not(.wp-element-button){text-decoration-thickness:1px;text-underline-offset:.2em;}

/* One button language across core and plugins */
.button,.wp-element-button,.wp-block-button__link,
input[type="submit"],button[type="submit"],
.ff-btn,.ff-btn-submit,.ff_submit_btn_wrapper .ff-btn,.fluentform .ff-btn,
.wpforms-submit,.wpcf7-submit,.gform_button,.gform-theme-button,
.forminator-button,.nf-form-content button,.nf-form-content input[type="button"],
.everest-forms button[type="submit"],.amelia-app-booking button,.bookly-btn{
  appearance:none!important;display:inline-flex!important;align-items:center;justify-content:center;
  min-height:46px;padding:12px 25px!important;border:1px solid var(--gold)!important;
  border-radius:var(--button-radius)!important;background:transparent!important;color:var(--gold)!important;
  font-family:var(--corporate-medium-font)!important;font-size:11px!important;font-weight:400!important;
  line-height:1.2!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  box-shadow:none!important;cursor:pointer;transition:background var(--ds-transition),color var(--ds-transition),border-color var(--ds-transition),transform var(--ds-transition)!important;
}
.button:hover,.button:focus-visible,.wp-element-button:hover,.wp-element-button:focus-visible,.wp-block-button__link:hover,.wp-block-button__link:focus-visible,
input[type="submit"]:hover,input[type="submit"]:focus-visible,button[type="submit"]:hover,button[type="submit"]:focus-visible,
.ff-btn:hover,.ff-btn:focus-visible,.wpforms-submit:hover,.wpforms-submit:focus-visible,.wpcf7-submit:hover,.wpcf7-submit:focus-visible,
.gform_button:hover,.gform_button:focus-visible,.forminator-button:hover,.forminator-button:focus-visible,.nf-form-content button:hover,.nf-form-content button:focus-visible{
  background:var(--gold)!important;color:var(--green)!important;border-color:var(--gold)!important;transform:translateY(-1px);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ds-focus);}

/* Forms as part of the theme */
.entry-content form label,.fluentform label,.wpforms-form label,.wpcf7 label,.gform_wrapper label,.forminator-ui label,.nf-form-content label{
  color:var(--ink);font-family:var(--corporate-medium-font)!important;font-size:14px!important;font-weight:400!important;letter-spacing:.02em;
}
.entry-content form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.entry-content form select,.entry-content form textarea,
.fluentform input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.fluentform select,.fluentform textarea,
.wpforms-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.wpforms-form select,.wpforms-form textarea,
.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.wpcf7 select,.wpcf7 textarea,
.gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.gform_wrapper select,.gform_wrapper textarea,
.forminator-ui input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.forminator-ui select,.forminator-ui textarea,
.nf-form-content input:not([type="button"]):not([type="checkbox"]):not([type="radio"]),.nf-form-content select,.nf-form-content textarea{
  width:100%;min-height:48px;padding:11px 14px!important;border:1px solid var(--line)!important;border-radius:0!important;
  background:var(--ds-field-bg)!important;color:var(--ink)!important;font-family:Helvetica,Arial,sans-serif!important;font-size:16px!important;
  box-shadow:none!important;transition:border-color var(--ds-transition),background var(--ds-transition),box-shadow var(--ds-transition)!important;
}
.entry-content form textarea,.fluentform textarea,.wpforms-form textarea,.wpcf7 textarea,.gform_wrapper textarea,.forminator-ui textarea,.nf-form-content textarea{min-height:150px;resize:vertical;}
.entry-content form input:focus,.entry-content form select:focus,.entry-content form textarea:focus,
.fluentform input:focus,.fluentform select:focus,.fluentform textarea:focus,.wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus,
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus,.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{
  border-color:var(--gold)!important;background:var(--paper-light)!important;box-shadow:var(--ds-focus)!important;outline:none!important;
}
.ff-el-group,.wpforms-field,.gfield,.forminator-field,.nf-field{margin-bottom:22px!important;}
.ff-el-is-error .text-danger,.wpforms-error,.validation_message,.forminator-error-message,.nf-error-msg{font-family:var(--corporate-regular-font)!important;font-size:13px!important;}

/* Cards, groups and grids */
.work-group-card,.news-card,.technique-card,.wp-block-group.is-style-quitten-shadow,.wp-block-columns.is-style-quitten-shadow{
  transition:transform var(--ds-transition),box-shadow var(--ds-transition),border-color var(--ds-transition);
}
.work-group-card:hover,.news-card:hover,.technique-card:hover{transform:translateY(-3px);}
.work-group-copy,.news-card-copy,.technique-card-copy{padding:clamp(24px,3vw,38px);}

/* Images and captions */
.gallery-image img,.wp-block-image img,.wp-block-post-featured-image img{background:var(--paper-light);}
.gallery-viewer img,.work-group-image img,.news-card img{transition:transform 520ms cubic-bezier(.2,.7,.2,1),filter 320ms ease;}
.gallery-viewer:hover img,.work-group-image:hover img,.news-card:hover img{transform:scale(1.018);}
figcaption,.wp-element-caption,.gallery-meta{font-family:var(--corporate-regular-font);font-size:13px;line-height:1.45;color:var(--muted);}

/* Footer refinement */
.site-footer{gap:32px;padding-top:clamp(54px,7vw,90px);padding-bottom:clamp(34px,5vw,58px);border-top:1px solid color-mix(in srgb,var(--gold) 34%,transparent);}
.footer-links a,.footer-contact,.copyright{font-family:var(--corporate-regular-font);letter-spacing:.04em;}
.footer-links a{transition:color var(--ds-transition);}

/* Mobile rhythm and touch targets */
@media(max-width:780px){
  :root{--section-space:76px;}
  .gallery-section,.technique-section,.news-section{padding-left:22px;padding-right:22px;}
  .button,.wp-element-button,.wp-block-button__link,input[type="submit"],button[type="submit"],.ff-btn,.wpforms-submit,.wpcf7-submit{min-height:48px;padding-inline:22px!important;}
  .entry-content{font-size:17px;line-height:1.68;}
  .site-footer{padding-inline:22px;}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}}
