/* Proposed finishing layer for review. Load after styles.css to activate.
   Existing Pygio palette, logo, bilingual copy and motion are preserved. */

/* Stronger chapter changes: four services, one commitment, one clear next step. */
.hero .guarantee-years { color:var(--orange); font-size:clamp(46px,6vw,82px); font-weight:600; letter-spacing:-.055em; line-height:1.1; }
.hero-guarantee-terms { display:inline-block; color:#555; font-size:12px; line-height:1.6; margin:12px auto 22px; text-underline-offset:4px; }
.hero .hero-actions { margin-top:10px; }
@media(max-width:640px) {
  .hero { padding-top:50px; }
  .hero h2 { margin-top:22px; font-size:25px; line-height:1.35; }
  .hero .guarantee-years { font-size:46px; }
  .hero-guarantee-terms { font-size:12px; max-width:290px; margin-bottom:18px; }
}
#services { background:var(--ink); color:#fff; }
#services .eyebrow, #services h2, #services h3 { color:#fff; }
#services .section-head h2 { font-weight:500; }
#services .section-head p, #services .service-row p { color:#cecece; }
#services .scope-note { color:#bdbdbd; }
#services .service-list, #services .service-row { border-color:#484848; }
#services .service-number, #services .arrow { color:var(--orange); }
#services .service-row { padding-top:34px; padding-bottom:34px; }
#services .service-row:hover { background:#ffffff06; }
#services .service-row h3 { font-weight:500; }
#approach .photo-copy h2, .who-intro h2 { font-weight:500; }
#approach .photo-grid img { height:540px; }

.trust-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:60px; }
.trust-layout > *, .guarantee-pane > *, .feedback-preview,
.feedback-preview .feedback-carousel, .feedback-preview .feedback-slide { min-width:0; }
.guarantee-pane { background:var(--orange); padding:35px; }
.guarantee-pane h2 { font-weight:500; overflow-wrap:anywhere; }
.guarantee-pane .compact-ten, .guarantee-pane .compact-ten span,
.guarantee-pane > p, .guarantee-pane .scope-note { color:var(--ink); }
.guarantee-pane .eyebrow:before { background:var(--ink); }
.guarantee-pane .text-link { text-align:left; }
.feedback-preview .feedback-footer { font-size:12px; line-height:1.65; }
.feedback-preview .review-demo-card { max-width:100%; }
.review-persona > div { min-width:0; }
.review-persona-name { overflow-wrap:anywhere; }

#contact { background:var(--orange); }
#contact .eyebrow:before { background:var(--ink); }
#contact .assessment-heading h2 { font-weight:500; }
#contact .assessment-heading > p,
#contact .assessment-area-column > .journey-step-label,
#contact .journey-file-note, #contact .journey-area-actions > span,
#contact .ai-photo-body > p, #contact .ai-availability,
#contact .ai-photo-body > .consent { color:var(--ink); }
#contact .assessment-details-column {
  background:#fff; padding:30px; border:0; border-radius:8px;
}
#contact .journey-area { background:#fff; border-color:#0003; }
#contact .journey-area-actions > .button,
#contact .assessment-details-column > .button.primary {
  background:var(--ink); color:#fff; border-color:var(--ink);
}
#contact .journey-area-actions > .button:hover,
#contact .assessment-details-column > .button.primary:hover { background:#333; }
#contact .ai-photo-panel { border-color:#1d1d1d66; }
#contact .ai-photo-body .text-link { color:var(--ink); }
#contact .journey-area-actions > span, #contact .journey-file-note { font-size:12px; }
#contact .ai-label-stack .ai-availability { font-size:12px!important; }
#contact .assessment-details-column .form-note,
#contact .journey-share-box > p { font-size:12px; }
#contact .assessment-details-column :focus-visible,
#contact .journey-area :focus-visible { outline-color:var(--ink); }
#contact > .wrap > .eyebrow { font-weight:800; }

@media (max-width:1050px) {
  .trust-layout { gap:35px; }
  .guarantee-pane { padding:28px; }
  #contact .assessment-details-column { padding:24px; }
}

@media (max-width:780px) {
  .trust-layout { grid-template-columns:minmax(0,1fr); }
  .guarantee-pane { display:block; }
  .guarantee-pane .compact-ten { margin:25px 0; }
  .guarantee-pane h2, .guarantee-pane > p, .guarantee-pane > .text-link {
    grid-column:auto; max-width:100%;
  }
  .guarantee-pane h2 { font-size:clamp(27px,5.7vw,42px); line-height:1.3; }
  .guarantee-pane .compact-ten { font-size:112px; }
  .guarantee-pane .compact-ten span { max-width:none; font-size:10px; }
  #contact .assessment-details-column { position:static; }
}

@media (max-width:640px) {
  /* Long Afrikaans words must wrap inside the layout, rather than widen it. */
  .trust-layout { width:calc(100% - 44px); gap:35px; }
  .guarantee-pane { padding:26px 23px; }
  .guarantee-pane h2 { margin-top:22px; font-size:27px; }
  .guarantee-pane > p { font-size:15px; }
  .guarantee-pane .scope-note { font-size:12px; }
  .guarantee-pane .text-link { min-height:44px; font-size:13px; }
  .feedback-preview h2 { font-size:25px; overflow-wrap:anywhere; }
  .feedback-preview .section-head > p { font-size:14px; }
  .feedback-preview .review-demo-card { padding:20px; min-height:0; }
  .feedback-preview .feedback-mock-label,
  .feedback-preview .mock-notice,
  .review-rating-label { font-size:12px; line-height:1.6; }
  .review-demo-card .feedback-topic, .review-preview-date,
  .review-demo-suffix { font-size:12px; }
  .feedback-controls { flex-wrap:wrap; gap:15px; }
  .feedback-controls > span { flex:1; min-width:100px; font-size:11px; }
  .carousel-arrow { width:48px; height:48px; }

  #services .section-head h2 { font-size:34px; }
  #services .service-row { padding:27px 0; }
  #services .service-row { grid-template-columns:28px minmax(0,1fr) 23px; }
  #services .service-row > * { min-width:0; }
  #services .service-row h3 { overflow-wrap:anywhere; }
  #services .service-row h3 { font-size:19px; line-height:1.45; }
  #services .service-row p { font-size:15px; }
  #approach .photo-grid img { height:390px; }
  #approach .image-credit { font-size:12px; }
  #approach .photo-copy h2, .who-intro h2 { font-size:34px; }
  .hero h2 { font-size:26px; line-height:1.4; }
  .hero .hero-actions { width:100%; max-width:420px; }
  .hero .hero-actions > .button.primary { width:100%; min-height:54px; font-size:15px; }
  .hero .hero-actions > .text-link { min-height:44px; }

  /* Touch controls and 16px field text keep the phone journey easy to use. */
  .menu-button { width:44px; height:44px; flex-shrink:0; }
  .language button { min-height:44px; min-width:32px; padding:8px 5px; }
  .language { gap:1px; }
  .nav-actions { gap:7px; }
  .nav-bar { gap:10px; }
  #contact .assessment-heading h2 { font-size:35px; line-height:1.28; }
  #contact .assessment-heading > p { font-size:16px; }
  .journey-area > summary { min-height:64px; }
  .journey-area-location { max-width:100px; }
  .journey-area .field input, .journey-area .field select,
  .journey-area .field textarea,
  .assessment-details-column .field input,
  .assessment-details-column .field select,
  .assessment-details-column .field textarea { font-size:16px; min-height:48px; }
  .journey-area .field label, .area-signs legend,
  .assessment-details-column .field label { font-size:13px; }
  .area-sign-options { gap:6px 12px; }
  .area-sign-options label {
    min-height:44px; align-items:center; font-size:13px;
    padding:6px 0; gap:9px; line-height:1.4;
  }
  .area-sign-options input { width:19px; height:19px; margin:0; }
  .area-photo-upload h3 { font-size:13px; }
  .area-photo-upload p { font-size:12px; }
  .photo-choose-button, .journey-area-actions > .button,
  .ai-photo-body > .button { min-height:48px; font-size:13px; }
  .journey-area-actions { flex-wrap:wrap; align-items:center; }
  .journey-area-actions > span { max-width:130px; }
  .journey-photo-previews { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey-photo > img { height:125px; }
  .journey-photo > button { width:44px; height:44px; font-size:26px; }
  .journey-photo > div > span, .journey-photo small { font-size:11px; }
  .area-remove-button { min-height:44px; padding:10px 0; font-size:13px; }
  .ai-photo-body .text-link, .journey-share-box > .text-link,
  .journey-checklist, .intake-checklist-link { min-height:44px; font-size:13px; }
  .ai-photo-body > p, .ai-photo-body .consent,
  .journey-share-box > p, .assessment-contact-note > p,
  .intake-disclosure > .form-note { font-size:12px; }
  .ai-photo-body .consent input, .assessment-details-column .consent input {
    width:20px; height:20px;
  }
  #contact .assessment-details-column { padding:25px 20px; }
  .assessment-details-column > .button.primary { min-height:54px; font-size:14px; }
  .assessment-contact-note > a { display:inline-flex; align-items:center; min-height:44px; }
  .intake-disclosure > summary { font-size:13px; min-height:52px; }
  .intake-disclosure .form-grid { grid-template-columns:minmax(0,1fr); }
  .site-footer .footer-nav { gap:0 20px; }
  .footer-nav a, .footer-bottom button { display:inline-flex; min-height:44px; align-items:center; }
  .footer-bottom button { font-size:12px; }
}

@media (max-width:370px) {
  .brand-logo-frame { width:160px; }
  #contact .assessment-heading h2 { font-size:32px; }
  .guarantee-pane h2 { font-size:25px; }
  .journey-area-location { max-width:90px; }
}

/* Assessment layout: resilient panel structure on desktop and phones. */
#contact .assessment-workflow {
  display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);
  gap:42px; align-items:start;
}
#contact .journey-step-label { font-size:12px; line-height:1.6; margin-bottom:18px; }
#contact .journey-area {
  display:block; background:#fff; border:1px solid #1d1d1d30;
  border-radius:10px; margin-bottom:18px; overflow:hidden; min-width:0;
}
#contact .journey-area > summary {
  display:grid; grid-template-columns:36px minmax(0,1fr) 30px;
  grid-template-rows:auto auto; align-items:center; column-gap:13px; row-gap:3px;
  padding:20px 24px; min-height:79px; cursor:pointer; list-style:none;
}
#contact .journey-area > summary::-webkit-details-marker { display:none; }
#contact .journey-area-number {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; background:#fff0e9; color:#9b3210;
  border-radius:50%; grid-column:1; grid-row:1 / span 2; font-size:11px;
}
#contact .journey-area > summary > span:nth-child(2) {
  grid-column:2; grid-row:1; font-size:17px; font-weight:800; line-height:1.4;
}
#contact .journey-area-location {
  grid-column:2; grid-row:2; display:block; max-width:none;
  min-width:0; font-size:12px; line-height:1.5; color:#666;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
#contact .journey-area-location:empty { display:none; }
#contact .journey-expand {
  grid-column:3; grid-row:1 / span 2; display:flex; align-items:center;
  justify-content:center; width:30px; height:30px; margin:0;
  font-size:28px; line-height:1; color:var(--ink);
}
#contact .journey-area[open] > summary { border-bottom:1px solid #e0e0e0; }
#contact .journey-area-body { padding:24px; }
#contact .journey-area .form-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 20px;
}
#contact .journey-area .form-grid > * { min-width:0; }
#contact .journey-area .form-grid > .field:first-child { grid-column:1 / -1; order:1; }
#contact .journey-area .form-grid > .field:nth-child(2) { order:2; }
#contact .journey-area .form-grid > .field:nth-child(4) { order:3; }
#contact .journey-area .form-grid > .field:nth-child(5) { grid-column:1 / -1; order:5; }
#contact .journey-area .field { display:flex; flex-direction:column; gap:9px; }
#contact .journey-area .field label { display:block; font-size:13px; line-height:1.5; font-weight:800; }
#contact .journey-area .field input,
#contact .journey-area .field select,
#contact .journey-area .field textarea {
  display:block; width:100%; min-width:0; min-height:49px;
  border:1px solid #c9c9c9; border-radius:5px; background:#fafafa;
  padding:12px; color:var(--ink); font-size:16px; line-height:1.5;
}
#contact .journey-area .field textarea { min-height:96px; resize:vertical; }
#contact .journey-area .field input:focus,
#contact .journey-area .field select:focus,
#contact .journey-area .field textarea:focus { border-color:var(--ink); background:#fff; }
#contact .journey-area .area-signs {
  display:block; grid-column:1 / -1; order:4; min-inline-size:0;
  width:100%; margin:0; padding:0; border:0;
}
#contact .area-signs legend {
  display:block; width:100%; padding:0; margin:0 0 12px;
  font-size:13px; line-height:1.5; font-weight:800;
}
#contact .area-sign-options {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
#contact .area-sign-options label {
  display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center;
  gap:10px; min-height:57px; width:100%; padding:12px;
  border:1px solid #d4d4d4; border-radius:5px; background:#f7f7f7;
  font-size:13px; line-height:1.45; color:#3b3b3b; cursor:pointer;
}
#contact .area-sign-options label:hover { border-color:#777; background:#fff; }
#contact .area-sign-options label:has(input:checked) { border-color:#b43e13; background:#fff0e9; }
#contact .area-sign-options label:focus-within { outline:2px solid var(--ink); outline-offset:2px; }
#contact .area-sign-options input {
  width:20px; height:20px; margin:0; accent-color:#b43e13; flex-shrink:0;
}
#contact .area-sign-options label > span { display:block; min-width:0; overflow-wrap:anywhere; }
#contact .area-photo-upload {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  gap:20px; margin-top:25px; padding:20px;
  background:#f4f4f4; border:1px dashed #aaa; border-radius:6px;
}
#contact .area-photo-upload h3 { font-size:14px; line-height:1.4; margin:0 0 7px; }
#contact .area-photo-upload p { font-size:12px; line-height:1.65; max-width:100%; }
#contact .photo-choose-button {
  display:inline-flex; gap:14px; min-height:48px; padding:12px 16px;
  background:#fff; border-color:var(--ink); color:var(--ink); font-size:13px;
}
#contact .photo-choose-button:hover { background:var(--ink); color:#fff; }
#contact .journey-photo-previews { margin-top:18px; }
#contact .journey-area-actions { gap:18px; align-items:center; }
#contact .journey-area-actions > .button { min-height:48px; }
#contact .journey-area-actions > span { font-size:12px; line-height:1.6; }
#contact .assessment-details-column > .form-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
#contact .assessment-details-column .field label { line-height:1.5; font-size:13px; }
#contact .assessment-details-column .field input,
#contact .assessment-details-column .field select,
#contact .assessment-details-column .field textarea { min-height:48px; font-size:16px; }

@media(max-width:1100px) and (min-width:901px) {
  #contact .assessment-workflow { gap:28px; }
  #contact .journey-area > summary { padding:18px; }
  #contact .journey-area-body { padding:20px; }
  #contact .area-sign-options { grid-template-columns:minmax(0,1fr); }
  #contact .area-photo-upload { grid-template-columns:minmax(0,1fr); gap:15px; }
  #contact .photo-choose-button { justify-self:start; }
}
@media(max-width:900px) {
  #contact .assessment-workflow { grid-template-columns:minmax(0,1fr); gap:35px; }
  #contact .assessment-details-column { position:static; }
  #contact .journey-area-location { max-width:none; }
}
@media(max-width:640px) {
  #contact .journey-area > summary {
    grid-template-columns:32px minmax(0,1fr) 28px; gap:3px 11px;
    padding:18px 16px; min-height:76px;
  }
  #contact .journey-area-number { width:32px; height:32px; }
  #contact .journey-area > summary > span:nth-child(2) { font-size:16px; }
  #contact .journey-area-body { padding:20px 16px; }
  #contact .journey-area .form-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  #contact .journey-area .form-grid > * { grid-column:1 / -1; }
  #contact .area-sign-options { grid-template-columns:minmax(0,1fr); gap:9px; }
  #contact .area-sign-options label { min-height:52px; padding:12px; font-size:14px; }
  #contact .area-photo-upload { grid-template-columns:minmax(0,1fr); padding:17px; gap:16px; }
  #contact .photo-choose-button { justify-self:stretch; justify-content:space-between; }
  #contact .journey-area-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  #contact .journey-area-actions > .button { justify-content:space-between; width:100%; }
  #contact .journey-area-actions > span { max-width:100%; text-align:left; }
  #contact .assessment-details-column { padding:25px 20px; }
}



.feedback-mock-label,.mock-notice,.review-demo-suffix,.review-rating-label,.feedback-footer,.feedback-topic,.review-preview-date,.feedback-preview .section-head > p{display:none!important}
.review-disclosure{font-size:14px;line-height:1.7;padding:24px 0;border-top:1px solid #ccc;color:#333;max-width:900px;margin-top:30px}.review-persona-name{font-weight:800}

.feedback-mock-label,.mock-notice,.review-demo-suffix,.review-rating-label,.feedback-footer,.feedback-topic,.review-preview-date,.feedback-preview .section-head > p{display:none!important}
.review-disclosure{font-size:14px;line-height:1.7;padding:24px 0;border-top:1px solid #ccc;color:#333;max-width:900px;margin-top:30px}.review-persona-name{font-weight:800}

.gallery-home{padding:100px 0;background:#f0f0ee}.gallery-home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:center}.gallery-home h2{font-size:clamp(38px,4.5vw,70px);font-weight:500;line-height:1.2;margin:22px 0}.gallery-home p{font-size:17px;line-height:1.75;max-width:490px;margin-bottom:28px}.gallery-home-image{display:block;min-width:0}.gallery-home-image img{width:100%;height:390px;object-fit:cover;display:block}.gallery-disclosure{font-size:14px;line-height:1.7;color:#333;max-width:900px;margin:16px 0 28px}@media(max-width:780px){.gallery-home{padding:65px 0}.gallery-home-layout{grid-template-columns:minmax(0,1fr);gap:35px}.gallery-home-image img{height:280px}.gallery-home .text-link{min-height:48px}.gallery-home h2{font-size:40px}.gallery-home p{font-size:16px}}
/* Match the existing logo crop to the narrower phone header frame. */
@media(max-width:380px){.nav-bar .brand-logo-frame{width:160px;height:44px}.nav-bar .brand-logo-frame img{width:188px;left:-14px;top:-26px}}

/* Measured accessibility fixes from the PageSpeed audit. */
.language button[aria-pressed="false"]{color:#595959;opacity:1}
#contact .area-photo-upload h3{font-family:inherit;font-weight:700;letter-spacing:normal}
