@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#211e1b;--paper:#f8f7f5;--white:#fff;--gold:#bd9250;--muted:#6e6963;--border:#d8d4ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}button{font:inherit}.container{width:min(100% - 80px,1320px);margin:auto}.dark{background:var(--ink);color:var(--paper)}.site-header{height:76px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border-bottom:1px solid #49443e;position:relative;z-index:10}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;letter-spacing:.18em;line-height:1.25;white-space:nowrap}.brand b{display:block;font-weight:500}.brand-mark{width:27px;height:27px;display:grid;place-items:center;position:relative;flex:none}.brand-mark i{border:1px solid var(--gold);border-radius:50%;position:absolute;width:23px;height:23px}.brand-mark i:nth-child(2){width:15px;height:15px}.brand-mark i:nth-child(3){width:6px;height:6px;background:var(--gold)}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-size:13px;transition:color .2s}nav a:hover,nav a:focus-visible{color:#e2bc79}.nav-contact{color:#e2bc79;border-bottom:1px solid var(--gold);padding-bottom:5px}.nav-contact span{margin-left:8px}.menu-toggle{display:none}.hero{min-height:690px;background-color:#211e1b;background-image:linear-gradient(90deg,transparent calc(50% - .5px),#34302c 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(45% - .5px),#34302c 45%,transparent calc(45% + .5px));}.hero-inner{min-height:690px;display:flex;flex-direction:column}.eyebrow{display:flex;align-items:center;gap:14px;padding-top:35px;color:var(--gold);letter-spacing:.22em;font-size:11px;font-weight:700}.eyebrow .line{display:inline-block;width:24px;border-top:1px solid var(--gold)}.edition{margin-left:auto}.hero-content{margin:auto 0;padding:55px 0 70px;max-width:820px}.section-kicker,.overline{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-kicker{color:var(--gold);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,.closing-line,blockquote{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(4.5rem,7.8vw,8.3rem);letter-spacing:-.04em;margin-bottom:27px}em{font-weight:400}.hero-summary{max-width:500px;color:#c5c0b9;font-size:17px;line-height:1.65}.text-link{display:inline-flex;gap:45px;text-decoration:none;border-bottom:1px solid var(--gold);padding:12px 0;font-size:13px;font-weight:600;letter-spacing:.04em}.light-link{color:#ebc889}.journey{border-top:1px solid #615a51;display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0 30px;gap:20px;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.journey>div{display:flex;align-items:center;gap:16px}.journey span{color:var(--gold);font-size:10px}.section{padding:105px 0 120px}.section-head{display:flex;align-items:center;gap:25px;margin-bottom:72px}.section-head .rule{height:1px;background:var(--border);flex:1}.dark .section-head .rule{background:#5a554e}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:start}h2{font-size:clamp(3.3rem,5.3vw,6rem);letter-spacing:-.035em;max-width:790px;margin-bottom:28px}h2 em,h1 em,.closing-line em{color:var(--gold)}.lead{font-size:18px;line-height:1.65;max-width:650px;color:#625d57}.side-panel{border-left:1px solid var(--border);padding-left:52px;padding-top:8px}.gold{color:var(--gold)}.problem-list{padding:0;margin:25px 0 30px;list-style:none}.problem-list li{border-top:1px solid var(--border);padding:12px 0;text-transform:uppercase;font-size:14px;font-weight:600;letter-spacing:.08em}.problem-list li:last-child{border-bottom:1px solid var(--border)}.side-panel p{color:var(--muted);font-size:15px;line-height:1.7}.progression{margin-top:95px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.progression div{padding:25px 22px 0 0;display:flex;flex-direction:column;position:relative}.progression div:before{content:'';height:8px;width:8px;background:var(--gold);border-radius:50%;position:absolute;top:-5px}.progression b{font-size:11px;letter-spacing:.15em;color:var(--gold);margin-bottom:18px}.progression strong{text-transform:uppercase;letter-spacing:.1em;font-size:15px}.progression span{color:var(--muted);font-size:13px;margin-top:6px}.capabilities{background:#eeece8}.intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.intro h2{margin-bottom:0}.intro p{max-width:270px;color:var(--muted);font-size:15px}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cap-card{padding:25px 25px 35px 0;min-width:0}.cap-card+.cap-card{padding-left:25px;border-left:1px solid var(--border)}.cap-top{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.14em;margin-bottom:52px}.ring{width:23px;height:23px;border:1px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 0 4px #eeece8,inset 0 0 0 5px var(--gold)}.cap-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:clamp(2rem,2.5vw,3rem);line-height:1.06;margin-bottom:17px}.cap-card p{min-height:62px;font-size:14px;color:var(--muted);line-height:1.5}.cap-card ul{list-style:none;padding:16px 0 0;margin:0;border-top:1px solid var(--border);font-size:13px;line-height:1.45}.cap-card li{padding:7px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.steps article{padding:28px 34px 42px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:235px}.steps span{color:var(--gold);font-size:12px;letter-spacing:.15em}.steps h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;font-weight:400;margin:32px 0 10px}.steps p{font-size:14px;color:var(--muted);max-width:330px}.closing-line{font-size:clamp(2.2rem,4vw,4rem);text-align:center;margin:85px 0 0}.lighthouse{background-color:#211e1b;background-image:linear-gradient(90deg,transparent 49.95%,#312c27 50%,transparent 50.05%)}.lighthouse .lead{color:#c5c0b9}.lighthouse blockquote{font-style:italic;font-size:clamp(1.6rem,2.8vw,2.8rem);border-left:1px solid var(--gold);padding-left:25px;color:#e1c28e;max-width:650px;margin:60px 0 0}.lighthouse-side{padding:10px 0 0 30px}.lighthouse-side h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:37px;line-height:1.1;margin:25px 0 35px}.question{display:grid;grid-template-columns:120px 1fr;gap:20px;border-top:1px solid #55504a;padding:17px 0}.question:last-child{border-bottom:1px solid #55504a}.question span{text-transform:uppercase;color:var(--gold);font-size:11px;letter-spacing:.12em;font-weight:700}.question p{margin:0;color:#c9c4bd;font-size:14px}.expertise{display:grid;grid-template-columns:1fr 1fr;margin:22px 0 30px}.expertise span{padding:12px 8px 12px 0;border-top:1px solid var(--border);font-size:14px}.locations{font-weight:700;letter-spacing:.18em!important;color:var(--ink)!important;font-size:12px!important}.locations i{color:var(--gold);font-style:normal;padding:0 9px}.contact{padding:100px 0 115px}.contact h2{margin:25px 0}.contact p{color:#c5c0b9;max-width:490px}.contact-button{display:inline-flex;gap:70px;align-items:center;background:var(--gold);color:#211e1b;text-decoration:none;padding:16px 20px;font-size:14px;font-weight:700;margin-top:25px;transition:background .2s}.contact-button:hover{background:#e0ba7d}footer{background:#171512;color:#d0cbc4;padding:34px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer-inner a{text-decoration:none;color:#d0cbc4}.footer-brand{color:white}a:focus-visible,button:focus-visible{outline:2px solid #e7bc76;outline-offset:5px}@media(max-width:1050px){nav{gap:15px}nav a{font-size:12px}.cap-grid{grid-template-columns:repeat(2,1fr)}.cap-card:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--border)}.cap-card:nth-child(4){border-top:1px solid var(--border)}.split{gap:6%}}@media(max-width:760px){.container{width:min(100% - 40px,1320px)}.site-header{height:68px;padding:0 20px}.menu-toggle{display:flex;width:42px;height:40px;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;cursor:pointer}.menu-toggle span{height:1px;background:white;width:25px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#211e1b;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid #5a554e}.site-header nav.open{display:flex}.site-header nav a{padding:8px 0;font-size:15px}.nav-contact{align-self:flex-start}.hero,.hero-inner{min-height:680px}.hero-content{padding:45px 0}.hero h1{font-size:clamp(3.8rem,11vw,6rem)}.hero-summary{font-size:16px}.journey{grid-template-columns:repeat(2,1fr);font-size:11px;row-gap:15px}.section{padding:70px 0 85px}.section-head{margin-bottom:45px}.split,.intro{display:block}.side-panel{padding:25px 0 0;border-left:0;border-top:1px solid var(--border);margin-top:45px}.progression{margin-top:60px;grid-template-columns:repeat(2,1fr);row-gap:35px}.intro p{margin-top:25px;max-width:500px}.steps{grid-template-columns:repeat(2,1fr)}.lighthouse-side{padding:50px 0 0}.footer-inner{flex-wrap:wrap}.footer-inner>span:nth-child(2){order:3;width:100%}}@media(max-width:520px){.hero,.hero-inner{min-height:690px}.hero h1{font-size:clamp(3.4rem,13vw,4.5rem)}.hero-content{margin:auto 0}.journey{gap:12px}.journey>div{gap:8px}h2{font-size:clamp(3rem,10.5vw,4rem)}.cap-grid{display:block}.cap-card,.cap-card+.cap-card,.cap-card:nth-child(3){border-left:0;border-top:1px solid var(--border);padding:26px 0}.cap-card:first-child{border-top:0}.cap-top{margin-bottom:32px}.cap-card p{min-height:0}.steps{display:block}.steps article{min-height:0}.question{grid-template-columns:1fr;gap:5px}.expertise{grid-template-columns:1fr}.contact{padding:80px 0}.footer-inner{display:block}.footer-inner>*{display:block;margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied DIP identity and banner. Preserve the full banner without cropping. */
:root{--ink:#0d2d3c;--gold:#bd9250}
.site-header{height:100px;background:#fff;color:#0d2d3c;border-color:#d8dfe1}
.brand-logo{display:block;width:245px;height:auto;max-width:100%}
.site-header nav a:hover,.site-header nav a:focus-visible{color:#267f85}
.site-header .nav-contact{color:#846025}
.hero{background-color:#0d2d3c;background-image:linear-gradient(90deg,transparent calc(50% - .5px),#24424e 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(45% - .5px),#24424e 45%,transparent calc(45% + .5px))}
.brand-banner{margin:0;background:#e0e9ed;border-bottom:1px solid var(--border)}
.brand-banner img{display:block;width:100%;height:auto}
.lighthouse{background-color:#0d2d3c;background-image:none}
footer{background:#fff;color:#0d2d3c;border-top:1px solid var(--border)}
.footer-inner a{color:#0d2d3c}
@media(max-width:1050px){.brand-logo{width:205px}.site-header{padding:0 25px}nav{gap:12px}}
@media(max-width:760px){.site-header{height:88px;padding:0 20px}.brand-logo{width:195px}.menu-toggle span{background:#0d2d3c}.site-header nav{top:88px;background:#fff;color:#0d2d3c;border-color:#d8dfe1}.brand-banner{overflow-x:auto}.brand-banner img{min-width:760px}.footer-brand .brand-logo{width:220px}}
/* Motion and method tiles inspired by the reference, with original DIP diagrams. */
.site-header{position:sticky;top:0;transition:box-shadow .3s,height .3s}.site-header.scrolled{box-shadow:0 3px 24px #071a2320}section[id]{scroll-margin-top:105px}.hero-line{display:block}.hero h1{font-size:clamp(4rem,7vw,7.8rem)}
.method-section{background:#102c38}.method-section .intro{align-items:start}.method-section .intro p{color:#bccbd0;max-width:310px}.method-section h2{max-width:850px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 0;margin-top:80px;align-items:start}.method-tile{border-left:1px solid #54717b;min-width:0;padding:0 28px 0 24px;position:relative;transition:background .35s, border-color .35s}.method-title{display:flex;align-items:center;gap:18px;margin-bottom:25px}.method-number{font-size:42px;color:#d8ab60;font-weight:500;line-height:1}.method-title h3{font-size:19px;text-transform:uppercase;letter-spacing:.1em;margin:0;line-height:1.3;font-weight:700}.method-question{font-size:18px;line-height:1.55;color:#c9d5d9;min-height:84px;margin:0}.method-art-wrap{height:220px;display:flex;align-items:center;overflow:hidden}.method-art{width:100%;height:auto;max-height:220px;overflow:visible;transition:transform .7s cubic-bezier(.22,1,.36,1)}.method-tile:hover,.method-tile:focus-within{border-color:#d8ab60}.method-tile:hover .method-art,.method-tile:focus-within .method-art{transform:translateY(-5px) scale(1.035)}.method-art .float-a,.method-art .float-b{transform-box:fill-box;transform-origin:center;transition:transform .7s cubic-bezier(.22,1,.36,1)}.method-tile:hover .float-a,.method-tile:focus-within .float-a{transform:translateY(-8px)}.method-tile:hover .float-b,.method-tile:focus-within .float-b{transform:translateY(5px)}.method-tile:hover .wire,.method-tile:focus-within .wire{animation:connection-flow 1.8s linear infinite}.method-tile summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 0;cursor:pointer;text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:700;color:#d8ab60}.method-tile summary::-webkit-details-marker{display:none}.tile-arrow{font-size:23px;transition:transform .35s}.method-tile summary:hover .tile-arrow{transform:translate(4px,-4px)}.open-label{display:none}details[open] .closed-label{display:none}details[open] .open-label{display:inline}details[open] .tile-arrow{transform:rotate(90deg)}.method-detail{border-top:1px solid #54717b;padding-top:20px}.method-detail p{color:#c9d5d9;font-size:15px;line-height:1.6;margin-bottom:20px}.detail-label{display:block;color:#d8ab60;font-size:10px;letter-spacing:.12em;margin:10px 0}.method-tile summary:focus-visible{outline:2px solid #d8ab60;outline-offset:6px}.cap-card{transition:background .35s,transform .5s}.cap-card:hover{background:#e1e9e7;transform:translateY(-5px)}.ring{transition:transform .5s}.cap-card:hover .ring{transform:scale(1.25)}
.motion-ready .reveal{opacity:0;transform:translateY(38px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--order,0)*110ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .hero-line{animation:hero-enter 1s cubic-bezier(.22,1,.36,1) both}.motion-ready .hero-line:nth-child(2){animation-delay:.15s}.method-tile.is-visible .method-art .wire{animation:connection-flow 5s linear 2}.method-tile.is-visible .method-art .float-b{animation:node-settle 1.2s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--order,0)*110ms)}.brand-banner{overflow:hidden!important}.brand-banner img{min-width:0!important;transition:filter .6s}.text-link span,.contact-button span{transition:transform .3s}.text-link:hover span,.contact-button:hover span{transform:translate(4px,-3px)}
@keyframes connection-flow{to{stroke-dashoffset:-36}}@keyframes node-settle{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){section[id]{scroll-margin-top:90px}.method-grid{margin-top:45px;gap:45px 0}.method-tile{padding:0 20px}.method-question{font-size:16px}.method-title{gap:12px}.method-title h3{font-size:16px}.method-number{font-size:34px}.hero h1{font-size:clamp(3.4rem,10vw,5.5rem)}}@media(max-width:520px){.method-grid{grid-template-columns:1fr}.method-tile{padding:0 22px}.method-question{min-height:0}.method-art-wrap{height:210px}.method-art{max-width:320px}.method-title{margin-bottom:18px}.hero h1{font-size:clamp(3.2rem,12vw,4.5rem)}}@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none;transition:none}.motion-ready .hero-line,.method-art *{animation:none!important}.method-tile:hover .method-art,.method-tile:focus-within .method-art,.method-tile:hover .float-a,.method-tile:hover .float-b{transform:none}.cap-card:hover{transform:none}}

/* Strong tile entrances: alternating arcs, overshoot, then a quiet settle. */
.method-section{overflow-x:hidden}
.method-grid{perspective:1200px}
.method-tile::before{content:"";position:absolute;inset:0 auto 0 -1px;width:1px;background:#54717b;transform-origin:top;transition:background .35s}
.method-tile{border-left-color:transparent;transform-origin:50% 85%;backface-visibility:hidden}
.method-tile:hover::before,.method-tile:focus-within::before{background:#d8ab60}
.motion-ready .method-grid.method-motion-armed .method-tile{
  --swoop-x:-150px;
  --swoop-y:90px;
  --swoop-r:-7deg;
  --swoop-delay:calc(var(--order, 0) * 150ms);
  opacity:0;
  transform:translate3d(var(--swoop-x),var(--swoop-y),0) rotate(var(--swoop-r)) scale(.82);
  will-change:transform,opacity;
}
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(2),
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(5){--swoop-x:0px;--swoop-y:150px;--swoop-r:0deg}
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(3),
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(6){--swoop-x:150px;--swoop-y:90px;--swoop-r:7deg}
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(n+4){--swoop-y:-80px}
.motion-ready .method-grid.method-motion-armed .method-tile:nth-child(5){--swoop-y:130px}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible{
  opacity:1;
  transform:none;
  animation:tile-swoop-in 1.18s cubic-bezier(.16,1,.3,1) var(--swoop-delay) backwards;
  will-change:auto;
}
.motion-ready .method-grid.method-motion-armed .method-tile:not(.is-visible)::before{transform:scaleY(0)}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible::before{animation:tile-rule-in .72s cubic-bezier(.22,1,.36,1) calc(var(--swoop-delay) + 260ms) backwards}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible .method-title{animation:tile-content-in .68s cubic-bezier(.22,1,.36,1) calc(var(--swoop-delay) + 300ms) backwards}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible .method-question{animation:tile-content-in .68s cubic-bezier(.22,1,.36,1) calc(var(--swoop-delay) + 390ms) backwards}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible details{animation:tile-content-in .68s cubic-bezier(.22,1,.36,1) calc(var(--swoop-delay) + 730ms) backwards}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible .method-art > :not(style):not(.wire){
  transform-box:fill-box;
  transform-origin:center;
  animation:diagram-piece-in .8s cubic-bezier(.16,1,.3,1) calc(var(--swoop-delay) + 430ms + var(--piece-delay,0ms)) backwards;
}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible .method-art .wire{
  animation:wire-swoop-in 1.15s cubic-bezier(.22,1,.36,1) calc(var(--swoop-delay) + 360ms) backwards;
}
.motion-ready .method-grid.method-motion-armed .method-tile:hover .method-art .wire,
.motion-ready .method-grid.method-motion-armed .method-tile:focus-within .method-art .wire{animation:connection-flow 1.8s linear infinite}
@keyframes tile-swoop-in{
  0%{opacity:0;transform:translate3d(var(--swoop-x),var(--swoop-y),0) rotate(var(--swoop-r)) scale(.82)}
  68%{opacity:1;transform:translate3d(0,-12px,0) rotate(0deg) scale(1.018)}
  84%{transform:translate3d(0,4px,0) rotate(0deg) scale(.995)}
  100%{opacity:1;transform:none}
}
@keyframes tile-rule-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes tile-content-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes diagram-piece-in{
  0%{opacity:0;transform:translate3d(-24px,28px,0) rotate(-8deg) scale(.62)}
  72%{opacity:1;transform:translate3d(3px,-4px,0) rotate(1deg) scale(1.04)}
  100%{opacity:1;transform:none}
}
@keyframes wire-swoop-in{0%{opacity:0;stroke-dashoffset:90}25%{opacity:1}100%{opacity:1;stroke-dashoffset:0}}
@media(max-width:760px){
  .motion-ready .method-grid.method-motion-armed .method-tile{--swoop-x:-70px;--swoop-y:70px;--swoop-r:-4deg}
  .motion-ready .method-grid.method-motion-armed .method-tile:nth-child(even){--swoop-x:70px;--swoop-y:70px;--swoop-r:4deg}
}
@media(max-width:520px){
  .motion-ready .method-grid.method-motion-armed .method-tile,
  .motion-ready .method-grid.method-motion-armed .method-tile:nth-child(n){--swoop-x:65px;--swoop-y:85px;--swoop-r:4deg;--swoop-delay:0ms}
  .motion-ready .method-grid.method-motion-armed .method-tile:nth-child(odd){--swoop-x:-65px;--swoop-r:-4deg}
}
@media(prefers-reduced-motion:reduce){
  .method-grid .method-tile,.method-grid .method-tile::before,.method-tile .method-title,.method-tile .method-question,.method-tile details,.method-art>*{animation:none!important;opacity:1!important;transform:none!important}
}

/* Keep the observed tile stationary so its entrance cannot toggle its own
   intersection state. Its four content layers carry the swoop instead. */
.motion-ready .method-grid.method-motion-armed .method-tile,
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible{
  opacity:1;
  transform:none;
  animation:none;
  will-change:auto;
}
.motion-ready .method-grid.method-motion-armed .method-tile:not(.is-visible) > .method-title,
.motion-ready .method-grid.method-motion-armed .method-tile:not(.is-visible) > .method-question,
.motion-ready .method-grid.method-motion-armed .method-tile:not(.is-visible) > .method-art-wrap,
.motion-ready .method-grid.method-motion-armed .method-tile:not(.is-visible) > details{
  opacity:0;
  transform:translate3d(var(--swoop-x),var(--swoop-y),0) rotate(var(--swoop-r)) scale(.82);
}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible > .method-title{
  animation:tile-swoop-in 1.08s cubic-bezier(.16,1,.3,1) var(--swoop-delay) backwards;
}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible > .method-question{
  animation:tile-swoop-in 1.08s cubic-bezier(.16,1,.3,1) calc(var(--swoop-delay) + 70ms) backwards;
}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible > .method-art-wrap{
  animation:tile-swoop-in 1.14s cubic-bezier(.16,1,.3,1) calc(var(--swoop-delay) + 135ms) backwards;
}
.motion-ready .method-grid.method-motion-armed .method-tile.is-visible > details{
  animation:tile-swoop-in 1.08s cubic-bezier(.16,1,.3,1) calc(var(--swoop-delay) + 220ms) backwards;
}

/* Repeating swoop for every major page section. */
body{overflow-x:hidden}
.motion-ready .reveal.repeat-swoop{
  --active-reveal-x:var(--reveal-x,0px);
  --active-reveal-y:var(--reveal-y,52px);
  --active-reveal-r:var(--reveal-r,0deg);
  opacity:0;
  transform:translate3d(var(--active-reveal-x),var(--active-reveal-y),0) rotate(var(--active-reveal-r)) scale(.94);
  transform-origin:50% 80%;
  transition:none;
  will-change:transform,opacity;
}
.motion-ready .reveal.repeat-swoop.is-visible{
  opacity:1;
  transform:none;
  animation:page-swoop-in 1.08s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) backwards;
  will-change:auto;
}
.motion-ready .reveal.repeat-swoop.cap-card.is-visible:hover{transform:translateY(-5px)}
@keyframes page-swoop-in{
  0%{opacity:0;transform:translate3d(var(--active-reveal-x),var(--active-reveal-y),0) rotate(var(--active-reveal-r)) scale(.94)}
  70%{opacity:1;transform:translate3d(0,-10px,0) rotate(0deg) scale(1.012)}
  86%{transform:translate3d(0,3px,0) rotate(0deg) scale(.997)}
  100%{opacity:1;transform:none}
}
@media(max-width:760px){
  .motion-ready .reveal.repeat-swoop{--active-reveal-x:clamp(-62px,var(--reveal-x,0px),62px);--active-reveal-y:45px;--active-reveal-r:0deg}
}
@media(prefers-reduced-motion:reduce){
  .motion-ready .reveal.repeat-swoop{animation:none!important;opacity:1!important;transform:none!important}
}
