@font-face{font-family:"Averia Serif Libre";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/averia-serif-libre-regular.ttf") format("truetype")}
:root{--serif:"Averia Serif Libre",Georgia,"Times New Roman",serif}
.contact-cta,.submit-button,.testimonial-more,.cookie-settings,.cookie-accept,.google-rating,.contact-pill,.button,.footer-button,.placeholder-page a{font-family:var(--serif)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header.scrolled{background:rgba(179,140,71,.97);box-shadow:0 10px 35px rgba(82,60,38,.18)}
.hero h1{font-size:clamp(3.8rem,10vw,9rem);line-height:.9;text-transform:none}
.hero-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero:after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(36,48,41,.5),rgba(36,48,41,.18) 52%,rgba(179,140,71,.14)),linear-gradient(0deg,rgba(36,48,41,.38),rgba(36,48,41,.03) 55%,rgba(36,48,41,.18))}
.univers{padding-top:clamp(70px,8vw,115px)}
.site-footer{background:#b38c47;color:var(--white)}
.testimonials{background:#fffdf8}
.testimonials-heading{display:flex;align-items:center;justify-content:center;gap:30px;max-width:1180px;margin:0 auto 45px;text-align:center}
.testimonials-heading>div{display:grid;justify-items:center}.testimonials-heading h2{max-width:800px;margin:0;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1;letter-spacing:-.04em}
.google-rating{display:flex;align-items:center;gap:15px;flex:0 0 auto;padding:15px 19px;border:1px solid var(--line);border-radius:999px;background:var(--paper);transition:transform .2s,box-shadow .2s}
.google-rating .stars,.mini-stars{color:#b38c47;letter-spacing:.1em}
.google-rating>span:last-child{display:grid;line-height:1.15}.google-rating small{margin-top:3px;color:var(--muted);font-size:.7rem}
.testimonial-shell{position:relative}
.testimonial-grid{display:grid;grid-auto-columns:minmax(620px,72vw);grid-auto-flow:column;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:8px clamp(20px,6vw,90px) 20px;scrollbar-width:none;scroll-behavior:smooth}
.testimonial-grid::-webkit-scrollbar{display:none}
.testimonial-card{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:22px;align-items:center;min-height:280px;padding:18px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:rgba(255,253,248,.88);box-shadow:0 18px 44px rgba(82,60,38,.08);scroll-snap-align:center}
.testimonial-image{display:block;width:100%;height:260px;aspect-ratio:3/4;border-radius:7px;object-fit:cover}
.testimonial-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#687d79,#405653);color:rgba(255,253,248,.78);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.testimonial-copy{min-width:0;padding:0}
.testimonial-category{margin:0 0 13px;color:var(--clay);font-size:.7rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.mini-stars{font-size:.78rem}.testimonial-name{margin:8px 0 10px;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500}.testimonial-copy blockquote{display:-webkit-box;max-width:620px;margin:0;overflow:hidden;color:var(--muted);font-family:var(--sans);font-size:.95rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}.testimonial-card.is-open blockquote{display:block}.testimonial-more{margin-top:16px;padding:0;border:0;background:transparent;color:var(--clay);font-weight:900;cursor:pointer}.testimonial-arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:rgba(255,253,248,.94);box-shadow:0 12px 28px rgba(82,60,38,.14);color:var(--ink);font-size:2rem;line-height:1;cursor:pointer;transform:translateY(-50%);transition:transform .18s,background .18s}.testimonial-arrow.previous{left:clamp(12px,3vw,42px)}.testimonial-arrow.next{right:clamp(12px,3vw,42px)}
.photo-placeholder img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.photo-placeholder:before{display:none}
.portrait-placeholder{width:clamp(270px,36vw,500px);padding:0;border:0;overflow:visible;background:none;box-shadow:none;cursor:pointer;perspective:1200px}
.portrait-inner{position:relative;display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 12px var(--white),var(--shadow);transition:transform .75s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.portrait-face{position:absolute;display:grid;place-items:center;inset:0;overflow:hidden;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.portrait-front img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.portrait-back{padding:clamp(30px,5vw,64px);background:linear-gradient(145deg,#b38c47,#7d8a5f);color:var(--white);font-family:var(--serif);font-size:clamp(.95rem,1.55vw,1.3rem);font-weight:400;line-height:1.45;letter-spacing:0;text-align:center;text-transform:none;transform:rotateY(180deg)}
.portrait-flip.is-flipped .portrait-inner{transform:rotateY(180deg)}
.contact-section{grid-template-columns:minmax(0,760px);justify-content:center;gap:34px;background:linear-gradient(135deg,rgba(47,75,58,.96),rgba(83,97,68,.94)),radial-gradient(circle at 90% 20%,rgba(242,185,93,.3),transparent 22rem);color:var(--white)}
.contact-heading{position:static;text-align:center}
.contact-heading .eyebrow{color:#f2d69a}
.contact-heading p:last-child{max-width:640px;margin:24px auto 0;color:rgba(255,253,248,.76);font-size:1.08rem}
.contact-form{width:min(100%,680px);justify-self:center;gap:18px;padding:26px;background:rgba(255,253,248,.08);border:1px solid rgba(255,253,248,.18);border-radius:8px}
.field{gap:8px}.field label{color:var(--white);font-size:.92rem;font-weight:800;letter-spacing:0;text-transform:none}.field label small{color:rgba(255,253,248,.68)}
.field input,.field textarea{min-height:46px;padding:12px 13px;border:1px solid rgba(255,253,248,.24);border-radius:6px;background:rgba(255,253,248,.94);color:var(--ink)}
.field textarea{min-height:160px;padding:13px}.field input:focus,.field textarea:focus{border-color:#f2d69a;box-shadow:0 0 0 3px rgba(242,214,154,.2)}
.consent{color:rgba(255,253,248,.76)}.form-footer p{color:rgba(255,253,248,.68)}.submit-button{width:100%;justify-content:center;background:#b38c47}.submit-button:hover{background:#c97246}.form-status.success{background:#edf3e8;color:#33412f}.form-status.error{background:#f7e5dc;color:#78391d}
@media(max-width:820px){.testimonials-heading{flex-direction:column}.testimonial-grid{grid-auto-columns:minmax(520px,86vw)}}
@media(max-width:560px){.hero h1{font-size:clamp(3.5rem,17vw,5.4rem)}.contact-form{padding:20px 16px}.testimonial-grid{grid-auto-columns:86vw}.testimonial-card{grid-template-columns:110px minmax(0,1fr);gap:15px;min-height:230px;padding:13px}.testimonial-image{height:165px}.testimonial-name{font-size:1.3rem}.testimonial-copy blockquote{-webkit-line-clamp:5;font-size:.82rem}.google-rating{width:100%;justify-content:center}.testimonial-arrow{width:40px;height:40px}}
@media(hover:hover) and (pointer:fine){.category-card:hover .photo-placeholder img{transform:scale(1.055)}}
@media(hover:hover) and (pointer:fine){.portrait-flip:hover .portrait-inner,.portrait-flip:focus-visible .portrait-inner{transform:rotateY(180deg)}}
@media(hover:hover) and (pointer:fine){.testimonial-arrow:hover{background:var(--sun);transform:translateY(-50%) scale(1.06)}}
