.service-site{background:var(--ivory);color:#2f2d2a}
.service-site .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.service-site .site-header{position:sticky}
.service-site .main-nav a.active:after{right:0}
.service-site main{min-height:60vh}
.services-hero{position:relative;overflow:hidden;padding:76px 0 70px;background:linear-gradient(122deg,#faf4eb 0%,#fffaf4 54%,#f1e7da 100%);border-bottom:1px solid #ded5ca}
.services-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 86px,rgba(170,130,86,.045) 87px 88px);pointer-events:none}
.services-hero .shell{position:relative}
.service-kicker{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--bronze-dark);font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.service-kicker span{width:42px;height:1px;background:var(--bronze)}
.services-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}
.services-hero h1{max-width:780px;margin-bottom:18px;font-family:var(--display);font-size:clamp(44px,5vw,68px);letter-spacing:-.045em;line-height:1.02}
.services-hero h1 em{color:var(--bronze-dark);font-style:normal}
.services-hero-copy>p:last-child{max-width:720px;margin:0;color:#393632;font-size:16px;line-height:1.65}
.hero-assurance{padding:26px;border:1px solid rgba(139,99,61,.26);border-radius:14px;background:rgba(255,255,255,.62);box-shadow:var(--shadow)}
.hero-assurance strong{display:block;margin-bottom:8px;color:var(--ink);font-family:var(--display);font-size:22px}
.hero-assurance p{margin:0;color:#514c46;font-size:13px;line-height:1.55}
.service-section{padding:62px 0 72px}
.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.search-box{width:min(100%,430px);position:relative}
.search-box svg{position:absolute;left:17px;top:50%;width:19px;transform:translateY(-50%);fill:none;stroke:var(--bronze-dark);stroke-width:2}
.search-box input{width:100%;height:50px;padding:0 18px 0 48px;border:1px solid #d6cec4;border-radius:9px;background:#fff;color:var(--ink);font-size:15px}
.search-box input:focus{border-color:var(--bronze);outline:3px solid rgba(170,130,86,.16)}
.directory-count{margin:0;color:#6a635c;font-size:12px;font-weight:700}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{min-height:285px;display:flex;flex-direction:column;padding:25px;border:1px solid #ddd5cc;border-radius:14px;background:linear-gradient(145deg,#fff,#f8f3ed);box-shadow:0 7px 18px rgba(53,45,37,.06);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-card:hover{transform:translateY(-5px);border-color:#bc9468;box-shadow:0 16px 30px rgba(53,45,37,.12)}
.service-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:25px;border-radius:12px;background:#f1dfc7;color:#995d25}
.service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card .section-label{margin-bottom:7px;color:var(--bronze-dark);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-card h3{margin-bottom:9px;font-family:var(--display);font-size:23px;letter-spacing:-.025em}
.service-card>p:not(.section-label){margin:0 0 20px;color:#514d48;font-size:13px;line-height:1.55}
.service-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;color:#8b5727;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.service-card-link span{width:34px;height:28px;display:grid;place-items:center;border-radius:18px;background:#f0dfc9;color:#75451f;font-size:16px}
.empty-state{display:none;padding:60px 20px;border:1px dashed #cfc3b6;border-radius:14px;text-align:center}
.empty-state.visible{display:block}
.empty-state h2{font-family:var(--display)}
.service-contact{padding:48px 0;background:linear-gradient(135deg,#34312f,#1f1e1d);color:#fff}
.service-contact-grid{display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center}
.service-contact h2{margin:0 0 6px;color:#fff;font-family:var(--display);font-size:clamp(28px,3vw,40px)}
.service-contact h2 em{color:#d8aa6a;font-style:normal}
.service-contact p{margin:0;color:#ded9d3;font-size:13px}
.service-contact .button{min-width:210px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;color:#756b61;font-size:11px}
.breadcrumb a{color:var(--bronze-dark);font-weight:700}
.detail-hero{padding-top:54px}
.detail-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.detail-hero h1{font-size:clamp(46px,5.5vw,72px)}
.detail-hero-copy>p:last-child{max-width:760px}
.service-meta-card{padding:28px;border:1px solid #cfc2b4;border-radius:14px;background:linear-gradient(145deg,#403830,#272421);box-shadow:0 18px 38px rgba(41,34,28,.18)}
.service-meta-card>small{color:#d7aa6d;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.service-meta-card h2{margin:8px 0 18px;color:#fff;font-family:var(--display);font-size:25px;line-height:1.15}
.service-meta-points{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0;list-style:none}
.service-meta-points li{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#e5dfd8;font-size:10px}
.service-meta-card .button{width:100%}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:72px;align-items:start}
.detail-main section{padding-bottom:50px;margin-bottom:50px;border-bottom:1px solid #d8d0c7}
.detail-main section:last-of-type{border-bottom:0}
.section-label{margin-bottom:14px;color:var(--bronze-dark);font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.detail-main h2{margin-bottom:16px;font-family:var(--display);font-size:clamp(30px,3.8vw,44px);letter-spacing:-.03em;line-height:1.12}
.detail-main h2 em{color:var(--bronze-dark);font-style:normal}
.detail-main>section>p{max-width:760px;color:#5e5954;font-size:15px;line-height:1.65}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:25px 0 0;padding:0;list-style:none}
.check-grid li{position:relative;min-height:68px;padding:15px 16px 15px 46px;border:1px solid #ddd5cc;border-radius:11px;background:#fff;color:#332f2b;font-size:13px}
.check-grid li:before{content:"";position:absolute;left:16px;top:15px;width:20px;height:20px;border-radius:50%;background:#f0dfc9}
.check-grid li:after{content:"";position:absolute;left:23px;top:19px;width:4px;height:8px;border-right:2px solid #8b5727;border-bottom:2px solid #8b5727;transform:rotate(45deg)}
.document-list{margin:24px 0 0;padding:0;list-style:none;counter-reset:docs}
.document-list li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #ddd5cc;color:#302d29;font-size:13px}
.document-list li:before{counter-increment:docs;content:counter(docs,decimal-leading-zero);color:var(--bronze-dark);font-family:var(--display);font-size:14px}
.detail-process{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.detail-process>div{padding:23px;border-radius:12px;background:linear-gradient(145deg,#3a3530,#262321);color:#fff}
.detail-process span{color:#e0ae69;font-family:var(--display);font-size:14px}
.detail-process h3{margin:30px 0 7px;color:#fff;font-family:var(--display);font-size:19px}
.detail-process p{margin:0;color:#d8d1ca;font-size:12px;line-height:1.5}
.faq-list{margin-top:18px}
.faq-item{border-bottom:1px solid #d8d0c7}
.faq-question{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border:0;background:transparent;color:var(--ink);font-weight:700;text-align:left;cursor:pointer}
.faq-question span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cfc3b6;border-radius:50%;transition:transform .2s ease}
.faq-question[aria-expanded="true"] span{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.faq-answer>div{overflow:hidden}
.faq-answer p{margin:0;padding:0 44px 20px 0;color:#625d57;font-size:13px;line-height:1.6}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.detail-sidebar{position:sticky;top:92px}
.sidebar-card{padding:25px;border:1px solid #ddd5cc;border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(54,42,30,.07)}
.sidebar-card+.sidebar-card{margin-top:14px}
.sidebar-card h3{margin-bottom:8px;font-family:var(--display);font-size:21px}
.sidebar-card p{color:#625d57;font-size:12px;line-height:1.55}
.sidebar-card .button{width:100%}
.sidebar-links{margin:16px 0 0;padding:0;list-style:none}
.sidebar-links li+li{margin-top:8px}
.sidebar-links a{color:#8b5727;font-size:12px;font-weight:700}
.text-link{display:inline-flex;margin-top:5px;padding-bottom:3px;border-bottom:1px solid #8b5727;color:#8b5727;font-weight:800}
.disclaimer{padding:17px;border:1px solid #e2cda8;border-radius:11px;background:#f4e6cf;color:#654c32;font-size:11px;line-height:1.55}
.service-site .reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.service-site .reveal.in-view{opacity:1;transform:none}
@media(max-width:1020px){.services-hero-grid,.detail-hero-grid{gap:40px}.service-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{gap:38px;grid-template-columns:minmax(0,1fr) 285px}.detail-process{grid-template-columns:1fr}}
@media(max-width:900px){.services-hero{padding:52px 0}.services-hero-grid,.detail-hero-grid,.detail-layout,.service-contact-grid{grid-template-columns:1fr}.hero-assurance{max-width:560px}.service-grid{grid-template-columns:1fr 1fr}.detail-sidebar{position:static}.service-contact .button{justify-self:start}.service-site .site-footer{margin-top:0}}
@media(max-width:620px){.services-hero{padding:44px 0}.services-hero h1{font-size:clamp(40px,11vw,52px)}.services-hero-grid{gap:28px}.service-section{padding:44px 0 54px}.directory-toolbar{align-items:flex-start;flex-direction:column}.search-box{width:100%}.service-grid,.check-grid{grid-template-columns:1fr}.service-card{min-height:245px}.service-contact-grid{gap:24px}.service-contact .button{width:100%}.detail-hero-grid{gap:30px}.service-meta-card{padding:22px}.detail-main section{padding-bottom:40px;margin-bottom:40px}.document-list li{grid-template-columns:36px 1fr}.faq-question{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-site .reveal{opacity:1;transform:none;transition:none}}
