/**
 * Alma Management — SEBS™  ·  Presentation layer  ·  v1.0.1 (RC polish)
 * Engineering by Sproutbean Engineering Studio using SEBS™
 *
 * Release-candidate visual polish. Values are matched to the approved prototype
 * stylesheet (type scale, spacing, column ratios, component treatments) and
 * keyed to the native blocks' stable .alma-* classes. No block markup, PHP,
 * pattern registration or Blocksy ownership is changed — presentation only.
 * Decoration is CSS (pseudo-elements/backgrounds), never empty blocks.
 */

/* ==========================================================================
   Self-hosted fonts (no external dependency)
   ========================================================================== */
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/CormorantGaramond.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('../fonts/CormorantGaramond-Italic.woff2') format('woff2');font-weight:300 500;font-style:italic;font-display:swap}
@font-face{font-family:'Jost';src:url('../fonts/Jost.woff2') format('woff2');font-weight:300 500;font-style:normal;font-display:swap}

/* ==========================================================================
   Design tokens  (colours bind to Blocksy palette with prototype fallbacks)
   ========================================================================== */
.alma-section,.editor-styles-wrapper .alma-section{
  --alma-bronze:var(--wp--preset--color--bronze,#9F7B59);
  --alma-bronze-text:var(--wp--preset--color--bronze-text,#6F5236);
  --alma-ink:var(--wp--preset--color--ink,#010101);
  --alma-ink-soft:var(--wp--preset--color--ink-soft,rgba(1,1,1,.66));
  --alma-paper:var(--wp--preset--color--white,#FFFFFF);
  --alma-tint:var(--wp--preset--color--tint,#F6F3EF);
  --alma-tint-line:rgba(159,123,89,.15);
  --alma-line:rgba(159,123,89,.28);
  --alma-hairline:rgba(159,123,89,.16);
  --alma-line-soft:rgba(1,1,1,.09);
  --alma-serif:'Cormorant Garamond',Georgia,serif;
  --alma-sans:'Jost',-apple-system,'Segoe UI',Arial,sans-serif;
}

/* ==========================================================================
   Base section + typography  (prototype: Cormorant 400 / lh 1.14 / -.005em)
   ========================================================================== */
.alma-section{position:relative;font-family:var(--alma-sans);color:var(--alma-ink-soft);isolation:isolate}
.alma-section .wp-block-heading{font-family:var(--alma-serif);color:var(--alma-ink);font-weight:400;line-height:1.14;letter-spacing:-.005em}
/* Base paragraphs inherit Blocksy global body typography (family/size/line-height/colour).
   The theme only overrides paragraph type for genuine exceptions below (lead, card, quote). */
.alma-section a{color:inherit}

/* Heading scale — matched to prototype */
.alma-hero h1.wp-block-heading{font-size:clamp(38px,4.8vw,66px);line-height:1.1}
.alma-section h2.wp-block-heading{font-size:clamp(26px,3vw,40px)}
.alma-section h3.wp-block-heading{font-size:clamp(19px,1.9vw,24px);font-weight:500;line-height:1.28}

/* ==========================================================================
   Eyebrow · rule · lead  (exact prototype values)
   ========================================================================== */
.alma-section .alma-eyebrow{font-family:var(--alma-sans);font-size:12px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--alma-bronze-text);margin-bottom:22px}
.alma-rule{width:52px;max-width:52px;height:1px;margin:26px 0;background:var(--alma-bronze);border:0;opacity:1}
.alma-section .alma-lead{font-size:clamp(18px,1.55vw,21px);line-height:1.85;font-weight:300;color:var(--alma-ink-soft);max-width:58ch}

/* ==========================================================================
   Buttons  (prototype: 12px / .22em / 16px 36px / 1px bronze)
   ========================================================================== */
.alma-btn .wp-block-button__link{display:inline-block;border:1px solid var(--alma-bronze);border-radius:0;font-family:var(--alma-sans);font-size:12px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;padding:16px 36px;transition:background .5s cubic-bezier(.4,0,.2,1),color .5s,border-color .5s}
.alma-btn-solid .wp-block-button__link{background:var(--alma-bronze);color:#fff}
.alma-btn-solid .wp-block-button__link:hover{background:var(--alma-ink);border-color:var(--alma-ink)}
.alma-btn-line .wp-block-button__link{background:transparent;color:var(--alma-ink)}
.alma-btn-line .wp-block-button__link:hover{background:var(--alma-bronze);color:#fff}

/* ==========================================================================
   Home hero  (prototype ratio 1fr 1.05fr; decoration is CSS only)
   ========================================================================== */
.alma-hero{overflow:clip}
.alma-hero-grid{align-items:center}
.alma-hero-grid.wp-block-columns{gap:clamp(36px,5vw,72px)}
.alma-hero-grid>.wp-block-column{flex-basis:0}
.alma-hero-grid>.wp-block-column:first-child{flex-grow:1}
.alma-hero-grid>.wp-block-column:last-child{flex-grow:1.05}
.alma-hero-copy,.alma-hero-visual{position:relative;z-index:1}
.alma-hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.alma-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 80% at 88% 6%,rgba(159,123,89,.10),transparent 60%)}
.alma-hero::after{content:"";position:absolute;left:-40px;bottom:-40px;width:min(30vw,360px);aspect-ratio:1;z-index:0;pointer-events:none;opacity:.12;
  background:url('../images/decorative/arcs.svg') no-repeat left bottom/contain}

/* ==========================================================================
   Editorial intro + splits  (prototype ratios: intro .85/1.15, split 1/1)
   ========================================================================== */
.alma-intro-grid.wp-block-columns{gap:clamp(36px,5vw,84px)}
.alma-intro-grid>.wp-block-column{flex-basis:0}
.alma-intro-grid>.wp-block-column:first-child{flex-grow:.85}
.alma-intro-grid>.wp-block-column:last-child{flex-grow:1.15}
.alma-intro-grid p+p{margin-top:20px}
.alma-editorial-img img{aspect-ratio:5/4;object-fit:cover;width:100%;display:block}
.alma-editorial-img{position:relative}
.alma-editorial-img::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(1,1,1,.06)}


/* ==========================================================================
   Service grid + cards  (prototype: icon 34–38 / title Cormorant ~24 / desc 16)
   ========================================================================== */
.alma-service-grid.wp-block-columns{gap:16px}
.alma-card{height:100%;padding:clamp(30px,3.4vw,48px);border:1px solid var(--alma-line-soft);background:var(--alma-paper);transition:border-color .5s cubic-bezier(.16,1,.3,1)}
.alma-card:hover{border-color:var(--alma-bronze)}
.alma-card .wp-block-heading{margin-top:20px;margin-bottom:12px;font-size:clamp(21px,1.7vw,24px);font-weight:400;line-height:1.28}
.alma-card p{font-size:16px;line-height:1.8;max-width:38ch}
.alma-icon img{width:36px;height:36px;object-fit:contain;display:block}

/* ==========================================================================
   Principles / values  (prototype value list)
   ========================================================================== */
.alma-section .alma-num{display:block;font-family:var(--alma-sans);font-size:.8rem;letter-spacing:.22em;color:var(--alma-bronze-text);margin-bottom:.45rem}
/* Value list — matched to prototype: small italic numeral, regular-weight Cormorant title, 15px desc */
.alma-section .alma-value-num{font-family:var(--alma-serif);font-style:italic;font-size:15px;font-weight:400;color:var(--alma-bronze)}
.alma-section .alma-value-title{font-family:var(--alma-serif);font-size:clamp(20px,2.1vw,26px);font-weight:400;color:var(--alma-ink);letter-spacing:0;margin-bottom:6px}
.alma-value-title strong{font-weight:400}
.alma-value .has-ink-soft-color{font-size:15px}
.alma-values .alma-value{margin-top:1.5rem;border-top:1px solid var(--alma-line);padding-top:1.5rem}

/* ==========================================================================
   Statement / quote band  (prototype: black band, italic Cormorant)
   ========================================================================== */
.alma-quote-section{background:var(--alma-ink);color:#fff;position:relative;overflow:clip}
.alma-quote-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
  background:url('../images/decorative/lines.svg') repeat;background-size:26px 26px}
.alma-quote-band{position:relative;z-index:1;text-align:center;max-width:52rem;margin-inline:auto}
.alma-quote-section .alma-eyebrow{color:#C9A783}
.alma-quote{border:0;padding:0;margin:1.5rem auto;max-width:24ch}
.alma-quote,.alma-quote p{font-family:var(--alma-serif);font-size:clamp(22px,2.7vw,36px);line-height:1.4;font-style:italic;font-weight:300;color:#fff}
.alma-quote p{margin:0}
.alma-quote-section .alma-btn-line .wp-block-button__link{border-color:rgba(255,255,255,.5);color:#fff}
.alma-quote-section .alma-btn-line .wp-block-button__link:hover{background:#fff;color:var(--alma-ink);border-color:#fff}
.alma-quote-section.alma-band-light{background:var(--alma-tint);color:var(--alma-ink)}
.alma-quote-section.alma-band-light .alma-quote,.alma-quote-section.alma-band-light .alma-quote p{color:var(--alma-ink)}
.alma-quote-section.alma-band-light .alma-eyebrow{color:var(--alma-bronze-text)}
.alma-quote-section.alma-band-light .alma-btn-line .wp-block-button__link{border-color:var(--alma-bronze);color:var(--alma-ink)}
.alma-dark-band{background:var(--alma-ink);color:#fff}
.alma-dark-band .wp-block-heading,.alma-dark-band p{color:#fff}

/* ==========================================================================
   Region band  (prototype: hairline dividers, Cormorant names, bronze pins)
   ========================================================================== */
.alma-region-band{gap:0;border:1px solid var(--alma-hairline)}
.alma-region-band.wp-block-columns{gap:0}
.alma-region-item{text-align:center;padding:clamp(34px,4vw,52px) 18px;border-left:1px solid var(--alma-hairline);transition:background .35s}
.alma-region-item:first-child{border-left:0}
.alma-region-item:hover{background:rgba(159,123,89,.05)}
.alma-region-item .alma-icon{display:flex;justify-content:center}
.alma-region-item .alma-icon img{width:34px;height:34px;margin-bottom:16px}
.alma-section .alma-region-name{font-family:var(--alma-serif);font-size:clamp(19px,1.9vw,23px);font-weight:500;color:var(--alma-ink);letter-spacing:.01em}

/* ==========================================================================
   People / team / bios
   ========================================================================== */
.alma-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}
.alma-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.alma-team .alma-portrait img{aspect-ratio:3/4}

/* ==========================================================================
   Contact  (prototype: centred, Cormorant 500 email, bronze underline)
   ========================================================================== */
.alma-contact-card{text-align:center;max-width:44rem;margin-inline:auto}
.alma-contact-card h2{margin-bottom:18px}
.alma-contact-card p{max-width:46ch;margin-inline:auto}
.alma-email-link a{font-family:var(--alma-serif);font-weight:500;font-size:clamp(19px,2.1vw,26px);color:var(--alma-ink);border-bottom:1px solid var(--alma-bronze);text-decoration:none;padding-bottom:4px;display:inline-block;transition:opacity .5s}
.alma-email-link a:hover{opacity:.62}

/* ==========================================================================
   Statistics
   ========================================================================== */
.alma-stat .wp-block-heading{font-family:var(--alma-serif);font-size:clamp(2.4rem,5vw,4rem);line-height:1;color:var(--alma-bronze)}

/* ==========================================================================
   Gallery · partners · logo wall
   ========================================================================== */
.alma-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.alma-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.alma-logo-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--alma-line);border:1px solid var(--alma-line)}
.alma-logo-wall .alma-logo{background:var(--alma-paper);display:flex;align-items:center;justify-content:center;padding:28px;min-height:120px}
.alma-logo-wall .alma-logo img{max-height:44px;width:auto;opacity:.7;filter:grayscale(1);transition:opacity .3s,filter .3s}
.alma-logo-wall .alma-logo:hover img{opacity:1;filter:grayscale(0)}
.alma-partner-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:center}

/* ==========================================================================
   Sub-page title band  (prototype .page-hero)
   ========================================================================== */
.alma-page-title{border-bottom:1px solid var(--alma-line-soft)}
.alma-page-title h1.wp-block-heading{font-size:clamp(40px,4.8vw,68px);line-height:1.1}

/* Sub-page title band fix — the patterns reuse .alma-hero for sub-page titles
   (a hero with NO .alma-hero-grid). Render those as a compact, anchored title
   band: trim the stacked padding, drop the hero decoration, hide the stray
   separator. The real homepage hero (which has .alma-hero-grid) is unaffected. */
.alma-section.alma-hero:not(:has(.alma-hero-grid)){padding-top:clamp(48px,6vw,88px)!important;padding-bottom:clamp(26px,3vw,40px)!important;border-bottom:1px solid var(--alma-line-soft)}
.alma-section.alma-hero:not(:has(.alma-hero-grid))::before,
.alma-section.alma-hero:not(:has(.alma-hero-grid))::after{display:none}
.alma-section.alma-hero:not(:has(.alma-hero-grid)) .alma-rule{display:none}
.alma-section.alma-hero:not(:has(.alma-hero-grid)) + .alma-section{padding-top:clamp(48px,6vw,84px)!important}

/* ==========================================================================
   Utilities
   ========================================================================== */
.alma-signature{max-width:200px;opacity:.9}
.alma-decorative-divider{max-width:88px;margin-inline:auto;opacity:.5}
.alma-wash{background-size:cover;background-position:center}
.pattern-lines{background-image:url('../images/decorative/lines.svg');background-size:28px 28px;background-repeat:repeat}
/* [SAMPLE] notices are editor-only (re-shown in editor.css); never on the front end */
.alma-sample-note{display:none}
.alma-grid-4,.alma-grid-3,.alma-grid-2{display:grid;gap:16px}
.alma-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.alma-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.alma-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:900px){
  .alma-grid-4,.alma-grid-3,.alma-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alma-team,.alma-partner-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alma-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .alma-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:781px){
  /* WordPress/Gutenberg stack point — columns stack; reset the ratio overrides */
  .alma-hero-grid>.wp-block-column,.alma-intro-grid>.wp-block-column{flex-grow:1;flex-basis:auto}
  .alma-hero::after{width:44vw;opacity:.08}
  .alma-region-item{border-left:0}
}
@media(max-width:640px){
  .alma-grid-4,.alma-grid-3,.alma-grid-2,.alma-gallery,.alma-team,.alma-partner-row{grid-template-columns:1fr}
  .alma-card{padding:26px}
  .alma-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alma-region-item{border-left:0;border-bottom:1px solid var(--alma-hairline)}
  .alma-region-item:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ==========================================================================
   Decorative shape overlays  (prototype .deco system, class-based)
   Add ONE shape class to any .alma-section. Works on plain sections AND on
   heroes/title bands: the layer uses high specificity + full resets so it
   overrides the hero's own ::after and the title-band's display:none.
   Place the SVGs in assets/images/decorative/.
   ========================================================================== */
.alma-section[class*="alma-deco-"]{position:relative;overflow:clip;isolation:isolate}
.alma-section[class*="alma-deco-"] > *{position:relative;z-index:1}
.alma-section[class*="alma-deco-"]::after{content:""!important;display:block!important;position:absolute;z-index:0;pointer-events:none;inset:auto;transform:none;background:none;background-repeat:no-repeat}
.alma-section.alma-deco-arcs::after{background-image:url('../images/decorative/arc-set.svg');background-size:contain;right:-6%;top:4%;width:min(400px,40vw);aspect-ratio:1;opacity:.45}
.alma-section.alma-deco-rings::after{background-image:url('../images/decorative/rings.svg');background-size:contain;right:-7%;top:-6%;width:min(300px,32vw);aspect-ratio:1;opacity:.5}
.alma-section.alma-deco-arches::after{background-image:url('../images/decorative/arches.svg');background-size:contain;right:-3%;top:50%;transform:translateY(-50%);width:min(400px,40vw);aspect-ratio:6/5;opacity:.5}
.alma-section.alma-deco-contours::after{background-image:url('../images/decorative/contours.svg');background-size:cover;left:0;bottom:0;width:100%;height:200px;opacity:.45}
.alma-section.alma-deco-flow::after{background-image:url('../images/decorative/flowlines.svg');background-size:cover;background-position:center bottom;left:-4%;right:-4%;bottom:-2%;width:108%;height:clamp(160px,22vw,300px);opacity:.6}
.alma-section.alma-dark-band.alma-deco-flow::after,.alma-section.alma-quote-section.alma-deco-flow::after{opacity:.5}
@media(max-width:640px){.alma-section.alma-deco-rings::after,.alma-section.alma-deco-arcs::after{opacity:.3}}
