/* V10 · GL&AS × CHIARAMONTE · Symmetrical Section Morph / Safe-Clearance Reveal
   Normal flow only: no section pinning, no sticky stacking, no negative margins.
   The next section projects an animated, sculpted edge only into a deliberately
   reserved clearance area of the previous section, never over its content. */
html,body{scroll-snap-type:none!important;}
html{scroll-padding-top:112px;}
main > section{scroll-snap-align:none!important;}

/* Inserted after the previous section's content. This is the dedicated safe area
   that the subsequent edge may occupy; it also gives the typography breathing room. */
main > section > .section-transition-clearance{
  display:block!important;position:relative!important;z-index:0!important;
  width:100%;height:var(--seam-clearance,54px);min-height:0;pointer-events:none;
  flex:0 0 var(--seam-clearance,54px);visibility:visible;clear:both;
}

main > section.cover-chapter{
  --edge-fill:#f7f2e8;--edge-accent:#b99658;
  --edge-reveal:0;--edge-lift:0px;
  margin-top:0!important;position:relative;isolation:isolate;
  z-index:var(--cover-order,2);
  scroll-margin-top:112px;
  box-shadow:none!important;
}
/* The edge sits across the reserved gap and the first few pixels of the next
   section. No labels, plaques or badges float over content. */
.section-cover-edge{
  position:absolute;left:0;right:0;top:-113px;
  width:100%;height:152px;z-index:4;
  pointer-events:none;overflow:visible;
  filter:drop-shadow(0 -5px 8px rgba(7,18,35,.12));
  will-change:transform;
  transform:translate3d(0,var(--edge-lift),0);
}
.section-cover-edge svg {display:block;width:100%;height:100%;overflow:visible;}
.section-cover-edge .cover-surface{fill:var(--edge-fill);}
.section-cover-edge .cover-stroke{fill:none;stroke:var(--edge-accent);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;opacity:.92;}
.section-cover-edge .cover-stroke-soft{fill:none;stroke:#ffebbe;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.38;}

.cover-chapter.cover-ink{--edge-fill:#112441;--edge-accent:#c9a55e;}
.cover-chapter.cover-ivory{--edge-fill:#f9f6ee;--edge-accent:#b29253;}
.cover-chapter.cover-parchment{--edge-fill:#efe8db;--edge-accent:#ae844c;}
.cover-chapter.cover-cream{--edge-fill:#f2eadc;--edge-accent:#ae8951;}
.cover-chapter.cover-milk{--edge-fill:#faf7f0;--edge-accent:#b5965e;}
.cover-chapter.cover-slate{--edge-fill:#122844;--edge-accent:#d7b773;}
.cover-chapter.cover-chef{--edge-fill:#102441;--edge-accent:#d6bc83;}
.cover-chapter.cover-contact{--edge-fill:#f4eddf;--edge-accent:#bb9555;}

/* Any section's top text is pushed beyond its moving edge and clear of it.
   This also prevents the old section numbers from colliding with the silhouette. */
main > section.cover-chapter{padding-top:max(148px, var(--section-padding-top, 0px))!important;}
main > section.cover-chapter.bridge-section{padding-top:164px!important;}
main > section.cover-chapter.contact-section{padding-top:175px!important;}
main > section.cover-chapter > :not(.section-cover-edge){position:relative;z-index:5;}

/* Disable legacy hairlines that clash with the new shaped, moving edges. */
main > .cover-chapter.advantages-section::before,
main > .cover-chapter.training-section::before,
main > .cover-chapter.cases-section::before {display:none!important;}
/* Bridge's giant decorative glyph is clipped to the chapter's own area. */
main > .bridge-section.cover-chapter{overflow:visible!important;}
main > .bridge-section.cover-chapter::before{display:none!important;}

@media(min-width:1440px){
 main > section > .section-transition-clearance{height:var(--seam-clearance,54px);flex-basis:var(--seam-clearance,54px);}
 main > section.cover-chapter{padding-top:max(164px, var(--section-padding-top, 0px))!important;}
 main > section.cover-chapter.bridge-section{padding-top:178px!important;}
 main > section.cover-chapter.contact-section{padding-top:190px!important;}
}
@media(max-width:980px){
 html{scroll-padding-top:94px;}
 main > section > .section-transition-clearance{height:var(--seam-clearance,38px);flex-basis:var(--seam-clearance,38px);}
 main > section.cover-chapter{padding-top:126px!important;scroll-margin-top:94px;}
 main > section.cover-chapter.bridge-section{padding-top:139px!important;}
 main > section.cover-chapter.contact-section{padding-top:150px!important;}
 .section-cover-edge{height:112px;top:-82px;filter:drop-shadow(0 -3px 5px rgba(7,18,35,.14));}
}
@media(max-width:680px){
 html{scroll-padding-top:86px;}
 main > section > .section-transition-clearance{height:var(--seam-clearance,25px);flex-basis:var(--seam-clearance,25px);}
 main > section.cover-chapter{padding-top:105px!important;scroll-margin-top:86px;}
 main > section.cover-chapter.bridge-section{padding-top:120px!important;}
 main > section.cover-chapter.contact-section{padding-top:123px!important;}
 .section-cover-edge{height:83px;top:-63px;filter:drop-shadow(0 -3px 5px rgba(7,18,35,.12));}
}
@media(prefers-reduced-motion:reduce){
 .section-cover-edge {transform:none!important;will-change:auto!important;}
}

/* Retained V6 functional contact/mobile menu styles. */
/* Functional contact cards, using the existing ivory/navy/gold language. */
.contact-meta-heading { display:block;font-size:10px;font-weight:800;letter-spacing:.15em;color:#a27f45;margin-bottom:14px; }
.contact-methods { display:grid;grid-template-columns:1fr;gap:12px;max-width:485px; }
.contact-method { border:1px solid #d8c9ab;background:#fdf9f0;box-shadow:4px 4px 0 #c8ae7b24;
 border-radius:11px;padding:15px 16px 13px;min-width:0; }
.contact-method-top { display:flex;gap:12px;align-items:center; }
.contact-method-icon { width:36px;height:36px;display:grid;place-items:center;background:#eae0c9;color:#8e713f;border-radius:9px;flex:0 0 36px; }
.contact-method-icon svg {width:19px;height:19px;}
.contact-method-content {min-width:0;display:grid;gap:3px;}
.contact-method-label {font-family:var(--font);font-size:9px;font-weight:850;letter-spacing:.12em;color:#9b7a42;}
.contact-method-value {font-family:var(--font);font-size:clamp(12px,1vw,14px)!important;line-height:1.6!important;color:#12243d!important;font-weight:750!important;overflow-wrap:anywhere;text-decoration:none!important;}
.contact-method-value:hover {color:#a78343!important;text-decoration:underline!important;}
.contact-method-actions {display:flex;flex-wrap:wrap;gap:7px;padding-left:48px;margin-top:11px;}
.contact-action {border:1px solid #d4bf99!important;background:#f3ead7!important;color:#192d44!important;
  font:750 11px/1 var(--font)!important;display:inline-flex!important;align-items:center;justify-content:center;
  gap:7px;padding:9px 11px;border-radius:7px;min-height:34px;cursor:pointer;text-decoration:none!important;
  transition:background .2s,transform .2s,border-color .2s;}
.contact-action svg {height:15px;width:15px; flex:none;}
.contact-action.primary {background:#122640!important;border-color:#122640!important;color:#f7e6be!important;}
.contact-action:hover,.contact-action:focus-visible {transform:translateY(-2px);border-color:#9b7942!important;box-shadow:0 4px 12px #12264012;}
.contact-action:focus-visible,.mobile-menu-actions :focus-visible {outline:3px solid #b78d44;outline-offset:2px;}
.contact-location-address {margin-top:19px!important;max-width:485px;}

/* Contacts live directly within the hamburger menu (not a separate modal). */
.mobile-menu-contacts {display:none;}
@media(max-width:980px){
 .main-nav {max-height:calc(100dvh - 92px);overflow-y:auto;overscroll-behavior:contain;}
 .mobile-menu-contacts { display:grid;gap:12px;padding:20px 0 14px;margin-top:12px;border-top:1px solid #d4bd94; }
 .mobile-menu-eyebrow {font:850 9px/1.4 var(--font);letter-spacing:.16em;color:#9e7c44;}
 .mobile-menu-contact {min-width:0;border:1px solid #d8c5a2;border-radius:11px;padding:13px;background:#fffaf0;display:grid;gap:9px;}
 .mobile-menu-contact>div:first-child {display:grid;gap:5px;min-width:0;}
 .mobile-menu-contact small {font-size:10px;font-weight:700;color:#7a6e5a;}
 .mobile-menu-contact a:not(.mobile-menu-actions a) {font:750 12px/1.45 var(--font);color:#142843;text-decoration:none;overflow-wrap:anywhere;}
 .mobile-menu-actions {display:flex;gap:7px;}
 .mobile-menu-actions a,.mobile-menu-actions button {display:grid;place-items:center;height:36px;min-width:43px;padding:0 13px;
  background:#142844;color:#f3dca6;border:1px solid #ab8c55;border-radius:8px;cursor:pointer;}
 .mobile-menu-actions svg {width:17px;height:17px;}
}
@media(max-width:680px){
 .fold-transition {height:90px;top:-88px;perspective:790px;}
 .fold-transition.fold-hero {height:130px;top:-128px;perspective:900px;}
 .fold-leaf-brand {font-size:8px;gap:8px;letter-spacing:.1em;}
 .fold-leaf-brand:before,.fold-leaf-brand:after {width:19px;}
 .fold-hero .fold-leaf-brand {font-size:12px;}
 .fold-underlay span {font-size:8px;letter-spacing:.11em;}
 .fold-leaf::after {bottom:11px;}
 .contact-methods {gap:11px;}
 .contact-method {padding:13px;}
 .contact-method-actions {padding-left:0;gap:6px;}
 .contact-action {flex:1;min-width:0;padding:9px 7px;font-size:10px!important;}
 .contact-action svg {width:14px;height:14px;}
}
@media(max-width:370px){.contact-method-actions {flex-wrap:wrap}.contact-action{flex:none;min-width:78px}}
@media(prefers-reduced-motion:reduce){.fold-transition{display:none!important}.contact-action{transition:none}}
