/* === 0074 - Elegant Serif Editorial Style === */
/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;background:#faf8f5;color:#3d2b1f;line-height:1.6;overflow-x:hidden}

/* === FONT DEFINITIONS === */
.font-serif{font-family:Georgia,'Noto Serif SC','Source Han Serif SC','SimSun',serif}
.font-sans{font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif}

/* === NAVIGATION === */
.nav-link-serif{position:relative;letter-spacing:.1em}
.nav-link-serif::after{content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:1px;background:#b8942e;transition:width .4s cubic-bezier(.25,.1,.25,1)}
.nav-link-serif:hover::after{width:60%}

/* === EDITORIAL HERO === */
.editorial-hero{background:linear-gradient(180deg,#faf8f5 0%,#f3efe8 100%);position:relative;overflow:hidden}
.editorial-hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:100%;background:linear-gradient(180deg,transparent,rgba(184,148,46,.15),transparent);pointer-events:none}

/* === BUTTONS === */
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:#b8942e;color:#fff;padding:14px 32px;border-radius:2px;font-weight:600;font-size:15px;text-decoration:none;transition:all .4s cubic-bezier(.25,.1,.25,1);letter-spacing:.05em;font-family:'Inter','Segoe UI',sans-serif;border:1px solid #b8942e}
.btn-gold:hover{background:#a38329;transform:translateY(-2px);box-shadow:0 12px 30px rgba(184,148,46,.25)}
.btn-gold:active{transform:translateY(0);box-shadow:0 4px 12px rgba(184,148,46,.2)}
.btn-gold:focus-visible{outline:2px solid #3d2b1f;outline-offset:2px}
.btn-gold:disabled{opacity:.5;pointer-events:none}
.btn-outline-serif{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#3d2b1f;padding:14px 32px;border-radius:2px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid #3d2b1f;transition:all .4s cubic-bezier(.25,.1,.25,1);letter-spacing:.05em;font-family:'Inter','Segoe UI',sans-serif}
.btn-outline-serif:hover{background:#3d2b1f;color:#faf8f5;transform:translateY(-2px);box-shadow:0 12px 30px rgba(61,43,31,.15)}
.btn-outline-serif:active{transform:translateY(0)}
.btn-outline-serif:focus-visible{outline:2px solid #b8942e;outline-offset:2px}

/* === EDITORIAL CARDS === */
.editorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}
.editorial-card{background:#faf8f5;border:1px solid rgba(212,197,169,.4);padding:36px 30px;transition:all .4s ease;position:relative}
.editorial-card-accent{position:absolute;top:0;left:0;width:40px;height:1px;background:#b8942e;transition:width .4s ease}
.editorial-card:hover{background:#fff;border-color:rgba(184,148,46,.3);transform:translateY(-2px);box-shadow:0 8px 30px rgba(61,43,31,.06)}
.editorial-card:hover .editorial-card-accent{width:80px}
.editorial-card:focus-within{box-shadow:0 0 0 2px rgba(184,148,46,.2)}
.editorial-card-icon{font-size:28px;color:#b8942e;margin-bottom:16px}
.editorial-card h3{font-family:Georgia,'Noto Serif SC',serif;font-size:20px;font-weight:700;color:#3d2b1f;margin-bottom:10px}
.editorial-card p{font-size:14px;color:#6b5b4f;line-height:1.8;font-family:'Inter','Segoe UI',sans-serif}

/* === SERVICE CARDS === */
.editorial-service-card{background:#faf8f5;border:1px solid rgba(212,197,169,.3);padding:28px 24px;transition:all .3s ease}
.editorial-service-card:hover{background:#fff;border-color:rgba(184,148,46,.25);transform:translateX(4px)}

/* === DOWNLOAD CARDS === */
.download-serif-card{background:#faf8f5;border:1px solid rgba(212,197,169,.4);padding:40px 32px;transition:all .4s ease}
.download-serif-card:hover{background:#fff;border-color:rgba(184,148,46,.4);transform:translateY(-4px);box-shadow:0 12px 40px rgba(61,43,31,.06)}
.download-serif-card.featured{border-color:rgba(184,148,46,.5);box-shadow:0 4px 20px rgba(184,148,46,.08)}
.download-serif-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#b8942e}

/* === TESTIMONIAL === */
.testimonial-serif{background:#fff;border:1px solid rgba(212,197,169,.3);padding:28px;transition:all .3s ease}
.testimonial-serif:hover{border-color:rgba(184,148,46,.25);box-shadow:0 4px 20px rgba(61,43,31,.04)}

/* === FAQ === */
.faq-serif-item{border:1px solid rgba(212,197,169,.35);background:#fff;overflow:hidden;transition:all .3s ease}
.faq-serif-item:hover{border-color:rgba(184,148,46,.25)}
.faq-serif-q{width:100%;text-align:left;padding:20px 28px;background:none;border:none;font-family:Georgia,'Noto Serif SC',serif;font-size:16px;font-weight:600;color:#3d2b1f;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq-serif-q i{transition:transform .4s cubic-bezier(.25,.1,.25,1);font-size:11px}
.faq-serif-q.active i{transform:rotate(45deg)}
.faq-serif-q:focus-visible{outline:2px solid #b8942e;outline-offset:-2px}
.faq-serif-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.1,.25,1)}
.faq-serif-a.open{max-height:500px}
.faq-serif-content{padding:0 28px 22px;font-size:14px;color:#6b5b4f;line-height:1.9;font-family:'Inter','Segoe UI',sans-serif}

/* === SECTION HEADERS === */
.serif-badge{font-size:12px;font-weight:600;color:#b8942e;text-transform:uppercase;letter-spacing:.2em}
.serif-heading{font-family:Georgia,'Noto Serif SC',serif;font-size:36px;font-weight:700;color:#3d2b1f;margin-top:8px;margin-bottom:12px}
.serif-subtitle{font-family:Georgia,'Noto Serif SC',serif;font-size:17px;color:#6b5b4f;font-style:italic;max-width:600px;margin:0 auto}

/* === ANIMATIONS === */
.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.fade-in-up.visible{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-30px);transition:opacity .8s ease,transform .8s ease}
.fade-in-left.visible{opacity:1;transform:translateX(0)}
.fade-in-right{opacity:0;transform:translateX(30px);transition:opacity .8s ease,transform .8s ease}
.fade-in-right.visible{opacity:1;transform:translateX(0)}
.fade-in{opacity:0;transition:opacity .8s ease}
.fade-in.visible{opacity:1}
.reveal-up{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease}
.reveal-up.visible{opacity:1;transform:translateY(0)}

/* === STAGGER DELAYS === */
.s-delay-1{transition-delay:.1s}
.s-delay-2{transition-delay:.2s}
.s-delay-3{transition-delay:.3s}
.s-delay-4{transition-delay:.4s}
.s-delay-5{transition-delay:.5s}

/* === BACK TO TOP === */
.serif-btt{position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:#b8942e;color:#fff;border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;opacity:0;transform:translateY(20px);transition:all .4s cubic-bezier(.25,.1,.25,1);box-shadow:0 4px 15px rgba(184,148,46,.25);border:none;font-size:16px}
.serif-btt.visible{opacity:1;transform:translateY(0)}
.serif-btt:hover{background:#3d2b1f;transform:translateY(-3px);box-shadow:0 8px 25px rgba(61,43,31,.2)}

/* === SKIP LINK === */
.serif-skip{position:absolute;top:-100px;left:20px;background:#3d2b1f;color:#faf8f5;padding:10px 20px;z-index:100;font-family:Georgia,serif;font-size:14px;text-decoration:none;transition:top .2s ease}
.serif-skip:focus{top:0}

/* === TOOLTIP === */
[data-serif-tip]{position:relative}
[data-serif-tip]::after{content:attr(data-serif-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-6px);background:#3d2b1f;color:#faf8f5;padding:6px 14px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;font-family:'Inter',sans-serif}
[data-serif-tip]:hover::after{opacity:1;transform:translateX(-50%) translateY(-10px)}

/* === DIVIDER === */
.serif-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(184,148,46,.5),transparent);margin:0 auto}

/* === TAG === */
.serif-tag{display:inline-flex;align-items:center;padding:4px 14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-family:'Inter',sans-serif}
.serif-tag-gold{background:rgba(184,148,46,.1);color:#b8942e;border:1px solid rgba(184,148,46,.25)}
.serif-tag-dark{background:rgba(61,43,31,.06);color:#3d2b1f;border:1px solid rgba(61,43,31,.15)}
.serif-tag-outline{background:transparent;color:#6b5b4f;border:1px solid rgba(107,91,79,.3)}

/* === QUOTE BLOCK === */
blockquote.serif-quote{border-left:3px solid #b8942e;padding:16px 24px;margin:20px 0;font-family:Georgia,'Noto Serif SC',serif;font-style:italic;color:#6b5b4f;font-size:16px;line-height:1.8;background:rgba(184,148,46,.03)}

/* === STEP INDICATOR === */
.serif-step{width:60px;height:60px;background:transparent;border:2px solid #b8942e;color:#b8942e;display:flex;align-items:center;justify-content:center;font-family:Georgia,'Noto Serif SC',serif;font-size:24px;font-weight:700;margin:0 auto 16px;transition:all .4s ease}
.serif-step-wrap:hover .serif-step{background:#b8942e;color:#fff;transform:scale(1.05)}

/* === SPEC TABLE === */
.serif-spec-table{width:100%}
.serif-spec-table td{padding:10px 0;border-bottom:1px solid rgba(212,197,169,.3);font-size:14px;color:#6b5b4f;font-family:'Inter',sans-serif}
.serif-spec-table td:last-child{text-align:right;color:#3d2b1f;font-weight:600}

/* === SELECTION STYLING === */
::selection{background:rgba(184,148,46,.2);color:#3d2b1f}

/* === DROP CAP === */
.drop-cap::first-letter{float:left;font-family:Georgia,'Noto Serif SC',serif;font-size:64px;line-height:.8;padding-right:12px;padding-top:8px;color:#b8942e;font-weight:700}

/* === ORNAMENTAL LINE === */
.ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0}
.ornament::before,.ornament::after{content:'';width:40px;height:1px;background:rgba(184,148,46,.4)}
.ornament-icon{color:#b8942e;font-size:12px}

/* === IMAGE FRAME === */
.img-frame{border:1px solid rgba(212,197,169,.4);padding:8px;background:#fff;box-shadow:0 2px 10px rgba(61,43,31,.04)}
.img-frame img{display:block;width:100%}

/* === NEWSLETTER STYLE INPUT === */
.newsletter-input{border:1px solid rgba(212,197,169,.5);padding:14px 18px;font-size:14px;background:#fff;color:#3d2b1f;font-family:'Inter',sans-serif;width:100%;transition:border-color .3s ease;outline:none}
.newsletter-input:focus{border-color:#b8942e}
.newsletter-input::placeholder{color:#b8a58b;font-style:italic}

/* === RESPONSIVE === */
@media(max-width:1024px){.serif-hide-lg{display:none!important}}
@media(max-width:768px){
    .editorial-hero h1{font-size:32px!important}
    .editorial-grid{grid-template-columns:1fr}
    .editorial-card{padding:28px 22px}
    .btn-gold,.btn-outline-serif{padding:12px 24px;font-size:14px}
    .download-serif-card{padding:28px 20px}
    .faq-serif-q{padding:16px 20px;font-size:15px}
    .serif-heading{font-size:28px}
    .serif-hide-md{display:none!important}
}
@media(max-width:640px){
    .editorial-service-card{padding:20px 18px}
    .testimonial-serif{padding:20px}
    .faq-serif-content{padding:0 18px 18px}
}
@media(max-width:480px){
    .editorial-hero h1{font-size:26px!important}
    .editorial-hero p{font-size:16px!important}
    .font-serif.text-5xl{font-size:36px!important}
    .serif-heading{font-size:24px}
    .serif-btt{bottom:16px;right:16px;width:40px;height:40px}
    .serif-hide-sm{display:none!important}
}

/* === PREFERS REDUCED MOTION === */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* === PRINT === */
@media print{
    nav,.btn-gold,.btn-outline-serif,footer,.serif-btt,.serif-overlay{display:none}
    body{background:#fff;color:#000;font-size:12pt}
    .editorial-card,.testimonial-serif,.faq-serif-item,.download-serif-card{background:#fff!important;border:1px solid #ccc!important}
    a{color:#000;text-decoration:underline}
    @page{margin:2cm}
}

/* === SCROLLBAR === */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#faf8f5}
::-webkit-scrollbar-thumb{background:rgba(184,148,46,.3);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(184,148,46,.5)}

/* === SUBTLE PAGE BACKGROUND TEXTURE === */
@media(min-width:769px){
    body::before{
        content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;
        background:radial-gradient(ellipse at 50% 0%,rgba(184,148,46,.03) 0%,transparent 60%),
                   radial-gradient(ellipse at 80% 100%,rgba(61,43,31,.02) 0%,transparent 50%);
    }
}

/* === FORM ELEMENTS === */
.form-serif-input{width:100%;padding:14px 18px;border:1px solid rgba(212,197,169,.5);font-size:14px;color:#3d2b1f;background:#fff;transition:all .3s ease;font-family:'Inter',sans-serif;outline:none}
.form-serif-input:focus{border-color:#b8942e;box-shadow:0 0 0 2px rgba(184,148,46,.1)}
.form-serif-input::placeholder{color:#b8a58b;font-style:italic}
.form-serif-label{display:block;font-family:Georgia,'Noto Serif SC',serif;font-size:14px;font-weight:600;color:#3d2b1f;margin-bottom:6px;letter-spacing:.03em}
.form-serif-group{margin-bottom:24px}
.form-serif-select{width:100%;padding:14px 18px;border:1px solid rgba(212,197,169,.5);font-size:14px;color:#3d2b1f;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23b8942e' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 16px center;appearance:none;cursor:pointer;outline:none;transition:all .3s ease}
.form-serif-select:focus{border-color:#b8942e;box-shadow:0 0 0 2px rgba(184,148,46,.1)}

/* === TABLE SERIF === */
.table-serif{width:100%;border-collapse:collapse;font-size:14px;font-family:'Inter',sans-serif}
.table-serif thead th{text-align:left;padding:14px 18px;background:rgba(184,148,46,.06);color:#3d2b1f;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid rgba(184,148,46,.2);font-family:'Inter',sans-serif}
.table-serif tbody td{padding:14px 18px;border-bottom:1px solid rgba(212,197,169,.3);color:#6b5b4f}
.table-serif tbody tr:hover{background:rgba(184,148,46,.03)}
.table-serif tbody tr:nth-child(even){background:rgba(250,248,245,.5)}

/* === ALERT SERIF === */
.alert-serif{padding:16px 20px;font-size:14px;display:flex;align-items:flex-start;gap:12px;line-height:1.7;font-family:'Inter',sans-serif}
.alert-serif-info{background:rgba(184,148,46,.06);border-left:3px solid #b8942e;color:#3d2b1f}
.alert-serif-success{background:rgba(16,185,129,.04);border-left:3px solid #10b981;color:#166534}
.alert-serif-warning{background:rgba(245,158,11,.04);border-left:3px solid #f59e0b;color:#92400e}

/* === MODAL SERIF === */
.modal-serif-backdrop{position:fixed;inset:0;background:rgba(61,43,31,.5);z-index:50;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}
.modal-serif-backdrop.active{opacity:1;pointer-events:auto}
.modal-serif-content{background:#faf8f5;border:1px solid rgba(212,197,169,.5);padding:40px 36px;max-width:520px;width:90%;box-shadow:0 20px 60px rgba(61,43,31,.12);transform:translateY(20px);transition:transform .4s cubic-bezier(.25,.1,.25,1)}
.modal-serif-backdrop.active .modal-serif-content{transform:translateY(0)}

/* === SPINNER SERIF === */
.spinner-serif{width:24px;height:24px;border:2px solid rgba(212,197,169,.5);border-top-color:#b8942e;border-radius:50%;animation:spin-serif .7s linear infinite}
@keyframes spin-serif{to{transform:rotate(360deg)}}

/* === SKELETON SERIF === */
.skeleton-serif{background:linear-gradient(90deg,rgba(212,197,169,.3) 25%,rgba(250,248,245,.8) 50%,rgba(212,197,169,.3) 75%);background-size:200% 100%;animation:skeleton-serif 1.5s ease-in-out infinite}
@keyframes skeleton-serif{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-serif-text{height:14px;margin-bottom:8px}
.skeleton-serif-card{height:180px}

/* === PAGINATION SERIF === */
.pagination-serif{display:flex;align-items:center;gap:6px}
.pagination-serif-item{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(212,197,169,.4);font-size:14px;color:#6b5b4f;cursor:pointer;transition:all .3s ease;background:transparent;text-decoration:none;font-family:'Inter',sans-serif}
.pagination-serif-item:hover{border-color:#b8942e;color:#b8942e}
.pagination-serif-item.active{background:#b8942e;border-color:#b8942e;color:#fff}

/* === EMPTY STATE SERIF === */
.empty-serif{text-align:center;padding:64px 24px}
.empty-serif-icon{font-size:48px;color:rgba(184,148,46,.3);margin-bottom:20px}
.empty-serif-title{font-family:Georgia,'Noto Serif SC',serif;font-size:20px;font-weight:600;color:#3d2b1f;margin-bottom:10px}
.empty-serif-desc{font-size:14px;color:#8b7b6b;max-width:360px;margin:0 auto 24px;font-family:'Inter',sans-serif}

/* === UTILITY === */
.truncate-serif{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-only-serif{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
.hide-scrollbar::-webkit-scrollbar{display:none}

/* === ANIMATION KEYFRAME LIBRARY === */
@keyframes serifFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes serifFadeIn{from{opacity:0}to{opacity:1}}
@keyframes serifReveal{from{opacity:0;transform:translateY(40px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes serifFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes serifShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* === ANIMATION CLASSES === */
.animate-serif-up{animation:serifFadeUp .7s ease forwards}
.animate-serif-in{animation:serifFadeIn .8s ease forwards}
.animate-serif-reveal{animation:serifReveal 1s ease forwards}
.animate-serif-float{animation:serifFloat 4s ease-in-out infinite}

/* === HOVER EFFECTS === */
.hover-serif-lift{transition:transform .4s cubic-bezier(.25,.1,.25,1),box-shadow .4s ease}
.hover-serif-lift:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(61,43,31,.08)}
.hover-serif-scale{transition:transform .4s cubic-bezier(.25,.1,.25,1)}
.hover-serif-scale:hover{transform:scale(1.02)}
.hover-serif-gold{transition:color .3s ease,border-color .3s ease}
.hover-serif-gold:hover{color:#b8942e;border-color:#b8942e}

/* === FOCUS STYLES === */
.focus-serif:focus-visible{outline:2px solid #b8942e;outline-offset:2px}
.focus-serif-inset:focus-visible{outline:2px solid #b8942e;outline-offset:-2px}

/* === TEXT UTILITIES === */
.text-balance-serif{text-wrap:balance}
.text-pretty-serif{text-wrap:pretty}
.break-word-serif{word-break:break-word;overflow-wrap:break-word}
.leading-relaxed-serif{line-height:1.85}
.leading-loose-serif{line-height:2.1}

/* === IMAGE STYLES === */
.img-cover-serif{width:100%;height:100%;object-fit:cover}
.img-frame-serif{border:1px solid rgba(212,197,169,.3);padding:6px;background:#fff}
.img-frame-serif img{display:block;width:100%}

/* === SHIMMER LOADING === */
.shimmer-serif{background:linear-gradient(90deg,rgba(212,197,169,.2) 0%,rgba(250,248,245,.6) 50%,rgba(212,197,169,.2) 100%);background-size:200% 100%;animation:serifShimmer 2s ease-in-out infinite}

/* === LINK STYLES === */
.link-serif{color:#6b5b4f;text-decoration:none;transition:color .3s ease;border-bottom:1px solid transparent}
.link-serif:hover{color:#b8942e;border-bottom-color:#b8942e}
.link-serif-underline{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(184,148,46,.3);transition:text-decoration-color .3s ease}
.link-serif-underline:hover{text-decoration-color:#b8942e}
