/* About Minimalism */
.page-am{--W:var(--cream);--K:var(--ink);--rw:var(--line-warm);--rk:rgba(255,255,255,.1);--mw:#9a9895;--mk:rgba(255,255,255,.32);--fw:var(--cream-2);--pad-x:56px;--pad-y:110px;--sb:52px}
body.page-am{background:var(--W);color:var(--K);-webkit-font-smoothing:antialiased}
.ey{font-family:var(--font-body);font-size:var(--eyebrow-size);font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--K)}
.sb-col{display:flex;align-items:center;justify-content:center}
.sb-col span{font-size:var(--eyebrow-size);letter-spacing:.28em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.sb-w{border-right:1px solid var(--rw)}.sb-w span{color:var(--mw)}
.sb-k{border-right:1px solid var(--rk)}.sb-k span{color:var(--mk)}
.sec-hdr{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding-bottom:36px;margin-bottom:80px;border-bottom:1px solid var(--rw)}
.sec-hdr.on-k{border-bottom-color:var(--rk)}
.sec-num{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.24em;color:var(--K)}
.sec-num.on-k{color:var(--mk)}
.sec-eyebrow{display:flex;align-items:center;gap:14px;margin:14px 0 24px}
.sec-eyebrow::before{content:"";width:32px;height:1px;background:var(--K)}
.sec-eyebrow.on-k::before{background:var(--mk)}
.sec-ttl{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);letter-spacing:-0.018em;line-height:1.08}
.sec-ttl em{font-family:var(--font-body);font-weight:300;font-style:italic;color:var(--text-3)}
.sec-ttl.on-k{color:#fff}
.sec-meta{font-size:var(--eyebrow-size);letter-spacing:.22em;text-transform:uppercase;color:var(--mw);text-align:right;line-height:1.7;max-width:240px}
.am-hero{min-height:100vh;background:var(--W);position:relative;overflow:hidden;display:flex;flex-direction:column}
.am-hero-frame{display:grid;grid-template-columns:var(--sb) 1fr var(--sb);flex:1}
.hvl{border-right:1px solid var(--rw);display:flex;align-items:center;justify-content:center}
.hvr{border-left:1px solid var(--rw);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:48px;gap:14px}
.hvr .pulse{width:5px;height:5px;border-radius:50%;background:var(--K);animation:amPulse 2.4s ease-in-out infinite}
.hvr span{font-size:var(--eyebrow-size);letter-spacing:.28em;text-transform:uppercase;color:var(--mw);writing-mode:vertical-rl;transform:rotate(180deg)}
.am-hero-body{padding:80px var(--pad-x) 60px;display:grid;grid-template-columns:1fr;align-content:center;flex:1;position:relative}
.am-hero-inner{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.am-hero-text{position:relative;z-index:2}
.h-eye{margin-bottom:36px;opacity:0;animation:amRiseUp .7s .2s forwards}
.am-hero-rule{display:block;width:0;height:1px;background:var(--K);margin:42px 0 36px;animation:amGrowW 1s 1s forwards}
.am-hero-bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.eq-wrap{background:#fff;border-top:1px solid var(--rw)}
.eq-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.eq-body{padding:var(--pad-y) var(--pad-x)}
.eq-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:.18em;font-family:var(--font-display);font-weight:700;font-size:clamp(49px,8.1vw,133px);line-height:1.08;letter-spacing:-0.02em;margin-bottom:80px}
.eq-strike{position:relative;color:var(--muted-2);transition:color .9s ease}
.eq-strike::after{content:"";position:absolute;left:-.04em;right:-.04em;top:50%;height:.06em;background:var(--K);transform:translateY(-50%) scaleX(0);transform-origin:left center;transition:transform .9s cubic-bezier(.7,0,.2,1)}
.eq-strike.on::after{transform:translateY(-50%) scaleX(1)}
.eq-op{font-family:var(--font-body);font-weight:300;font-style:italic;color:var(--K);margin:0 .15em}
.eq-result{color:var(--K)}
.eq-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rw)}
.eq-cell{padding:32px;border-right:1px solid var(--rw)}
.eq-cell:first-child{padding-left:0}
.eq-cell:last-child{border-right:none;padding-right:0}
.eq-k{font-size:var(--eyebrow-size);letter-spacing:.24em;text-transform:uppercase;color:var(--K);margin-bottom:14px;font-weight:600}
.eq-v{font-size:15px;font-weight:400;line-height:1.7;color:var(--K);max-width:300px}
.three-wrap{background:var(--K);color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.three-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.three-body{padding:56px var(--pad-x) var(--pad-y)}
.three-body header { background:var(--K) ; }
.three-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1)}
.tp{border-right:1px solid rgba(255,255,255,.1);padding:0;display:flex;flex-direction:column;min-height:320px;position:relative;overflow:hidden;transition:background .4s}
.tp:last-child{border-right:none}
.tp:hover{background:rgba(255,255,255,.04)}
.tp-art{flex:1;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:50px;min-height:280px;background:var(--K)}
.tp-art svg{width:100%;height:100%;max-width:320px;max-height:240px;display:block}
.tp .art-pulse{transform-origin:center;animation:artPulse 3s ease-in-out infinite paused}
.tp:hover .art-pulse{animation-play-state:running}
@keyframes artPulse{0%,100%{opacity:.5}50%{opacity:1}}
.tp .art-flicker{animation:artFlicker 3s ease-in-out infinite paused}
.tp:hover .art-flicker{animation-play-state:running}
@keyframes artFlicker{0%,100%{opacity:.18}50%{opacity:.06}}
.tp .art-drift{transform-origin:center;animation:artDrift 4.5s ease-in-out infinite paused}
.tp:hover .art-drift{animation-play-state:running}
@keyframes artDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-15px)}}


.dom-wrap{background:var(--W);border-top:1px solid var(--rw);position:relative;z-index:1}
.dom-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.dom-body{padding:var(--pad-y) var(--pad-x);position:relative}
.dom-body .sec-hdr{position:relative ;top:auto ;z-index:2;background:var(--W);margin-top:0}
.spectrum{position:relative;padding:30px 0 10px}
.spec-track{position:relative ;top:auto ;height:1px;background:var(--rw);margin:60px 0 36px}
.spec-line{position:absolute;left:0;top:0;height:1px;background:var(--K);width:0;transition:width 1.6s cubic-bezier(.7,0,.2,1)}
.spec-line.on{width:100%}
.spec-node{position:absolute;top:-7px;width:15px;height:15px;border-radius:50%;background:var(--W);border:1.5px solid var(--K);transform:translateX(-50%);z-index:2;cursor:pointer;transition:transform .25s,background .25s}
.spec-node:hover,.spec-node.active{background:var(--K);transform:translateX(-50%) scale(1.25)}
.spec-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
.spec-cell{padding:0 24px 32px;border-right:1px solid var(--rw);min-height:280px;transition:opacity .3s}
.spec-cell:first-child{padding-left:0}
.spec-cell:last-child{border-right:none;padding-right:0}
.spec-icon{margin-bottom:22px;width:34px;height:34px}
.spec-icon svg{width:34px;height:34px;display:block}
.spec-num{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.22em;color:var(--mw);margin-bottom:14px}
.spec-name{font-family:var(--font-display);font-weight:600;font-size:clamp(18px,1.71vw,23px);letter-spacing:-0.012em;margin-bottom:14px;line-height:1.15}
.spec-desc{font-size:15px;font-weight:400;line-height:1.7;color:var(--K);max-width:200px}
.spec-btns{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.spec-btn{font-size:var(--eyebrow-size);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--K);color:var(--K);text-decoration:none;display:inline-block;transition:background .2s,color .2s;white-space:normal;line-height:1.5;max-width:160px}
.spec-btn:hover{background:var(--K);color:var(--W)}
.line-wrap{background:#fff;border-top:1px solid var(--rw)}
.line-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.line-body{padding:var(--pad-y) var(--pad-x)}
.line-tl{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-top:36px}
.line-tl::before{display:none}
.line-step{padding:30px 32px 0 32px;border-right:1px solid var(--rw);position:relative;min-height:340px}
.line-step:first-child{padding-left:0}
.line-step:last-child{border-right:none;padding-right:0}
.line-step::before{content:"";position:absolute;top:-7px;left:32px;width:13px;height:13px;border-radius:50%;background:#fff;border:1.5px solid var(--K)}
.line-step:first-child::before{left:0}
.line-step.now::before{background:var(--K)}
.line-step.next::before{background:#fff;border-style:dashed;border-color:var(--K);animation:nextPulse 2s ease-in-out infinite}
@keyframes nextPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,.2)}50%{box-shadow:0 0 0 10px rgba(0,0,0,0)}}
.line-tag{font-size:var(--eyebrow-size);letter-spacing:.24em;text-transform:uppercase;color:var(--K);margin-bottom:24px;font-weight:500}
.line-p{font-size:15px;font-weight:400;line-height:1.7;color:var(--K);max-width:280px;margin-bottom:24px}
.line-names{font-size:var(--eyebrow-size);letter-spacing:.14em;color:var(--K);text-transform:uppercase;font-weight:500;line-height:2}
.next-cta{display:inline-flex;align-items:center;gap:10px;font-size:var(--eyebrow-size);letter-spacing:.2em;text-transform:uppercase;padding:12px 22px;border:1px solid var(--K);color:var(--K);text-decoration:none;margin-top:6px;transition:background .25s,color .25s}
.next-cta:hover{background:var(--K);color:#fff}
.cta-wrap{background:var(--K);border-top:1px solid rgba(255,255,255,.1)}
.cta-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.cta-left{padding:var(--pad-y) var(--pad-x);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;max-width:700px}
.cta-ghost{font-family:var(--font-display);font-weight:700;font-size:clamp(198px,27vw,378px);letter-spacing:-0.02em;line-height:1.08;color:rgba(255,255,255,.05);position:absolute;bottom:-60px;right:-40px;pointer-events:none;user-select:none}
.cta-h{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);letter-spacing:-0.018em;line-height:1.08;position:relative;z-index:1;color:#fff}
.cta-h em{font-family:var(--font-body);font-weight:300;font-style:italic;color:rgba(255,255,255,.75)}
/* on the dark band the key words take the accent colour with a fine underline (a marker band would hide white text) */
.cta-h .highlight{color:var(--hl, var(--freedom));background:linear-gradient(180deg, transparent 90%, var(--hl, var(--freedom)) 90%, var(--hl, var(--freedom)) 97%, transparent 97%);padding:0;display:inline}
.cta-sub{font-size:15px;font-weight:400;line-height:1.7;color:rgba(255,255,255,.65);max-width:440px;margin-top:30px;position:relative;z-index:1}
.cta-btns{margin-top:48px;display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1}
.am-btn{font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:18px 40px;border:2px solid #fff;color:var(--K);background:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .2s,color .2s,border-color .2s;font-weight:800}
.am-btn:hover{background:rgba(255,255,255,.85);border-color:rgba(255,255,255,.85)}
.am-btn-f{background:#fff;color:var(--K);border-color:#fff}.am-btn-f:hover{background:var(--line);border-color:var(--line)}
.am-sub-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;margin:18px 0}
.am-sub-dot{aspect-ratio:1;background:#555;border-radius:50%;transition:opacity .7s ease,transform .7s ease}
.am-sub-dot.gone{opacity:.07;transform:scale(.25);background:var(--mw)}
.demo-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rw)}
.demo-k{font-size:var(--eyebrow-size);letter-spacing:.26em;text-transform:uppercase;color:var(--mw)}
.demo-count{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--K);font-variant-numeric:tabular-nums}
.demo-count em{font-family:var(--font-body);font-style:italic;font-weight:400;color:var(--mw);font-size:.7em;margin-left:6px}
.demo-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--rw);display:flex;justify-content:space-between;align-items:center;font-size:var(--eyebrow-size);letter-spacing:.22em;text-transform:uppercase;color:var(--mw)}
.demo-foot em{font-style:normal;font-family:var(--font-display);font-weight:600;color:var(--K);font-variant-numeric:tabular-nums}

/* ── classes replacing former inline styles ── */
.am-hero-text{max-width:520px}
.am-hero-quote{margin-bottom:36px;opacity:0;animation:amRiseUp .9s .4s forwards}
.am-h1{font-family:var(--font-body);font-size:clamp(28px,3.8vw,56px);line-height:1.15;letter-spacing:-.01em;color:var(--K);font-weight:400}
.am-h1 strong{font-family:var(--font-display);font-weight:600;letter-spacing:-0.018em}
.am-h1 em{font-weight:300;font-style:italic}
.am-sign{margin-top:24px;display:flex;align-items:center;gap:14px}
.am-sign::before{content:"";width:28px;height:1px;background:var(--K);display:inline-block}
.am-sign span{font-size:var(--eyebrow-size);letter-spacing:.22em;text-transform:uppercase;color:var(--K)}
.am-demo{opacity:0;animation:amRiseUp 1s .85s forwards}
.am-quote{font-weight:300;font-style:italic;line-height:1.55;color:var(--K);padding-left:22px;border-left:2px solid var(--K)}
.eq-quote{margin-bottom:48px;padding:28px 0 0}
.eq-quote .am-quote{font-size:clamp(15px,1.5vw,20px)}
.eq-result mark{background:linear-gradient(180deg, transparent 56%, var(--hl, var(--focus)) 56%, var(--hl, var(--focus)) 92%, transparent 92%);padding:0 2px;color:var(--K)}
.three-body .sec-hdr{grid-template-columns:1fr;background:var(--K)}
.three-body .ey{color:rgba(255,255,255,.5)}
.three-ttl{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h2);letter-spacing:-0.018em;line-height:1.08;color:#fff;white-space:nowrap}
.sec-ttl mark{background:linear-gradient(180deg, transparent 56%, var(--hl, var(--focus)) 56%, var(--hl, var(--focus)) 92%, transparent 92%);color:inherit;padding:0 6px}
.line-body .sec-hdr{margin-bottom:40px}
.line-img{margin-bottom:20px;overflow:hidden;border-radius:2px;position:relative}
.line-img img{width:100%;display:block}
.line-img.next{overflow:visible;border-radius:0;background:var(--fw);aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.next-cta.solid{background:var(--K);border-color:var(--K);color:#fff;font-weight:600;font-size:12px;padding:18px 36px;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.am-quote-sec{background:var(--W);border-top:1px solid var(--rw);padding:80px var(--pad-x) 80px calc(var(--sb) + var(--pad-x))}
.am-quote-sec > div{max-width:720px}
.am-quote-sec .am-quote{font-size:clamp(18px,2.2vw,30px);padding-left:24px}
.am-comm{background:#fff;border-top:1px solid var(--rw)}
.am-comm-grid{display:grid;grid-template-columns:var(--sb) 1fr}
.am-comm-body{padding:var(--pad-y) var(--pad-x);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.am-comm-body h2{font-family:var(--font-display);font-weight:600;font-size:clamp(25px,3.6vw,50px);letter-spacing:-0.018em;line-height:1.15;margin-bottom:32px}
.am-comm-btn{font-size:var(--eyebrow-size);letter-spacing:.18em;text-transform:uppercase;padding:14px 40px;background:var(--K);color:#fff}
.am-comm-btn:hover{color:#fff;opacity:.85}
@keyframes amRiseUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes amGrowW{from{width:0}to{width:80px}}
@keyframes amPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.4}}
@media(max-width:1024px){
  .page-am{--pad-x:28px;--pad-y:70px;--sb:36px}
  .am-hero-inner{grid-template-columns:1fr;gap:60px}
  .hvr{display:none}
  .sec-hdr{grid-template-columns:1fr;margin-bottom:50px}
  .sec-meta{text-align:left;max-width:100%}
  .three-row{grid-template-columns:repeat(3,1fr)}
  .tp{min-height:auto}
  .spec-row{grid-template-columns:1fr;gap:20px}
  .spec-cell{border-right:none;border-bottom:1px solid var(--rw);padding:24px 0;min-height:auto}
  .spec-cell:last-child{border-bottom:none}
  .spec-track{display:none}
  .line-tl{grid-template-columns:1fr;gap:30px;padding-top:0}
  .line-step{border-right:none;padding:0 0 30px 0;border-bottom:1px solid var(--rw);min-height:auto}
  .line-step::before{display:none}
  .line-step:last-child{border-bottom:none}
  .eq-foot{grid-template-columns:1fr}
  .eq-cell{border-right:none;border-bottom:1px solid var(--rw);padding:24px 0}
  .eq-cell:last-child{border-bottom:none}
}
/* fix (also broken on the old site): the three illustrations and heading were wider than a phone screen */
@media(max-width:640px){
  .three-row{grid-template-columns:1fr}
  .tp{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .tp-art{padding:28px;min-height:200px}
  .three-ttl{white-space:normal}
  .three-grid > *{min-width:0}
}
