
/* AurelianessiQue — shared refinements for every page */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
html,body{margin:0;width:100%;max-width:100%;overflow-x:clip}
body{font-family:var(--font-family-body);background:var(--color-surface);color:var(--color-on-surface)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:visited{color:inherit}
a:hover{color:var(--color-accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #96673d;outline-offset:4px}
a:active{opacity:.8}
button{cursor:pointer}
.site-header{position:sticky;top:0;z-index:2000;background:rgba(251,247,242,.97);border-bottom:1px solid rgba(92,119,97,.2);box-shadow:0 3px 24px rgba(42,49,36,.05);width:100%;font-family:var(--font-family-body)}
.site-header-inner{max-width:var(--content-max-width);min-height:84px;margin:auto;padding:0 clamp(18px,3vw,48px);display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.site-logo{display:inline-flex;align-items:center;gap:8px;color:var(--color-on-surface)!important;font-size:clamp(17px,1.7vw,23px);font-family:var(--font-family-heading);font-weight:600;white-space:nowrap;letter-spacing:.01em;flex-shrink:0}
.site-logo-mark{color:var(--color-primary);font-size:29px;line-height:1}
.site-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(8px,1.6vw,23px)}
.site-nav-link{font-size:clamp(12px,.98vw,14px);font-weight:500;white-space:nowrap;padding:12px 2px;border-bottom:2px solid transparent;color:#454841!important;transition:color .2s ease,border-color .2s ease}
.site-nav-link:hover,.site-nav-link.is-current{color:#47654d!important;border-color:var(--color-primary)}
.site-header-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;min-height:44px;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff!important;font-size:13px;font-weight:600;border-radius:3px;white-space:nowrap;text-align:center;transition:background .2s ease,transform .2s ease}
.site-header-cta:hover{background:#3e5945;color:#fff!important;transform:translateY(-1px)}
.site-menu-toggle{display:none;width:44px;height:44px;border:1px solid #b9c0b5;border-radius:4px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;flex-shrink:0;color:var(--color-on-surface)}
.site-menu-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.site-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.site-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.site-mobile-menu{display:none}
.footer-brand-text{font:600 23px var(--font-family-heading);color:#fff!important}
.aure-footer-nav{min-width:0}
.aure-footer-links{gap:clamp(12px,1.7vw,24px)}
.aure-footer-links a{color:rgba(255,255,255,.87)!important;font-size:13px;white-space:nowrap}
.aure-footer-links a:hover,.aure-footer-legal-link:hover{color:#fff!important;text-decoration:underline}
.aure-footer-legal-links{flex-wrap:wrap;gap:10px 22px}
.aure-footer-legal-link{color:rgba(255,255,255,.8)!important;font-size:13px}
.aure-footer-company{margin-top:30px;border-top:1px solid rgba(255,255,255,.2);padding-top:22px}
.legal-details{display:flex;flex-wrap:wrap;gap:6px 22px;line-height:1.8;font-size:13px}
.footer-details{color:rgba(255,255,255,.88)}
.legal-detail{min-width:0;overflow-wrap:anywhere}
.legal-detail strong{font-weight:600}
.footer-fiction-note{color:rgba(255,255,255,.72);font-size:12px;margin:14px 0 0;line-height:1.55}
.aure-footer-legal-row{gap:12px;align-items:center;color:rgba(255,255,255,.78)}
.legal-main,.editorial-main{width:100%;background:var(--color-surface);min-height:48vh}
.legal-content{max-width:900px;margin:0 auto;padding:clamp(50px,7vw,95px) clamp(20px,4vw,45px) 100px}
.legal-main .hero-title{font-size:var(--font-size-4xl);color:#283b2e;overflow-wrap:anywhere}
.legal-updated{color:#666d63;font-size:13px;margin:14px 0 22px}
.legal-top-details{border-block:1px solid #d7d7cc;padding:20px 0;margin:20px 0;color:#424940}
.legal-intro{border-left:3px solid var(--color-primary);background:#e9eee6;padding:14px 18px;line-height:1.7;font-size:14px;margin-bottom:30px}
.legal-section{margin-top:25px}
.legal-section h2{font-size:clamp(1.32rem,2vw,1.78rem);margin-bottom:10px;color:#314536}
.legal-section p{font-size:var(--font-size-base);line-height:1.8;color:#41483f}
.legal-back{display:inline-flex;margin-top:42px;border-bottom:1px solid var(--color-primary);padding-bottom:4px;color:#365940!important;font-weight:600}
.editorial-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:12px;color:var(--color-primary);font-weight:700}
.editorial-hero{text-align:center;max-width:810px;margin:auto;padding:clamp(68px,9vw,125px) 24px}
.editorial-hero h1{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);margin:14px 0 22px;color:#284334}
.editorial-hero p{line-height:1.85;font-size:clamp(1rem,1.4vw,1.2rem);color:#4a564b}
.editorial-hero p+a{margin-top:22px}
.editorial-split{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(24px,6vw,90px);align-items:center;max-width:1200px;margin:0 auto;padding:20px 28px 100px}
.editorial-image img{width:100%;height:480px;object-fit:cover}
.editorial-split h2{margin:16px 0 20px;color:#314736}
.editorial-split p{line-height:1.85;color:#4b534b;margin:0 0 18px}
.editorial-values{background:#e9eee6;padding:80px 24px 100px;text-align:center}
.editorial-values>h2{margin-bottom:42px;color:#314736}
.editorial-value-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;text-align:left}
.editorial-value-grid article{background:#fbf7f2;padding:34px 27px;border:1px solid #d3d6cb;min-width:0}
.editorial-value-grid article span{font-family:var(--font-family-heading);font-size:24px;color:#8b5a33}
.editorial-value-grid article h3{font:600 24px var(--font-family-heading);margin:20px 0 12px}
.editorial-value-grid article p{font-size:15px;line-height:1.7}
.editorial-contact{text-align:center;padding:86px 20px 108px}
.editorial-contact h2{color:#314736}.editorial-contact p{line-height:1.75;margin:22px 0}
.editorial-404 p .site-header-cta{margin-top:25px}
.contact-form-notice{font-size:13px;line-height:1.7;color:#465c4a;padding:15px 0}
.consultation-consent-label a{color:#365d3c;text-decoration:underline;text-underline-offset:3px}
.studio-faq{background:#eef0e9;padding:clamp(60px,7vw,90px) 24px}
.studio-faq-inner{max-width:1120px;margin:auto}
.studio-faq h2{color:#304534;margin:15px 0 20px}
.studio-faq-inner>p{line-height:1.8;color:#4b564e;max-width:880px}
.studio-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0}
.studio-faq-grid article{background:#fffdfa;border:1px solid #d2d9cf;padding:23px 25px;min-width:0}
.studio-faq-grid h3{font:600 21px var(--font-family-heading);color:#304b37;margin:0 0 10px}
.studio-faq-grid p{font-size:14px;line-height:1.72;color:#48534a}
.studio-faq-close{margin-bottom:20px}
@media(max-width:1100px){.site-header-inner > .site-header-cta{display:none}.site-nav{gap:13px}.site-header-inner{padding-inline:22px}.site-logo{font-size:18px}}
@media(max-width:860px){
.site-header-inner{min-height:68px;justify-content:space-between;gap:10px;padding-inline:18px}
.site-nav{display:none}.site-header-inner > .site-header-cta{display:none}.site-menu-toggle{display:flex}
.site-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;z-index:2100;background:#fbf7f2;box-shadow:0 12px 30px rgba(25,40,27,.15);padding:12px 20px 22px;max-height:calc(100dvh - 68px);overflow-y:auto}
.site-mobile-menu.is-open{display:flex;flex-direction:column}
.site-mobile-menu a{color:#283b2e!important;display:block;width:100%;padding:13px 14px;border-bottom:1px solid #e4e5dc;font-size:16px;line-height:1.3}
.site-mobile-menu a[aria-current=page]{font-weight:700;color:#44694e!important}
.site-mobile-menu a:hover,.site-mobile-menu a:focus-visible{background:#e7ede4}
.site-header{position:sticky}
.editorial-split{grid-template-columns:1fr;padding:20px 22px 65px}
.editorial-image img{height:auto;max-height:500px;object-fit:cover}
.editorial-value-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
.hero-section,.hero-title,.section-title{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.legal-content{padding:56px 20px 80px}
.aure-footer-inner{padding:0 20px}
.aure-footer-bottom-row{align-items:flex-start;flex-direction:column;gap:25px}
.aure-footer-links{justify-content:flex-start;gap:12px 18px}
.aure-footer-legal-row{align-items:flex-start;flex-direction:column}
.studio-faq-grid{grid-template-columns:1fr}
.site-logo{font-size:18px;min-width:0;white-space:normal;overflow-wrap:anywhere}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Final responsive regression fixes based on measured overflowing elements */
@media(max-width:860px){
 .services-overview-container,
 .consultation-intake-grid{grid-template-columns:minmax(0,1fr)!important}
 .services-overview-right,.services-overview-left,
 .consultation-media-rail,.consultation-form-rail{min-width:0;width:100%;max-width:100%}
 .services-overview-card-grid{grid-template-columns:minmax(0,1fr)!important}
 .consultation-form-rail{padding-left:0!important;border-left:0}
 .consultation-field-row,.consultation-scope-columns{grid-template-columns:minmax(0,1fr)!important}
 .practical-cards-grid{grid-template-columns:minmax(0,1fr)!important}
 .practical-resource-card{height:auto;min-width:0}
 .practical-card-content{min-width:0}
 .practical-title-link-row{min-width:0}
 .contact-hero-card{max-width:100%;min-width:0}
 .contact-hero-actions{flex-wrap:wrap}
 .services-overview-card,.services-overview-card-header{min-width:0}
 .services-overview-card-header{flex-wrap:wrap;overflow-wrap:anywhere}
 .aurelia-lead-cta-row,.aurelia-lead-copy,.aurelia-lead-btn{min-width:0;max-width:100%}
 .aurelia-lead-btn,.inspiration-hero-btn{white-space:normal;overflow-wrap:anywhere;text-align:center}
 .consultation-submit-wrapper,.consultation-form-footer{min-width:0;max-width:100%}
 .consultation-submit-btn{white-space:normal;max-width:100%;padding-inline:12px}
 .inspiration-hero-btn{max-width:100%;box-sizing:border-box}
 .inspiration-hero-actions{flex-wrap:wrap;max-width:100%}
}
@media(max-width:767px){
 .aurelia-features,.services-overview,.practical-details-section,.consultation-intake-section{padding-inline:clamp(16px,5vw,24px)}
 .aurelia-lead-service-card,.services-overview-card{padding:clamp(16px,5vw,22px)}
 .aurelia-lead-btn,.inspiration-hero-btn,.consultation-submit-btn{width:auto;max-width:100%;white-space:normal}
 .practical-card-content{padding:20px}
 .contact-hero-card{padding:clamp(16px,6vw,24px)}
 .contact-hero-bronze-inlay{max-width:100%}
 .site-header{max-width:100%}
}
/* Keep slider tracks scrollable without letting the body widen. */
.projects-categories,.projects-carousel-section,.categories-bar-section,.cases-carousel-section{overflow-x:clip}
.categories-carousel-track,.cases-carousel-track,.projects-strip-track,.projects-carousel-track{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-width:0}

.project-illustration-disclosure{font-size:13px;line-height:1.5;color:inherit;opacity:.78;margin:15px auto 0;text-align:center;max-width:800px;padding:0 16px}
/* Small-screen text and CTA safety without affecting the original composition. */
.services-overview-sub-caption{min-width:0;max-width:100%}
.services-overview-sub-note{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.contact-hero-primary-cta{max-width:100%;min-width:0;white-space:normal;text-align:center;overflow-wrap:anywhere}
@media(max-width:767px){
 .contact-hero-actions>*{max-width:100%;min-width:0}
 .process-vignette-tag{max-width:100%;white-space:normal}
 .services-overview-sub-caption{flex-wrap:wrap;overflow:hidden}
 .services-overview-sub-note{overflow-wrap:anywhere;word-break:break-word}
 .contact-hero-primary-cta{padding-inline:12px}
 .contact-hero-inlay-box,.contact-hero-card{max-width:100%}
}
