.detail-icon{display:inline-block;width:26px;height:26px;flex-shrink:0;vertical-align:middle}.hero-symbol{width:25px;height:25px;flex-shrink:0;margin-right:13px;vertical-align:middle}.hero .eyebrow,.contact-hero .eyebrow{display:flex;align-items:center}.with-icon{display:flex;align-items:center;gap:12px}.with-icon .detail-icon{color:var(--gold-dark)}.contact .with-icon .detail-icon{color:var(--gold)}.service-symbol{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid #cfc3ab;background:#ede5d5;color:var(--gold-dark)}.service-symbol svg{width:29px;height:29px}.feature-symbol{display:inline-flex;padding:12px;border:1px solid #b6a98e;color:var(--gold-dark);margin-bottom:25px}.feature-symbol svg{width:30px;height:30px}.step-symbol{display:flex!important;align-items:center;gap:15px}.step-symbol svg{color:var(--gold-dark);width:30px;height:30px}.material-label{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.material-label svg{width:23px;height:23px;color:var(--gold-dark)}.quick-icon{display:inline-block;width:17px;height:17px;vertical-align:-3px;margin-right:8px}
.service,.process-step,.material-point,.material-panel,.guide-item{transition:transform .3s ease,box-shadow .3s ease}.service-symbol,.feature-symbol,.step-symbol svg,.detail-icon{transition:transform .35s ease,color .3s ease}.nav a:not(.button),.footer-nav a{position:relative;transition:color .2s ease}.nav a:not(.button):after,.footer-nav a:after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.footer-nav a:after{bottom:-5px}.nav a:not(.button):hover:after,.footer-nav a:hover:after{transform:scaleX(1)}.text-link{transition:color .25s ease,transform .25s ease}.button{transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.button:active{transform:translateY(1px)}.faq-list summary{transition:color .2s ease,padding-left .25s ease}.faq-list summary:hover{color:var(--gold-dark);padding-left:7px}.faq-list details[open] summary{color:var(--gold-dark)}.gallery-open:focus-visible .enlarge{transform:rotate(45deg)}.enlarge{transition:transform .35s ease,background .25s ease}.contact-option:focus-visible .option-icon svg{transform:translateY(-3px)}
@media(hover:hover){.service:hover,.process-step:hover{transform:translateY(-5px)}.service:hover .service-symbol{transform:rotate(-5deg);background:#e6d7bb}.service-feature:hover .feature-symbol svg{transform:rotate(-7deg)}.material-point:hover .detail-icon,.guide-item:hover svg{transform:translateY(-3px)}.material-panel:hover{transform:translateY(-5px);box-shadow:0 18px 32px #0002}.process-step:hover .step-symbol svg{transform:rotate(-6deg)}.text-link:hover{transform:translateX(3px)}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0002}.gallery-open:hover .enlarge{transform:rotate(45deg);background:var(--gold)}}
@media(max-width:800px){.services-three .service{grid-template-columns:48px 1fr}}
@media(max-width:520px){.process-step{grid-template-columns:45px 1fr}.step-symbol{flex-direction:column;gap:7px;align-items:flex-start}.service-symbol{width:42px;height:42px}.services-three .service{grid-template-columns:42px 1fr}.hero-symbol{width:21px;height:21px;margin-right:10px}.contact-phone.with-icon{gap:9px}.contact-phone .detail-icon{width:22px;height:22px}.material-label{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.service:hover,.process-step:hover,.material-panel:hover,.text-link:hover,.button:hover,.service:hover .service-symbol,.gallery-open:hover .enlarge{transform:none!important}}

/* Balanced service navigation below the home hero. */
.service-ribbon{background:#eae5da;border-bottom:1px solid #d4cdbf;padding:27px 0 31px}.ribbon-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.ribbon-heading h2{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.ribbon-heading>span{font-size:11px;letter-spacing:.06em;color:#666657}.ribbon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #cfc5b3;background:#f7f3eb}.ribbon-link{display:flex;align-items:center;gap:16px;padding:24px;min-width:0;transition:background .3s ease}.ribbon-link+.ribbon-link{border-left:1px solid #d4cbbd}.ribbon-icon{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;color:#806032;background:#ebe1ce;border:1px solid #ddd0b8;transition:transform .3s ease}.ribbon-icon svg{width:26px;height:26px}.ribbon-label{min-width:0}.ribbon-label strong{display:block;font-size:16px;font-weight:600;line-height:1.4}.ribbon-label>span{display:block;font-size:12px;line-height:1.5;color:#696b60;margin-top:5px}.ribbon-arrow{font-size:22px;color:#806032;margin-left:auto;flex-shrink:0;transition:transform .3s ease}.ribbon-link:hover,.ribbon-link:focus-visible{background:#eee4d2}.ribbon-link:hover .ribbon-icon{transform:translateY(-2px) rotate(-4deg)}.ribbon-link:hover .ribbon-arrow{transform:translate(2px,-2px)}
@media(max-width:1100px){.ribbon-link{padding:20px 16px;gap:12px}.ribbon-label strong{font-size:14px}.ribbon-label>span{font-size:11px}.ribbon-icon{width:35px;height:35px}.ribbon-icon svg{width:23px;height:23px}.ribbon-arrow{font-size:18px}}
@media(max-width:760px){.ribbon-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:16px}.ribbon-grid{grid-template-columns:1fr}.ribbon-link{padding:17px 20px;gap:16px}.ribbon-link+.ribbon-link{border-left:0;border-top:1px solid #d4cbbd}.ribbon-label strong{font-size:16px}.ribbon-label>span{font-size:12px}.ribbon-icon{width:40px;height:40px}.ribbon-arrow{font-size:22px}.service-ribbon{padding:23px 0 25px}}
@media(prefers-reduced-motion:reduce){.ribbon-link,.ribbon-icon,.ribbon-arrow{transition:none!important}.ribbon-link:hover .ribbon-icon,.ribbon-link:hover .ribbon-arrow{transform:none!important}}
