/* Amethyst editorial pages — extends the existing Crafto spa theme. */
:root{--spa-cream:#f8f3f0;--spa-ink:var(--dark-gray,#36332e);--spa-purple:var(--base-color,#a348b4);--spa-line:#ded5d0}
.spa-page{background:#fff;color:var(--medium-gray);overflow-x:clip}
.spa-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.6;font-weight:600;letter-spacing:2.3px;text-transform:uppercase;color:var(--spa-purple);margin:0 0 20px}
.spa-eyebrow:before{content:"";width:34px;height:1px;background:currentColor;flex-shrink:0}
.spa-hero{position:relative;isolation:isolate;min-height:650px;padding:180px 0 110px;display:flex;align-items:center;background:#29232b;overflow:hidden}
.spa-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;will-change:transform}
.spa-hero-media img{width:100%;height:100%;object-fit:cover;animation:spa-soft-zoom 22s ease-in-out infinite alternate}
.spa-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,22,32,.85),rgba(30,22,32,.48) 70%,rgba(30,22,32,.26))}
.spa-hero .spa-eyebrow{color:#e9cbe9}.spa-hero h1{max-width:980px;color:#fff;font-size:clamp(38px,5vw,70px);line-height:1.08;letter-spacing:-2px;font-weight:400;margin-bottom:28px}
.spa-hero-subtitle{max-width:630px;color:#eee5ed;font-size:20px;line-height:1.7;margin-bottom:28px}
.spa-hero-meta{display:flex;gap:13px;flex-wrap:wrap;color:#f8f3f0;font-size:13px;letter-spacing:.6px}.spa-hero-meta span{border:1px solid #ffffff40;padding:6px 15px;border-radius:30px}
.spa-hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:white!important;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.spa-hero-scroll i{font-size:20px;animation:spa-drift 2.4s ease-in-out infinite}.spa-breadcrumb{position:absolute;bottom:32px;left:max(24px,calc((100vw - 1140px)/2));font-size:13px;color:#e7dce6}.spa-breadcrumb a{color:#fff}
.spa-intro-section{position:relative;padding:100px 0;background:var(--spa-cream)}
.spa-intro-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:75px;align-items:center}
.spa-intro-copy h2,.spa-heading{font-family:var(--alt-font);font-size:clamp(32px,3.2vw,46px);line-height:1.16;font-weight:400;letter-spacing:-1.3px;color:var(--spa-ink)}
.spa-intro-copy p{font-size:18px;line-height:1.85}.spa-intro-image{position:relative;padding:0 32px 28px 0}.spa-intro-image:after{content:"";position:absolute;top:35px;left:35px;right:0;bottom:0;border:1px solid #c5afc9;border-radius:150px 12px 12px 12px;z-index:0}
.spa-intro-image>img{position:relative;z-index:1;width:100%;height:410px;object-fit:cover;border-radius:150px 12px 12px 12px}
.spa-image-note{position:absolute;bottom:8px;left:-30px;z-index:2;padding:18px 24px;background:white;border:1px solid var(--spa-line);box-shadow:0 12px 40px #3d293b12;border-radius:6px;display:flex;align-items:center;gap:16px;color:var(--spa-ink);font-size:15px;line-height:1.5}
.spa-image-note i{font-size:28px;color:var(--spa-purple)}.spa-image-note span small{display:block;color:#858181;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.spa-text-link{display:inline-flex;align-items:center;gap:16px;font-weight:500;color:var(--spa-ink);border-bottom:1px solid var(--spa-purple);padding-bottom:6px;margin-top:12px;transition:gap .3s,color .3s}.spa-text-link:hover{gap:25px;color:var(--spa-purple)}
.spa-path{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px;border-top:1px solid var(--spa-line);padding-top:30px}.spa-path-item{display:flex;align-items:flex-start;gap:17px}.spa-path-number{font:italic 34px/1 var(--alt-font);color:#b29bb5}.spa-path-item h3{font-family:var(--primary-font);font-size:17px;line-height:1.4;font-weight:500;margin-bottom:5px;color:var(--spa-ink)}.spa-path-item p{font-size:14px;line-height:1.65;margin:0}
.spa-editorial{padding:90px 0 50px}.spa-reading-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:65px;align-items:start}.spa-chapter{position:relative;margin:0 0 48px;padding:0 0 42px;border-bottom:1px solid var(--spa-line);scroll-margin-top:30px}.spa-chapter-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--spa-purple);display:block;margin-bottom:18px}.spa-chapter h2{font-family:var(--alt-font);font-size:32px;line-height:1.3;letter-spacing:-.6px;color:var(--spa-ink);font-weight:400;margin-bottom:23px}.spa-chapter p,.spa-chapter li{line-height:1.85}.spa-chapter p:last-child{margin-bottom:0}.spa-chapter ul,.spa-chapter ol{padding-left:23px}.spa-chapter li{padding-left:6px;margin-bottom:12px}.spa-chapter li::marker{color:var(--spa-purple)}
.spa-chapter a,.spa-faq a,.spa-sources a{color:#864396;text-decoration:underline;text-underline-offset:4px}.spa-chapter .table{font-size:15px}.spa-chapter .table th{font-weight:500;color:var(--spa-ink)}.spa-chapter .table td,.spa-chapter .table th{padding:16px 12px}
.spa-sidebar{position:sticky;top:30px;background:var(--spa-cream);padding:28px;border-radius:7px;border:1px solid #e6dce3}.spa-sidebar h2{font:400 23px/1.3 var(--alt-font);color:var(--spa-ink);margin-bottom:22px}.spa-sidebar nav a{display:block;padding:12px 0;border-top:1px solid #e1d5df;color:#6a6169;font-size:14px;line-height:1.65;transition:color .3s}.spa-sidebar nav a:hover{color:var(--spa-purple)}.spa-sidebar .spa-sidebar-note{padding-top:25px;margin-top:10px;border-top:1px solid #e1d5df}.spa-sidebar-note p{font-size:14px;line-height:1.7}.spa-sidebar .btn{font-size:11px;letter-spacing:1px;white-space:normal;line-height:1.5;display:block}
.spa-quote{border-left:2px solid var(--spa-purple);padding:20px 0 20px 30px;margin:36px 0;color:var(--spa-ink);font:400 27px/1.5 var(--alt-font)}
.spa-faq{padding:0 0 70px}.spa-faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.spa-faq h2{font-family:var(--alt-font);font-size:36px;line-height:1.2;color:var(--spa-ink)}.spa-faq details{border-top:1px solid var(--spa-line);padding:21px 0}.spa-faq details:last-child{border-bottom:1px solid var(--spa-line)}.spa-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:500;line-height:1.6;color:var(--spa-ink)}.spa-faq summary::-webkit-details-marker{display:none}.spa-faq summary:after{content:"+";font-size:24px;color:var(--spa-purple);flex-shrink:0}.spa-faq details[open] summary:after{content:"−"}.spa-faq details p{padding-top:14px;margin-bottom:0;font-size:16px;line-height:1.8}
.spa-gallery-section{padding:75px 0 30px;background:white}.spa-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.spa-gallery-grid figure{margin:0}.spa-gallery-grid a{display:block;position:relative;border-radius:7px;overflow:hidden;background:var(--spa-cream)}.spa-gallery-grid img{width:100%;height:340px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}.spa-gallery-grid a:hover img{transform:scale(1.07)}.spa-gallery-grid a:after{content:"+";position:absolute;right:20px;bottom:20px;background:#ffffffea;color:var(--spa-purple);height:42px;width:42px;border-radius:50%;display:grid;place-items:center;font-size:26px}.spa-gallery-grid figcaption{font-size:14px;padding-top:14px;color:var(--spa-ink)}
.spa-cta{position:relative;isolation:isolate;overflow:hidden;padding:85px 0;margin-top:15px;color:white;background:#2e2431}.spa-cta-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.5}.spa-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#28212eeb,#39213ac9);z-index:-1}.spa-cta-inner{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:center}.spa-cta .spa-heading{color:white;font-size:clamp(30px,3.2vw,45px);margin-bottom:16px}.spa-cta p{color:#e4d8e6;line-height:1.75;max-width:600px;margin:0}.spa-cta .spa-eyebrow{color:#e4b7eb}.spa-cta-actions{text-align:right}.spa-cta-actions .btn{white-space:normal;line-height:1.5}.spa-cta-phone{display:block;color:white;font-size:15px;margin-top:19px}.spa-cta-phone:hover{color:#ecc9f2}
.spa-related{padding:80px 0 100px;background:var(--spa-cream)}.spa-related-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.spa-related-heading h2{margin:0}.spa-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.spa-card{display:flex;flex-direction:column;background:white;border-radius:8px;overflow:hidden;border:1px solid #e9e0e5;box-shadow:0 8px 30px #432c4210;transition:transform .4s,box-shadow .4s;color:var(--spa-ink);height:100%}.spa-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px #432c4220;color:var(--spa-ink)}.spa-card-image{position:relative;overflow:hidden;background:#e1d8df}.spa-card-image img{width:100%;height:235px;object-fit:cover;transition:transform .8s}.spa-card:hover .spa-card-image img{transform:scale(1.06)}.spa-card-image .spa-card-category{position:absolute;left:20px;bottom:18px;background:#ffffffed;padding:5px 12px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;border-radius:30px;color:#733f7b}.spa-card-copy{padding:25px;flex:1;display:flex;flex-direction:column}.spa-card h3{font:400 23px/1.35 var(--alt-font);margin-bottom:12px;color:var(--spa-ink)}.spa-card p{font-size:15px;line-height:1.7;color:#817780;margin-bottom:22px}.spa-card-arrow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--spa-purple)}.spa-card-arrow i{font-size:18px}
.spa-discover{padding:100px 0;background:var(--spa-cream);position:relative}.spa-discover-top{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center;margin-bottom:45px}.spa-discover h1{font:400 clamp(34px,3.5vw,48px)/1.16 var(--alt-font);letter-spacing:-1.4px;color:var(--spa-ink);margin:0}.spa-discover-description p{margin-bottom:18px}.spa-discover-location{display:inline-flex;gap:9px;align-items:center;color:#775880;font-size:14px}.spa-discover .spa-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.spa-discover .spa-card-image img{height:215px}.spa-discover .spa-card h2{font:400 24px/1.25 var(--alt-font);margin-bottom:10px;color:var(--spa-ink)}.spa-discover .spa-card-copy{padding:23px}.spa-discover-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:35px;border-top:1px solid var(--spa-line);padding-top:23px;font-size:14px}.spa-discover-bottom p{margin:0;display:flex;align-items:center;gap:12px}.spa-discover-bottom i{color:var(--spa-purple)}
.spa-sources{margin:25px 0 50px;padding:25px;background:var(--spa-cream);border-radius:6px;font-size:14px;line-height:1.8}.spa-sources h2{font:500 16px/1.5 var(--primary-font);margin-bottom:10px;color:var(--spa-ink)}
footer.spa-footer{padding-top:0!important;position:relative;isolation:isolate}.spa-footer-directory{position:relative;padding:60px 0 42px;border-bottom:1px solid var(--spa-line);margin-bottom:45px;background:#f8f3f0}.spa-footer-directory-grid{display:grid;grid-template-columns:1.15fr 1fr 1.25fr 170px;gap:36px;align-items:start}.spa-footer-directory h2{font:400 24px/1.3 var(--alt-font);color:var(--spa-ink);margin-bottom:22px}.spa-footer-directory nav{position:relative;z-index:2}.spa-footer-directory nav a{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:8px 0;color:#736977;font-size:15px;line-height:1.5;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.spa-footer-directory nav a:hover{color:var(--spa-purple);border-bottom-color:var(--spa-purple)}.spa-footer-directory nav a:before{content:"›";color:var(--spa-purple)}.spa-footer-emblem{align-self:center;pointer-events:none;user-select:none}.spa-footer-emblem img{width:170px;max-width:100%;height:auto;animation:spa-drift 5s ease-in-out infinite}.spa-footer-directory a:focus-visible,.spa-card:focus-visible,.spa-text-link:focus-visible,.spa-faq summary:focus-visible{outline:2px solid var(--spa-purple);outline-offset:5px}
@keyframes spa-soft-zoom{from{transform:scale(1.02)}to{transform:scale(1.12)}}@keyframes spa-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.spa-motion-ready .spa-reveal{transition:opacity .7s ease,transform .7s ease;transition-delay:var(--spa-reveal-delay,0ms)}.spa-motion-ready .spa-reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
@media(min-width:1600px){.spa-breadcrumb{left:max(24px,calc((100vw - 1320px)/2))}}
@media(max-width:1199px){.spa-intro-grid{gap:40px}.spa-reading-grid{gap:35px;grid-template-columns:minmax(0,1fr) 260px}.spa-discover .spa-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-footer-directory-grid{gap:25px;grid-template-columns:1fr 1fr 1.2fr}.spa-footer-emblem{display:none}.spa-hero{min-height:600px}}
@media(max-width:991px){.spa-hero{padding-top:155px;min-height:560px}.spa-intro-grid{gap:40px;grid-template-columns:1fr}.spa-intro-image{max-width:630px;width:100%;margin:10px auto 0}.spa-reading-grid{grid-template-columns:1fr}.spa-sidebar{position:relative;top:auto;order:-1}.spa-sidebar nav{display:flex;flex-wrap:wrap;gap:10px 20px}.spa-sidebar nav a{border:0;padding:0}.spa-sidebar-note{display:none}.spa-editorial{padding-top:60px}.spa-faq-grid{gap:30px;grid-template-columns:1fr}.spa-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-cta-inner{grid-template-columns:1fr;gap:30px}.spa-cta-actions{text-align:left}.spa-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-discover-top{grid-template-columns:1fr;gap:28px}.spa-hero h1{letter-spacing:-1.1px}.spa-related-heading{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:767px){.spa-page .container,.spa-discover>.container,.spa-footer-directory>.container{padding-left:24px;padding-right:24px}.spa-hero{min-height:535px;padding:140px 0 105px}.spa-hero h1{font-size:40px;line-height:1.12}.spa-hero-subtitle{font-size:17px;line-height:1.65}.spa-hero-scroll{right:24px;left:auto;transform:none}.spa-breadcrumb{left:24px;right:75px;bottom:28px;font-size:11px}.spa-eyebrow{font-size:10px;letter-spacing:1.7px;gap:10px}.spa-intro-section,.spa-discover{padding:60px 0}.spa-intro-copy p{font-size:17px}.spa-intro-image{padding:0 20px 24px 0}.spa-intro-image>img{height:330px;border-top-left-radius:110px}.spa-intro-image:after{top:24px;left:24px;border-top-left-radius:110px}.spa-image-note{left:0;padding:14px 18px;font-size:13px}.spa-path{grid-template-columns:1fr;gap:23px;margin-top:48px}.spa-path-item{gap:18px}.spa-path-number{font-size:29px}.spa-editorial{padding:45px 0 20px}.spa-chapter h2{font-size:27px;line-height:1.3}.spa-chapter{margin-bottom:35px;padding-bottom:30px}.spa-chapter p,.spa-chapter li{font-size:17px}.spa-sidebar{padding:22px}.spa-faq{padding-bottom:50px}.spa-faq h2{font-size:30px}.spa-faq summary{font-size:16px}.spa-cta{padding:60px 0}.spa-related{padding:60px 0 70px}.spa-card-grid,.spa-discover .spa-card-grid{grid-template-columns:1fr;gap:23px}.spa-card-image img,.spa-discover .spa-card-image img{height:245px}.spa-gallery-grid{grid-template-columns:1fr}.spa-gallery-grid img{height:340px}.spa-gallery-section{padding-top:50px}.spa-discover-bottom{align-items:start;flex-direction:column;gap:12px}.spa-footer-directory{padding:45px 0 25px}.spa-footer-directory-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.spa-footer-directory-grid>div:nth-child(3){grid-column:1/-1}.spa-footer-directory h2{font-size:21px;margin-bottom:15px}.spa-footer-directory nav a{font-size:14px;line-height:1.6}.spa-quote{font-size:23px;padding-left:20px}}
@media(prefers-reduced-motion:reduce){.spa-page *, .spa-discover *, .spa-footer-directory *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.spa-motion-ready .spa-reveal:not(.is-visible),.spa-page [data-anime],.spa-discover [data-anime],.spa-footer-directory [data-anime],.spa-reveal,.spa-reveal>*{opacity:1!important;transform:none!important}.spa-hero-media{transform:none!important}}
