:root {
  --ivory:#f6f3ec; --paper:#fffdf8; --charcoal:#20221e; --ink:#11120f;
  --muted:#66695f; --gold:#aa8a45; --gold-dark:#7c632e; --line:#ded8ca;
  --forest:#273027; --serif:"Libre Caslon Display",Georgia,serif; --sans:"DM Sans",Arial,sans-serif;
  --max:1240px; --shadow:0 18px 45px rgba(28,30,26,.09);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ivory);color:var(--charcoal);font:16px/1.65 var(--sans)}
img{display:block;max-width:100%} a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.is-loading{overflow:hidden}.site-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--paper);transition:opacity .65s ease,visibility .65s ease}.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{width:min(330px,72vw);text-align:center}.loader-inner img{width:270px;height:120px;object-fit:contain;margin:auto}.loader-inner p{margin:1.2rem 0 0;color:var(--muted);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.loader-line{width:100%;height:2px;background:var(--line);overflow:hidden}.loader-line span{display:block;width:42%;height:100%;background:linear-gradient(90deg,var(--gold-dark),#d8bd77,var(--gold-dark));animation:loaderSweep 1.1s ease-in-out infinite}@keyframes loaderSweep{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:12px}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{color:var(--gold-dark);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;margin:0} h1{font-size:clamp(3rem,6vw,6.2rem)} h2{font-size:clamp(2.3rem,4vw,4.2rem)} h3{font-size:clamp(1.35rem,2vw,1.9rem)}
.topbar{background:var(--charcoal);color:#eee8d9;text-align:center;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.06em}
.site-header{background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.site-header .container{width:min(1180px,calc(100% - 40px))}.header-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px;gap:20px}.logo{display:block;width:250px}.logo img{width:100%;height:62px;object-fit:contain}
.utility,.nav-inner{display:flex;align-items:center;gap:1.25rem}.utility{justify-content:flex-end;font-size:.8rem}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:50%;display:grid;place-items:center}.icon-btn:hover,.icon-btn:focus-visible{border-color:var(--gold);color:var(--gold-dark)}
.primary-nav{border-top:1px solid var(--line);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.nav-inner{justify-content:center;min-height:48px}.primary-nav a{padding:.85rem .25rem;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a:focus-visible{border-color:var(--gold)}
.menu-toggle{display:none}.hero{position:relative;min-height:660px;display:grid;align-items:end;overflow:hidden;color:#fff;background:#242720 url('images/palvilla-hero.webp') center/cover no-repeat}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(13,15,12,.86) 0%,rgba(13,15,12,.44) 48%,rgba(13,15,12,.05) 80%),linear-gradient(0deg,rgba(8,10,8,.62),transparent 45%)}
.hero-content{position:relative;z-index:2;padding:7rem 0 4rem}.hero-copy{max-width:650px}.hero p{max-width:560px;font-size:1.1rem;color:#eeeadd}.hero h1{max-width:620px}.gold-rule{width:60px;height:2px;background:var(--gold);margin:1.5rem 0}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:48px;padding:.8rem 1.15rem;border:1px solid var(--gold);background:var(--gold);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.btn:hover,.btn:focus-visible{background:var(--gold-dark);border-color:var(--gold-dark)}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn.dark{background:var(--charcoal);border-color:var(--charcoal)}
.trust-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.24);border-top:1px solid rgba(255,255,255,.26)}.trust-item{padding:1.15rem;color:#f5f1e6;background:rgba(18,21,17,.62);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.trust-item strong{display:block;font-size:.72rem;color:#d7bc7c}
.section{padding:6.5rem 0}.section.white{background:var(--paper)}.section.dark{background:var(--charcoal);color:#f8f4e9}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.4rem}.section-head p{max-width:520px;color:var(--muted);margin:0}.section.dark .section-head p{color:#c7c5bd}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.category-card{min-height:390px;position:relative;overflow:hidden;background:#ddd}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.category-card:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(14,16,13,.88))}.category-card:hover img{transform:scale(1.04)}.category-info{position:absolute;z-index:2;inset:auto 1.1rem 1.1rem;color:white}.category-info p{font-size:.82rem;color:#deded5;margin:.35rem 0 .8rem}.text-link{color:var(--gold-dark);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.category-card .text-link{color:#e1c580}
.editorial-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:1.25rem}.article-card{background:var(--paper);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.article-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.article-body{padding:1.35rem}.article-body p{color:var(--muted);font-size:.9rem}.tag{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center}.method-steps{display:grid;gap:1rem}.method-step{display:grid;grid-template-columns:54px 1fr;gap:1rem;border-top:1px solid #4c4f48;padding-top:1.3rem}.number{font-family:var(--serif);font-size:2rem;color:#c6a65e}.method-step p{margin:.2rem 0;color:#c8c8c0}
.compare-wrap{overflow:auto;border:1px solid var(--line);background:var(--paper)} table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:1.2rem;text-align:left;border-bottom:1px solid var(--line)}th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}td:first-child{font-family:var(--serif);font-size:1.18rem}.best{color:var(--gold-dark);font-weight:600}
.split-banner{display:grid;grid-template-columns:1.05fr .95fr;min-height:480px}.split-banner img{width:100%;height:100%;object-fit:cover}.banner-copy{display:grid;align-content:center;padding:clamp(2rem,6vw,6rem);background:#d8d1bd}.banner-copy p{max-width:520px}
.newsletter{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}.newsletter-form{display:flex;gap:.6rem}.newsletter-form input{flex:1;min-width:0;min-height:50px;border:1px solid #5d6058;background:transparent;color:white;padding:0 1rem}.fine{font-size:.75rem;color:#aaa99f}
.site-footer{background:#151713;color:#c9c8c0;padding:4rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:3rem}.footer-logo img{width:260px;height:90px;object-fit:contain;filter:brightness(0) invert(1)}.footer-col strong{display:block;color:#fff;margin-bottom:1rem}.footer-col a{display:block;font-size:.88rem;margin:.45rem 0}.footer-bottom{border-top:1px solid #393b36;margin-top:3rem;padding-top:1.2rem;font-size:.76rem;display:flex;justify-content:space-between;gap:1rem}
.page-hero{padding:7rem 0 4.5rem;background:var(--paper);border-bottom:1px solid var(--line)}.page-hero p{max-width:700px;color:var(--muted);font-size:1.08rem}.crumbs{font-size:.75rem;color:var(--muted);margin-bottom:2rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:4rem}.content{font-size:1.03rem}.content h2{font-size:2.5rem;margin:3rem 0 1rem}.content h3{margin:2rem 0 .8rem}.content blockquote{font:2rem/1.25 var(--serif);border-left:3px solid var(--gold);padding-left:1.5rem;margin:2.5rem 0}.sidebar{position:sticky;top:150px;align-self:start}.panel{background:var(--paper);border:1px solid var(--line);padding:1.4rem;margin-bottom:1rem}.panel h3{font-size:1.35rem}.check-list{list-style:none;padding:0}.check-list li{padding:.65rem 0;border-bottom:1px solid var(--line)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.filterbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}.chip{border:1px solid var(--line);background:var(--paper);padding:.6rem .9rem}.chip.active,.chip:hover{background:var(--charcoal);color:#fff}.search-shell{display:flex;max-width:760px;margin-top:2rem}.search-shell input{flex:1;min-width:0;padding:1rem;border:1px solid var(--line);background:#fff}.empty-state{text-align:center;padding:5rem 1rem}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem}.form-grid{display:grid;gap:1rem}.field{display:grid;gap:.4rem}.field input,.field textarea,.field select{width:100%;padding:.9rem;border:1px solid var(--line);background:#fff}.field textarea{min-height:150px}.notice{padding:1rem;border-left:3px solid var(--gold);background:#f1ebdc}
.toast{position:fixed;right:22px;bottom:22px;background:var(--charcoal);color:#fff;padding:1rem 1.2rem;z-index:50;box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(46px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal.from-left{transform:translateX(-46px)}.reveal.from-right{transform:translateX(46px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}.hero-copy{animation:heroEnter 1s .3s both cubic-bezier(.2,.7,.2,1)}@keyframes heroEnter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
@media(max-width:980px){.utility a{display:none}.header-main{grid-template-columns:auto 1fr auto}.logo{grid-column:2}.menu-toggle{display:grid}.primary-nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:1rem}.primary-nav.open{display:block}.nav-inner{width:100%;flex-direction:column;align-items:stretch}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card:first-child{grid-column:span 2}.editorial-grid,.cards-3{grid-template-columns:1fr 1fr}.method-grid,.newsletter,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.content-grid{grid-template-columns:1fr}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}.split-banner{grid-template-columns:1fr}.split-banner img{max-height:420px}}
@media(max-width:680px){.container{width:min(100% - 28px,var(--max))}.topbar{font-size:.67rem}.header-main{min-height:72px}.logo{width:190px}.logo img{height:52px}.primary-nav{top:73px}.hero{min-height:720px}.hero-content{padding:6rem 0 2rem}.hero h1{font-size:3.6rem}.trust-row{grid-template-columns:1fr 1fr}.section{padding:4.5rem 0}.section-head{display:block}.section-head p{margin-top:1rem}.category-grid,.editorial-grid,.cards-3,.cards-2{grid-template-columns:1fr}.category-card:first-child{grid-column:auto}.category-card{min-height:330px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.newsletter-form{display:grid}.page-hero{padding:5rem 0 3rem}.page-hero h1{font-size:3.1rem}.content h2{font-size:2rem}.split-banner{min-height:unset}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.loader-line span{animation:none;width:100%}}
