:root{--color-primary:#253873;--color-primary-dark:#09324a;--color-secondary:#fffff5;--color-accent:#f0a500;--color-accent-dark:#c78f00;--color-text-light:#555;--font-primary:'Roboto','Helvetica Neue',Helvetica,Arial,sans-serif;--font-secondary:'Playfair Display',serif;--font-size-base:clamp(1rem, 2vw + .5rem, 1.25rem);--font-size-sm:calc(var(--font-size-base) * .875);--font-size-lg:calc(var(--font-size-base) * 1.25);--font-size-xl:calc(var(--font-size-base) * 1.5);--font-size-xxl:calc(var(--font-size-base) * 2);--transition-speed:.35s;--spacing-sm:.5rem;--spacing:1.25rem;--radius:var(--spacing-sm);--shadow-light:0 4px 10px rgba(0, 0, 0, .08);--shadow-strong:0 8px 24px rgba(0, 0, 0, .15)}*,::after,::before{box-sizing:border-box;margin:0;padding:0;list-style:none;text-decoration:none;border:none;outline:0;scroll-behavior:smooth;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-webkit-user-drag:none;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:3px;transition:background-color var(--transition-speed) ease}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4)}::-webkit-scrollbar-track{background:0 0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);font-size:var(--font-size-base);background-color:var(--color-secondary);color:#222;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-speed)}a:focus{color:var(--color-accent);outline:3px solid var(--color-accent);outline-offset:2px;text-decoration:underline}.grid{display:grid;gap:var(--spacing);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-2-cols-mobile{grid-template-columns:repeat(2,1fr)}.flex{display:flex;gap:1rem;flex-direction:row;justify-content:center;align-items:center}.card{background:#fff;box-shadow:var(--shadow-light);padding:var(--spacing-sm);border-radius:var(--radius);transition:box-shadow var(--transition-speed);display:flex;flex-direction:column;gap:var(--spacing-sm)}.card img{border-radius:var(--radius);width:100%;height:auto;object-fit:cover}.card .content{padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.card:focus-within,.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);outline:0}.button-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-sm)}.button{padding:1rem;background-color:var(--color-primary);color:var(--color-secondary);border:none;cursor:pointer;border-radius:var(--radius);font-size:var(--font-size-base)}.button span{text-align:right}.button i{text-align:left}.button.cta{background-color:var(--color-accent);color:var(--color-primary);border:2px solid var(--color-accent);box-shadow:0 8px 25px rgba(36,17,87,.5)}.button:focus{color:var(--color-secondary);outline:2px solid var(--color-text-light);outline-offset:3px}.max-width{max-width:800px;margin:auto}header{box-shadow:var(--shadow-strong);position:sticky;top:0;z-index:110;background-color:var(--color-secondary);transition:background-color var(--transition-speed) ease}header.scrolled{background-color:var(--color-primary)}header.scrolled .logo-wrapper #logo-bottom{opacity:0;visibility:hidden;height:0;transition:opacity var(--transition-speed) ease,visibility var(--transition-speed) ease}header.scrolled .logo-wrapper #logo-top{filter:brightness(0) invert(1);transition:filter var(--transition-speed) ease}header.scrolled nav ul li a{color:var(--color-secondary);transition:color var(--transition-speed)}header .logo-wrapper{display:flex;flex-direction:column;align-items:center;gap:5px;padding:var(--spacing)}nav{margin:0 auto;display:flex;gap:var(--spacing);justify-content:space-between;align-items:center}nav ul{display:flex;gap:var(--spacing-sm);transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease}nav ul li a{font-weight:700;font-size:var(--font-size-base);color:var(--color-primary);padding:.5rem 0;position:relative;transition:color var(--transition-speed);padding:var(--spacing)}nav ul li a::after{content:'';position:absolute;bottom:-5px;left:0;height:3px;width:0;background:var(--color-accent);transition:width var(--transition-speed) ease}nav ul li a:focus::after,nav ul li a:hover::after{width:100%}main section{padding:3rem 1rem;margin:0 auto;text-align:center}.hero{background:url('public/assets/banner.webp') center/cover no-repeat;background-color:var(--color-primary);color:var(--color-secondary)}.hero h1,main h2{font-family:var(--font-secondary);text-transform:uppercase;letter-spacing:3px;font-weight:900}.hero h1{font-size:var(--font-size-xxl);margin-bottom:.75rem;letter-spacing:2px;text-shadow:2px 2px 4px #000}.hero p{font-size:var(--font-size-lg);font-weight:500;margin:0 auto 2rem;text-shadow:2px 2px 4px #000}main h2{font-size:var(--font-size-xxl);margin-bottom:1.5rem;color:var(--color-primary)}#menu{color:var(--color-primary)}#menu .notes{font-size:var(--font-size-sm);font-style:italic;color:var(--color-accent-dark)}footer{background:var(--color-primary);color:var(--color-secondary);text-align:center;padding:1.5rem 0}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-toggle{display:none;background:0 0;border:none;font-size:var(--font-size-xl);color:var(--color-primary);cursor:pointer;align-items:center;justify-content:center;transition:color var(--transition-speed);padding:var(--spacing)}.menu-toggle:focus{outline:3px solid var(--color-accent);outline-offset:3px;color:var(--color-accent)}header.scrolled .menu-toggle{color:var(--color-secondary)}#about p{max-width:720px;margin:auto auto 1rem;line-height:1.6}#values{margin-top:2rem;justify-content:center;gap:0}#values li{width:100%;display:flex;flex-direction:column;gap:1rem;padding:1rem;border-right:1px solid var(--color-text-light)}#values li:last-child{border:none}#values i.bi{font-size:var(--font-size-xl);color:var(--color-primary)}#reviews blockquote{text-align:justify}#reviews blockquote::before{content:"“";position:absolute;left:0;top:0;font-size:var(--font-size-xxl);color:var(--color-accent);line-height:1;font-weight:700}#reviews cite{color:var(--color-primary);text-align:right;font-weight:bolder}#reviews .star-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}#contact .flex{align-items:start;gap:0}#contact .flex>div{padding:var(--spacing);display:flex;flex-direction:column;gap:1rem;border-right:1px solid #ccc;width:100%}#contact .flex .button-wrapper{width:100%}#contact .flex .button-wrapper *{flex-grow:1}#contact div:last-child{border-right:none;margin-bottom:0;padding-bottom:0}@media (max-width:768px){.menu-toggle{display:flex}nav ul{position:absolute;top:90px;width:100%;background-color:var(--color-primary);flex-direction:column;gap:0;box-shadow:var(--shadow-strong);opacity:0;visibility:hidden;transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease,visibility var(--transition-speed);pointer-events:none;border-radius:var(--radius);z-index:120}nav ul.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}nav ul li a{color:var(--color-secondary);font-size:var(--font-size-lg);display:block}nav ul li a:focus,nav ul li a:hover{color:var(--color-accent)}#contact .flex>div,#values li{padding:1rem;border-right:none!important}#contact .flex>div:last-child,#values li:last-child{border-bottom:none}.flex{flex-direction:column!important}}@media (max-width:480px){.button-wrapper{flex-direction:column}.button-wrapper,.button-wrapper .button{width:100%}}