:root{
  --surface:#e6e7e9;--surface-2:#dfe1e3;--ink:#231f20;--muted:#6d6e72;
  --dark:#171516;--dark-2:#292526;--line:rgba(35,31,32,.14);
  --shadow-dark:#c2c4c7;--shadow-light:#ffffff;--radius:22px;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-noise{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:20}
.section{width:min(1240px,calc(100% - 80px));margin:auto;padding:120px 0}.site-header{position:fixed;top:18px;left:0;width:100%;z-index:50;padding:0 24px}.glass{background:rgba(35,31,32,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.13)}
.nav-shell{width:min(1240px,100%);margin:auto;border-radius:18px;padding:8px 10px 8px 14px;display:flex;align-items:center;gap:24px;color:#fff;box-shadow:0 18px 50px rgba(35,31,32,.16)}
.brand{width:74px;height:54px;overflow:hidden;border-radius:9px;display:flex;align-items:center;background:transparent;flex:none}.brand img{width:100%;height:100%;object-fit:contain}.nav-links{display:flex;align-items:center;justify-content:center;gap:25px;flex:1;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nav-links a{opacity:.78;transition:.25s}.nav-links a:hover{opacity:1}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 19px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.btn span{font-size:15px}.btn-dark{background:var(--ink);color:#fff;box-shadow:5px 5px 10px rgba(0,0,0,.22),-3px -3px 8px rgba(255,255,255,.08)}.nav-shell .btn-dark{background:#f0f0f0;color:var(--ink);box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn-outline{background:transparent;border:1px solid var(--line);box-shadow:5px 5px 10px var(--shadow-dark),-5px -5px 10px var(--shadow-light)}.menu-toggle,.mobile-menu{display:none}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:700;color:var(--muted);margin:0 0 22px;position:relative;display:inline-flex;align-items:center}.eyebrow-line{display:inline-block;width:32px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(70px,9vw,130px);line-height:.79;margin-bottom:30px}h1 em,h2 em{font-weight:400}h2{font-size:clamp(48px,6vw,82px);line-height:.9;margin-bottom:28px}h3{font-family:var(--serif);font-size:28px;font-weight:600}
.hero{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:40px;padding-top:145px}.hero-lead{max-width:570px;color:var(--muted);line-height:1.8;font-size:15px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:7px}.hero-note{margin-top:80px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.hero-note i{width:65px;height:1px;background:var(--line)}
.hero-art{height:620px;position:relative;display:grid;place-items:center}.book-scene{position:relative;width:470px;height:500px}.book-shadow{position:absolute;width:360px;height:70px;left:55px;bottom:55px;border-radius:50%;background:rgba(35,31,32,.2);filter:blur(25px);transform:rotate(-12deg)}.book{position:absolute;width:260px;height:380px;left:100px;top:65px;transform:rotate(-11deg) skewY(2deg);transform-style:preserve-3d;filter:drop-shadow(28px 30px 20px rgba(35,31,32,.2))}.book-cover{position:absolute;inset:0;border-radius:5px 13px 13px 5px;background:linear-gradient(145deg,#2d292a,#121011);color:#f0f0f0;padding:40px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset -8px 0 0 rgba(255,255,255,.04)}.cover-rule{width:100%;height:1px;background:rgba(255,255,255,.45);margin-bottom:30px}.book-cover small{font-size:8px;letter-spacing:.22em}.book-cover strong{font-family:var(--serif);font-size:54px;line-height:.72;font-weight:500;margin:28px 0}.book-cover span{font-family:var(--serif);font-style:italic;font-size:13px}.book-pages{position:absolute;right:-20px;top:10px;width:22px;height:355px;background:repeating-linear-gradient(0deg,#d9d7d3 0,#d9d7d3 2px,#f2f0eb 3px,#c7c4be 4px);transform:skewY(-3deg);border-radius:0 5px 5px 0;z-index:-1}.paper{position:absolute;background:#f7f5f0;box-shadow:12px 18px 25px rgba(35,31,32,.12)}.paper-a{width:180px;height:230px;right:10px;top:20px;transform:rotate(10deg)}.paper-b{width:150px;height:205px;left:20px;bottom:50px;transform:rotate(9deg)}.quill{position:absolute;right:28px;bottom:85px;font-size:70px;transform:rotate(-28deg);opacity:.7}.art-caption{position:absolute;font-size:9px;letter-spacing:.17em;line-height:1.7;color:var(--muted)}.art-caption.top{top:80px;right:10px}.art-caption.bottom{bottom:50px;left:10px}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px max(40px,calc((100% - 1240px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.intro{display:grid;grid-template-columns:1fr .75fr;gap:100px}.intro-copy{padding-top:55px}.intro-copy p,.section-top>p,.marketing-copy>p{color:var(--muted);line-height:1.9;font-size:15px;margin-bottom:22px}
.section-top{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin-bottom:55px}.section-top>p{margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.neo-card{background:var(--surface);border-radius:var(--radius);box-shadow:9px 9px 18px var(--shadow-dark),-9px -9px 18px var(--shadow-light)}.service-card{padding:34px;min-height:490px;position:relative;overflow:hidden}.card-number{font-size:10px;color:var(--muted);letter-spacing:.1em}.icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:55px 0 28px;font-family:var(--serif);font-size:23px;box-shadow:inset 4px 4px 8px var(--shadow-dark),inset -4px -4px 8px var(--shadow-light)}.service-card h3{margin-bottom:12px}.service-card>p{font-size:12px;color:var(--muted);line-height:1.7}.service-card ul,.package-card ul{list-style:none;padding:0;margin:28px 0 0}.service-card li,.package-card li{font-size:11px;padding:10px 0;border-bottom:1px solid var(--line);color:#454144}.service-card li:before,.package-card li:before{content:"—";margin-right:8px;color:var(--muted)}
.centered{text-align:center}.process{padding-bottom:80px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;gap:20px;margin-top:70px}.timeline-line{position:absolute;top:13px;left:8%;right:8%;height:1px;background:var(--line)}.step{position:relative;padding:0 15px;text-align:center}.step span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;margin:0 auto 30px;background:var(--surface);box-shadow:inset 3px 3px 6px var(--shadow-dark),inset -3px -3px 6px var(--shadow-light);font-size:8px;position:relative;z-index:2}.step h3{font-size:22px}.step p{font-size:11px;line-height:1.7;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.package-card{padding:36px;min-height:510px;position:relative;display:flex;flex-direction:column}.package-label{font-size:9px;letter-spacing:.16em;font-weight:700;color:var(--muted)}.package-card h3{font-size:42px;margin:15px 0 10px}.package-card>p{font-size:12px;color:var(--muted);line-height:1.7}.package-price{font-family:var(--serif);font-size:24px;margin:20px 0}.package-card .btn{margin-top:auto}.featured{transform:translateY(-12px)}.recommended{position:absolute;top:0;right:25px;background:var(--ink);color:#fff;padding:9px 12px;font-size:8px;letter-spacing:.12em}
.why{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.why-visual{min-height:580px;display:grid;place-items:center}.folio{width:360px;height:460px;background:#2b2728;color:#eee;transform:rotate(-7deg);box-shadow:30px 35px 50px rgba(35,31,32,.2);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-family:var(--serif);font-size:47px;line-height:.8;text-align:center}.folio b{font-family:var(--sans);font-size:20px;font-weight:400}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini{padding:25px;min-height:175px}.mini b{font-size:9px;color:var(--muted)}.mini h3{font-size:21px;margin:25px 0 8px}.mini p{font-size:10px;line-height:1.7;color:var(--muted)}
.marketing{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.marketing-copy{max-width:520px}.marketing-list{display:grid;gap:14px}.marketing-list .neo-card{padding:20px 25px;display:grid;grid-template-columns:45px 1fr 20px;align-items:center;font-family:var(--serif);font-size:22px}.marketing-list span{font-family:var(--sans);font-size:9px;color:var(--muted)}.marketing-list b{font-family:var(--sans);font-size:15px;font-weight:400;text-align:right;color:var(--muted)}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--serif);font-size:23px;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-family:var(--sans);font-size:16px;transition:transform .3s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;line-height:1.8;color:var(--muted);max-width:650px;padding:0 0 22px;margin:0}
.contact{padding-top:40px;padding-bottom:140px}.contact-panel{border-radius:30px;padding:55px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:rgba(35,31,32,.82);color:#fff}.contact-copy .eyebrow{color:#bbb}.contact-copy h2{font-size:65px}.contact-copy>p{color:#c1bec0;line-height:1.8;font-size:13px}.contact-meta{border-top:1px solid rgba(255,255,255,.13);margin-top:65px;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#aaa}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}.contact label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#aaa}.contact input,.contact textarea,.contact select{width:100%;margin-top:8px;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;padding:13px 0;outline:0;border-radius:0}.contact textarea{resize:vertical}.contact input::placeholder,.contact textarea::placeholder{color:#777}.contact select{color:#999}.contact select option{color:#222}.full{grid-column:1/-1}.privacy{font-size:9px;color:#777;line-height:1.5}
.footer{background:#171516;color:#fff;padding:80px max(40px,calc((100% - 1240px)/2)) 25px}.footer-top{display:grid;grid-template-columns:1.3fr .65fr .7fr .7fr 1.3fr;gap:35px;padding-bottom:65px}.footer-brand img{width:95px;height:95px;object-fit:cover;border-radius:12px;background:#000}.footer-brand p{color:#888;max-width:250px;font-size:11px;line-height:1.8;margin-top:20px}.footer h4{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#777;margin:8px 0 20px}.footer-top>div:not(.footer-brand):not(.newsletter) a{display:block;color:#bbb;font-size:10px;margin:0 0 13px}.newsletter{border-radius:18px;padding:22px;background:rgba(255,255,255,.06)}.newsletter .eyebrow{color:#888;margin-bottom:12px}.newsletter h3{margin-bottom:8px}.newsletter p{font-size:10px;color:#888;line-height:1.7}.newsletter form{display:flex;border-bottom:1px solid #444;margin-top:22px}.newsletter input{background:transparent;border:0;outline:0;color:#fff;width:100%;padding:10px 0;font-size:10px}.newsletter button{border:0;background:transparent;color:#fff;cursor:pointer}.footer-bottom{border-top:1px solid #292526;padding-top:20px;display:flex;justify-content:space-between;color:#666;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(25px)}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:14px 18px;border-radius:12px;font-size:11px;z-index:100;opacity:0;transform:translateY(10px);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:none}
\n.page-hero{padding-top:190px;padding-bottom:70px;min-height:55vh}.page-hero h1{max-width:900px}.page-hero .hero-lead{max-width:700px}.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-list{display:grid;gap:18px}.article-card{padding:30px}.article-card p{color:var(--muted);line-height:1.8;font-size:12px}.legal-copy{max-width:850px;color:var(--muted);line-height:1.9;font-size:13px}.legal-copy h2{font-size:38px;margin-top:55px}.legal-copy h3{font-size:25px;margin-top:35px}@media(max-width:760px){.page-hero{padding-top:140px}.simple-grid{grid-template-columns:1fr}}\n
/* ===== Premium editorial publishing layer ===== */
:root{
  --editorial-line:rgba(35,31,32,.12);
  --editorial-soft:#f2f0eb;
  --editorial-deep:#171516;
}
.glass{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.nav-shell.glass,.mobile-menu.glass,.contact-panel.glass,.newsletter.glass{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.editorial-hero{padding-top:170px;padding-bottom:105px;position:relative;overflow:hidden}
.editorial-hero:after{content:"";position:absolute;right:-8%;top:10%;width:42vw;height:42vw;border-radius:50%;border:1px solid rgba(35,31,32,.08);pointer-events:none}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.about-home-image{grid-column:1/-1;height:330px;border-radius:28px;overflow:hidden;margin-bottom:35px;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}
.about-home-image img,.editorial-image img,.about-image img,.process-visual img,.resource-feature img,.editorial-image-band img{width:100%;height:100%;object-fit:cover;display:block}
.editorial-image{height:440px;border-radius:28px;overflow:hidden;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}
.service-overview{padding-top:20px}
.service-detail{padding-top:105px}
.alt-detail{background:linear-gradient(180deg,transparent,rgba(255,255,255,.12),transparent)}
.detail-heading{display:grid;grid-template-columns:90px 1fr;gap:25px;align-items:start;margin-bottom:42px}
.detail-heading>span{font-family:var(--serif);font-size:4rem;line-height:1;color:rgba(35,31,32,.22)}
.detail-heading h2{font-size:clamp(2.4rem,4vw,4.7rem);margin:.2rem 0 15px;line-height:.95}
.detail-heading p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:16px;line-height:1.8}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.detail-card{min-height:255px;padding:30px;display:flex;flex-direction:column}
.detail-card>b{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.62}
.detail-card h3{font-family:var(--serif);font-size:28px;margin:16px 0 10px}
.detail-card p{color:var(--muted);line-height:1.7;margin:0 0 18px}
.detail-card span:last-child{margin-top:auto;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.process-banner{margin-top:25px}
.process-banner>div{padding:55px 60px;border-radius:28px;background:var(--dark);color:#fff;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}
.process-banner .eyebrow{color:rgba(255,255,255,.58)}
.process-banner h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);line-height:.95;margin:8px 0 18px}
.process-banner p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.68);line-height:1.7}
.process-banner .btn-dark{background:#fff;color:var(--ink);margin-top:18px}

.package-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end}
.section-note{color:var(--muted);line-height:1.8;max-width:560px;margin:0}
.package-page-grid{padding-top:20px}
.package-page-grid .package-card{min-height:600px}
.package-card .btn{margin-top:auto}
.package-note .neo-card{padding:55px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center}
.package-note h2{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.2rem);line-height:.95;margin:0}
.package-note p{color:var(--muted);line-height:1.75}
.package-footer-link{display:flex;justify-content:center;margin-top:24px}

.testimonials{padding-top:90px}
.testimonial-card{padding:38px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}
.stars{letter-spacing:.18em;font-size:12px;opacity:.55}
.testimonial-card blockquote{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.08;margin:35px 0}
.testimonial-card>div:last-child{display:flex;flex-direction:column;gap:5px}
.testimonial-card>div:last-child span{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px}
.testimonial-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);box-shadow:5px 5px 10px var(--shadow-dark),-5px -5px 10px var(--shadow-light);cursor:pointer}
.testimonial-controls .swiper-pagination{position:static;width:auto}
/* Safety net matching Swiper core layout rules, in case the Swiper CSS CDN is ever
   unreachable — the testimonial cards stay laid out and visible either way. */
.swiper{position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}
.swiper-wrapper{position:relative;width:100%;height:100%;display:flex;transition-property:transform;box-sizing:content-box}
.swiper-slide{flex-shrink:0;width:100%;height:auto;position:relative;transform:translate3d(0,0,0)}
.editorial-image-band{height:470px;margin:35px auto 80px;width:min(1400px,calc(100% - 80px));border-radius:30px;overflow:hidden;position:relative;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}
.editorial-image-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,16,.72),rgba(17,16,16,.15) 70%,rgba(17,16,16,0))}
.editorial-image-band>div{position:absolute;z-index:2;left:7%;top:50%;transform:translateY(-50%);color:#fff}
.editorial-image-band .eyebrow{color:rgba(255,255,255,.6)}
.editorial-image-band h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5rem);line-height:.92;margin:8px 0}
.editorial-image-band em,.detail-heading em,.package-note em{font-style:italic}
.about-story,.about-process{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.about-image,.process-visual{height:590px;border-radius:28px;overflow:hidden;box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light)}
.about-copy h2,.process-copy h2{font-family:var(--serif);font-size:clamp(2.5rem,4.4vw,4.8rem);line-height:.96;margin:10px 0 22px}
.about-copy p:not(.eyebrow),.process-copy p{color:var(--muted);line-height:1.8}
.editorial-steps{list-style:none;padding:0;margin:30px 0 0}
.editorial-steps li{display:flex;gap:20px;padding:18px 0;border-top:1px solid var(--editorial-line)}
.editorial-steps li>span{font-family:var(--serif);font-size:24px;opacity:.5}
.editorial-steps b{font-size:14px}.editorial-steps p{margin:4px 0 0;font-size:13px}
.resource-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:440px;overflow:hidden;border-radius:28px;background:var(--surface-2);box-shadow:12px 12px 28px var(--shadow-dark),-12px -12px 28px var(--shadow-light);margin-bottom:30px}
.resource-feature img{min-height:440px}
.resource-feature>div{padding:55px;display:flex;flex-direction:column;justify-content:center}
.resource-feature h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);line-height:.95;margin:10px 0 18px}
.resource-feature p:not(.eyebrow){color:var(--muted);line-height:1.75}
.article-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.article-card{min-height:280px;padding:28px;display:flex;flex-direction:column}
.article-card h3{font-family:var(--serif);font-size:27px;line-height:1.02}
.article-card p:not(.eyebrow){color:var(--muted);line-height:1.65}
.article-meta{margin-top:auto;font-size:9px;letter-spacing:.13em;opacity:.5}
.services .service-card{display:flex;flex-direction:column}
.services .service-card .text-link{margin-top:auto}
.reveal{will-change:transform,opacity}

@media(max-width:900px){
  .detail-grid,.article-list{grid-template-columns:repeat(2,1fr)}
  .about-story,.about-process,.package-intro,.resource-feature{grid-template-columns:1fr}
  .about-image,.process-visual{height:420px}
  .package-note .neo-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .editorial-hero{padding-top:135px}
  .editorial-image{height:300px}
  .detail-heading{grid-template-columns:1fr;gap:8px}
  .detail-heading>span{font-size:2.5rem}
  .detail-grid,.article-list{grid-template-columns:1fr}
  .detail-card{min-height:220px}
  .process-banner>div{padding:35px 25px}
  .editorial-image-band{width:calc(100% - 36px);height:360px}
  .editorial-image-band>div{left:8%;right:8%}
  .about-home-image{height:220px}
  .about-image,.process-visual{height:340px}
  .resource-feature>div{padding:32px}
  .resource-feature img{min-height:260px}
  .testimonial-card{min-height:300px;padding:28px}
}

/* Contact glass controls — translucent, restrained and consistent with the 6px glass layer */
.contact-panel{border-color:rgba(255,255,255,.14);box-shadow:18px 18px 36px rgba(194,196,199,.72),-14px -14px 32px rgba(255,255,255,.7)}
.contact-panel input,.contact-panel select,.contact-panel textarea{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  box-shadow:inset 2px 2px 6px rgba(0,0,0,.12),inset -2px -2px 6px rgba(255,255,255,.05);
}
.contact-panel input::placeholder,.contact-panel textarea::placeholder{color:rgba(255,255,255,.48)}
.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{
  outline:none;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(255,255,255,.08),inset 2px 2px 6px rgba(0,0,0,.1);
}

/* ===== High-end interactive layer ===== */
html.is-transitioning,html.is-transitioning body{overflow:hidden}
.page-transition{position:fixed;inset:0;z-index:200;pointer-events:none;background:var(--dark);transform:scaleY(0);transform-origin:bottom;}
.page-transition:after{content:"BOOK PUBLISHING CORP.";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:600 10px var(--sans);letter-spacing:.22em;color:rgba(255,255,255,.7)}
.cursor-orb{position:fixed;width:18px;height:18px;border:1px solid rgba(35,31,32,.32);border-radius:50%;pointer-events:none;z-index:180;opacity:0;transform:translate(-50%,-50%);mix-blend-mode:multiply}
.magnetic{will-change:transform}
.tilt-card{transform-style:preserve-3d;will-change:transform}
.tilt-card > *{transform:translateZ(0)}

.webgl-book-stage{position:absolute;inset:-10%;z-index:0;pointer-events:none;display:grid;place-items:center}
#bookWebGL{width:100%;height:100%;display:block}
.webgl-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,transparent 0 32%,rgba(230,231,233,.2) 70%,rgba(230,231,233,.75) 100%)}
.hero-art > .book-scene{z-index:2;position:relative}
.hero-art{isolation:isolate}

.journey-story{padding-top:100px;padding-bottom:140px}
.journey-intro{max-width:720px;margin-bottom:70px}
.journey-intro > p:last-child{color:var(--muted);line-height:1.8;max-width:620px}
.journey-stage-shell{min-height:620px;position:relative;display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:stretch}
.journey-stage-canvas{position:sticky;top:15vh;height:70vh;min-height:500px;display:grid;place-items:center;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(35,31,32,.025));box-shadow:inset 4px 4px 10px rgba(194,196,199,.35),inset -4px -4px 10px rgba(255,255,255,.6);overflow:hidden}
#journeyWebGL{width:100%;height:100%;display:block}
.journey-steps{display:flex;flex-direction:column;gap:0;padding:8vh 0}
.journey-step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;padding:50px 0;border-top:1px solid var(--line);opacity:.7;transform:translateX(20px);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.journey-step:last-child{border-bottom:1px solid var(--line)}
.journey-step.is-active{opacity:1;transform:none}
.journey-step span{font:400 46px/1 var(--serif);opacity:.55;margin-bottom:20px}
.journey-step b{font:700 11px/1 var(--sans);letter-spacing:.2em}
.journey-step p{max-width:390px;color:var(--muted);line-height:1.8;margin:13px 0 0}
.journey-counter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.journey-counter-row>div{padding:28px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:10px}
.journey-counter-row strong{font:500 clamp(42px,6vw,70px)/1 var(--serif)}
.journey-counter-row span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

.service-card,.package-card,.detail-card,.mini,.article-card,.testimonial-card{transition:box-shadow .35s ease,transform .35s ease}
.service-card:hover,.package-card:hover,.detail-card:hover,.mini:hover,.article-card:hover,.testimonial-card:hover{box-shadow:14px 14px 28px var(--shadow-dark),-14px -14px 28px var(--shadow-light)}

@media(max-width:900px){
  .journey-stage-shell{grid-template-columns:1fr;min-height:auto}
  .journey-stage-canvas{position:sticky;top:90px;height:52vh;min-height:360px;order:-1}
  .journey-step{min-height:55vh;padding:40px 0}
}
@media(max-width:760px){
  .webgl-book-stage{inset:-4%}
  .journey-story{padding-top:75px;padding-bottom:90px}
  .journey-intro{margin-bottom:40px}
  .journey-stage-canvas{height:48vh;min-height:300px;border-radius:22px}
  .journey-step{min-height:48vh}
  .journey-counter-row{grid-template-columns:1fr;gap:0}
  .journey-counter-row>div{padding:20px 0}
  .cursor-orb{display:none}
}
@media(prefers-reduced-motion:reduce){
  .page-transition,.cursor-orb{display:none!important}
  .journey-step{transition:none!important;transform:none!important}
  .tilt-card,.magnetic{transform:none!important}
}
@media(max-width:760px), (prefers-reduced-motion:reduce){
  .webgl-book-stage,.journey-stage-canvas{background:transparent}
}

.journey-fallback-book{display:none;width:180px;height:250px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);border-radius:4px 12px 12px 4px;background:linear-gradient(145deg,#2d292a,#121011);color:#f0f0f0;box-shadow:24px 28px 35px rgba(35,31,32,.18);padding:26px 20px;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px}.journey-fallback-book i{width:100%;height:1px;background:rgba(255,255,255,.35)}.journey-fallback-book b{font:500 38px/.75 var(--serif)}.journey-fallback-book span{font-size:7px;letter-spacing:.18em;opacity:.65}
.webgl-fallback .journey-fallback-book{display:flex}
@media(max-width:760px){.journey-fallback-book{display:flex}}

/* ===== Premium interactive polish layer ===== */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2.5px;z-index:210;background:transparent;pointer-events:none}
.scroll-progress i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--dark),#847c68,var(--dark));transform-origin:left;box-shadow:0 0 12px rgba(35,31,32,.35)}

.nav-links a{position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .35s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover:after{width:100%}
.nav-links a.is-current{opacity:1}
.nav-links a.is-current:after{width:100%}

/* Shine sweep on primary buttons */
.btn-dark{position:relative;overflow:hidden}
.btn-dark:before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .65s cubic-bezier(.2,.7,.2,1)}
.btn-dark:hover:before{left:130%}

/* Elevated, glowing hover for neumorphic cards — layered on top of the existing tilt-card JS */
.service-card,.package-card,.detail-card,.mini,.article-card,.testimonial-card{position:relative}
.service-card:hover,.package-card:hover,.detail-card:hover,.mini:hover,.article-card:hover,.testimonial-card:hover{box-shadow:16px 16px 34px var(--shadow-dark),-16px -16px 34px var(--shadow-light),0 0 0 1px rgba(35,31,32,.05)}
.package-card.featured:hover,.service-card:hover .icon{transform:translateZ(0) scale(1.05)}
.icon{transition:transform .4s cubic-bezier(.2,.7,.2,1)}

/* Editorial image hover depth — subtle premium zoom, no layout shift */
.about-home-image,.editorial-image,.about-image,.process-visual,.resource-feature,.editorial-image-band{overflow:hidden}
.about-home-image img,.editorial-image img,.about-image img,.process-visual img,.resource-feature img,.editorial-image-band img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.about-home-image:hover img,.editorial-image:hover img,.about-image:hover img,.process-visual:hover img,.resource-feature:hover img,.editorial-image-band:hover img{transform:scale(1.045)}

/* Testimonial cards get a quiet quote-mark accent */
.testimonial-card{position:relative}
.testimonial-card:before{content:"“";position:absolute;top:18px;right:26px;font-family:var(--serif);font-size:70px;line-height:1;color:rgba(35,31,32,.06);pointer-events:none}

/* Underline text-links get the same premium sweep as buttons */
.text-link{position:relative;overflow:hidden}
.text-link span{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.text-link:hover span{transform:translateX(3px)}

/* Back-to-top */
.back-to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--surface);display:grid;place-items:center;box-shadow:9px 9px 18px var(--shadow-dark),-9px -9px 18px var(--shadow-light);z-index:90;cursor:pointer;opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);border:0}
.back-to-top.show{opacity:1;transform:none;pointer-events:auto}
.back-to-top svg{width:16px;height:16px}

@media(max-width:760px){
  .back-to-top{right:14px;bottom:14px;width:42px;height:42px}
  .testimonial-card:before{font-size:52px;top:12px;right:18px}
}
@media(prefers-reduced-motion:reduce){
  .btn-dark:before,.text-link span,.about-home-image img,.editorial-image img,.about-image img,.process-visual img,.resource-feature img,.editorial-image-band img{transition:none!important}
  .scroll-progress{display:none}
}

/* ===== Logo preloader ===== */
.site-preloader{position:fixed;inset:0;z-index:300;background:var(--dark);display:grid;place-items:center;overflow:hidden;transition:opacity .6s cubic-bezier(.2,.7,.2,1),visibility .6s}
.site-preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.preloader-bg-video{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;object-position:center;mix-blend-mode:screen;-webkit-mix-blend-mode:screen}
.preloader-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px}
.preloader-mark{width:max(19vw,33vh);height:max(19vw,33vh);position:relative;opacity:0;transform:scale(.94);animation:preloaderIn 1s cubic-bezier(.2,.7,.2,1) .1s forwards}
.preloader-mark img{width:100%;height:100%;object-fit:contain;display:block;opacity:0;animation:preloaderLogoIn .5s ease forwards;animation-delay:1.85s}
@keyframes preloaderLogoIn{to{opacity:1}}
.preloader-word{font-family:var(--sans);font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.62);opacity:0;animation:preloaderIn .8s ease .4s forwards}
.preloader-track{width:150px;height:2px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden;opacity:0;animation:preloaderIn .6s ease .5s forwards}
.preloader-track i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#847c68,#f0ece2);border-radius:2px}
@keyframes preloaderIn{to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
  .site-preloader{transition:opacity .25s}
  .preloader-mark,.preloader-word,.preloader-track,.preloader-mark img{animation:none!important;opacity:1;transform:none}
  .preloader-bg-video{display:none!important}
}

/* ===== Notification popup ===== */
.notify-pop{position:fixed;left:22px;bottom:22px;z-index:120;width:320px;max-width:calc(100vw - 44px);background:var(--surface);border-radius:18px;box-shadow:14px 14px 30px var(--shadow-dark),-14px -14px 30px var(--shadow-light);padding:20px 20px 18px;opacity:0;transform:translateY(18px) scale(.97);pointer-events:none;transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
.notify-pop.show{opacity:1;transform:none;pointer-events:auto}
.notify-pop-top{display:flex;align-items:flex-start;gap:12px}
.notify-pop-icon{width:36px;height:36px;border-radius:10px;overflow:hidden;flex:none;background:transparent}
.notify-pop-icon img{width:100%;height:100%;object-fit:contain}
.notify-pop-body b{display:block;font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:4px}
.notify-pop-body p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.notify-pop-close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:15px;color:var(--muted);cursor:pointer;line-height:1;padding:4px}
.notify-pop-actions{display:flex;gap:10px;margin-top:14px}
.notify-pop-actions a{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--ink);color:#fff;padding:10px 14px;border-radius:999px;text-decoration:none}
.notify-pop-actions button{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:none;border:1px solid var(--line);padding:10px 14px;border-radius:999px;cursor:pointer;color:var(--ink)}
@media(max-width:760px){.notify-pop{left:14px;right:14px;bottom:14px;width:auto}}

/* ===== Chatbot widget ===== */
.chat-toggle{position:fixed;left:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:9px 9px 18px var(--shadow-dark),-9px -9px 18px var(--shadow-light);z-index:130;cursor:pointer;border:0;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.chat-toggle:hover{transform:translateY(-2px) scale(1.04)}
.chat-toggle svg{width:24px;height:24px;transition:opacity .2s,transform .2s}
.chat-toggle .icon-close{position:absolute;opacity:0;transform:rotate(-20deg) scale(.7)}
.chat-toggle.is-open .icon-chat{opacity:0;transform:rotate(20deg) scale(.7)}
.chat-toggle.is-open .icon-close{opacity:1;transform:none}
.chat-toggle .chat-dot{position:absolute;top:6px;right:6px;width:11px;height:11px;border-radius:50%;background:#c65c3b;border:2px solid var(--ink);animation:chatPulse 2.4s ease-in-out infinite}
.chat-toggle.is-open .chat-dot,.chat-toggle.seen .chat-dot{display:none}
@keyframes chatPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}

.chat-panel{position:fixed;left:22px;bottom:92px;width:340px;max-width:calc(100vw - 44px);height:440px;max-height:calc(100vh - 130px);background:var(--surface);border-radius:20px;box-shadow:16px 16px 34px var(--shadow-dark),-16px -16px 34px var(--shadow-light);z-index:129;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom left;pointer-events:none;transition:opacity .35s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1)}
.chat-panel.show{opacity:1;transform:none;pointer-events:auto}
.chat-panel-head{background:var(--dark);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px;flex:none}
.chat-panel-head img{width:34px;height:34px;border-radius:9px;object-fit:cover;background:#000}
.chat-panel-head b{display:block;font-family:var(--serif);font-size:15px;font-weight:600}
.chat-panel-head span{display:block;font-size:10px;color:rgba(255,255,255,.6);margin-top:2px}
.chat-panel-head span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#6fbf73;margin-right:6px}
.chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.chat-msg{max-width:82%;font-size:12.5px;line-height:1.6;padding:11px 14px;border-radius:14px}
.chat-msg.bot{align-self:flex-start;background:#fff;box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light);border-bottom-left-radius:4px}
.chat-msg.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 14px;flex:none}
.chat-quick button{font-size:10.5px;background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;cursor:pointer;color:var(--ink)}
.chat-quick button:hover{background:var(--ink);color:#fff}
.chat-panel-foot{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--line);flex:none;background:var(--surface)}
.chat-panel-foot input{flex:1;border:0;background:transparent;font-size:12.5px;padding:10px 8px;outline:0;font-family:var(--sans);color:var(--ink)}
.chat-panel-foot button{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .2s}
.chat-panel-foot button:hover{transform:scale(1.06)}
.chat-panel-foot svg{width:15px;height:15px}
.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;background:#fff;border-radius:14px;border-bottom-left-radius:4px;box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light)}
.chat-typing i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:chatTyping 1.2s ease-in-out infinite}
.chat-typing i:nth-child(2){animation-delay:.15s}
.chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes chatTyping{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@media(max-width:760px){
  .chat-toggle{left:14px;bottom:14px;width:52px;height:52px}
  .chat-panel{left:14px;bottom:78px;width:calc(100vw - 28px);height:min(62vh,480px)}
}
@media(prefers-reduced-motion:reduce){
  .chat-toggle .chat-dot{animation:none}
  .chat-typing i{animation:none;opacity:.7}
}
