*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font:19px/1.65 Arial,Helvetica,sans-serif;color:#252525;background:white}a{color:inherit}button,input,select{font:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #7c9b19;outline-offset:5px}.lime{background:#bbd951}.headwrap{max-width:1280px;padding:22px 35px 18px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}.wordmark{font-size:clamp(33px,4vw,52px);font-weight:600;letter-spacing:-1.5px;text-decoration:none;line-height:1.2}.headcontact{text-align:right;display:flex;flex-direction:column}.headcontact a{font-size:20px;font-weight:bold;text-decoration:none}.headcontact .email{font-size:15px;font-weight:normal}nav{width:100%;display:flex;gap:30px;align-items:center;justify-content:flex-end}nav a{text-decoration:none;font-size:16px}.outline{padding:8px 13px;border:1px solid #35421b}.opening{max-width:1120px;margin:auto;padding:40px 35px 23px}.openinggrid{display:grid;grid-template-columns:1fr 1fr;gap:75px;text-align:center}.opening h1,.opening h2{font:normal 28px/1.3 Arial,sans-serif;letter-spacing:-.6px;margin:0;min-height:112px;display:flex;flex-direction:column;justify-content:center}.opening h1 span{line-height:.8}.openingprices{display:flex;justify-content:center;gap:24px;min-height:88px;margin:12px 0 18px}.openingprices a{text-decoration:none;font-size:18px;line-height:1.4}.openingprices strong{font-size:30px;display:block;font-weight:500}.openingprices small{font-size:14px;display:block}.single a{font-size:24px}.single strong{display:inline}.single{align-items:center}.circle{display:block;width:235px;height:235px;margin:0 auto 22px;border-radius:50%;overflow:hidden}.circle svg{display:block;width:100%;height:100%;transition:transform .25s}.circle:hover svg{transform:scale(1.04)}.townline{text-align:center;font-size:13px;line-height:1.8;margin:22px 0 6px}.darklinks{display:grid;grid-template-columns:repeat(4,1fr);padding:30px max(20px,calc((100% - 1280px)/2));background:#262626;color:white}.darklinks a{padding:12px 20px 20px;border-left:1px solid #817e6c;text-align:center;font-size:16px;text-decoration:none;line-height:1.4}.darklinks a:last-child{border-right:1px solid #817e6c}.darklinks span{display:block;color:#c3c0a1;font-size:48px;line-height:1.6;font-weight:normal}.section{padding:70px max(30px,calc((100% - 1200px)/2))}.eyebrow{text-transform:uppercase;font-size:13px;font-weight:bold;letter-spacing:1.8px;color:#647429}h1{font-size:clamp(40px,5vw,64px);line-height:1.08;letter-spacing:-2px;font-weight:500}h2{font-size:clamp(32px,3.8vw,46px);line-height:1.15;letter-spacing:-1.2px;font-weight:500;margin:15px 0 24px}h3{font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-.6px}.lead{max-width:800px;color:#5e6258}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.card{padding:30px;border:1px solid #d9ddcb;display:flex;flex-direction:column;align-items:start;scroll-margin-top:25px}.card h2,.card h3{font-size:32px;margin:0 0 18px}.card p{font-size:18px;color:#5b6054;flex:1}.card a{font-size:17px;text-underline-offset:5px}.price{flex:none!important;color:#252525!important;margin-top:15px}.price strong{font-size:35px;font-weight:500}.price small{display:block;font-size:16px}.fine,.source{font-size:14px;color:#676c60}.soft{background:#f0f5df}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.btn{display:inline-block;padding:12px 22px;background:#bbd951;color:#252525;text-decoration:none;font-size:17px;border:0}.coverage-secondary{border-top:1px solid #d6ddc5;margin-top:30px;max-width:850px}.coverage-secondary h3{font-size:25px}.contact{padding:65px 25px;text-align:center;background:#262626;color:white}.contact .eyebrow{color:#bbd951}.contact p{max-width:690px;margin:0 auto 20px;color:#d5d7cd}.bigphone,.bigmail{display:block;text-decoration:none;width:fit-content;margin:10px auto}.bigphone{font-size:clamp(38px,6vw,65px);font-weight:500}.bigmail{font-size:clamp(17px,3vw,26px);overflow-wrap:anywhere}.studio{font-size:13px;display:block;margin-top:30px;color:#b6b8af}.pagehead{padding-bottom:25px}.pagehead h1{margin:20px 0}.process-list{padding-top:0}.step{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:25px 0;border-top:1px solid #d6ddc5}.stepnum{font-size:40px;color:#81983e}.step h2{font-size:30px}.step p{max-width:800px}.dark{background:#262626;color:white}.dark .eyebrow{color:#bbd951}.light{background:#bbd951}.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:55px;padding-top:10px}.faq-nav{display:grid;gap:15px;align-self:start;position:sticky;top:25px}.faq-nav a{font-size:17px;text-decoration:none;border-bottom:1px solid #d6ddc5;padding-bottom:10px}.faq-search{width:100%;padding:13px;border:1px solid #b9c59b;margin:10px 0 25px}.faq-group{margin-bottom:45px}details{padding:20px 0;border-bottom:1px solid #d6ddc5}summary{font-size:20px;line-height:1.4;cursor:pointer}details p{font-size:18px;color:#5b6054}.empty{background:#f0f5df;padding:15px}.packquote{font-weight:bold!important;color:#647429!important}.card li{font-size:17px}.card ul{padding-left:20px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px}.faq details[hidden],.faq-group[hidden],.empty[hidden]{display:none}
@media(max-width:760px){body{font-size:18px}.headwrap{padding:20px;justify-content:center;gap:15px}.headcontact{text-align:center}.headcontact a{font-size:19px}.headcontact .email{font-size:15px}nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 17px}nav a{font-size:15px;min-height:32px;display:flex;align-items:center}.outline{margin-top:5px}.opening{padding:30px 22px 20px}.openinggrid{grid-template-columns:1fr;gap:35px}.opening h1,.opening h2{font-size:25px;min-height:0}.openingprices{margin:20px 0 15px;min-height:0}.circle{width:205px;height:205px;margin-bottom:10px}.townline{font-size:12px}.darklinks{grid-template-columns:1fr 1fr;padding:20px 12px;gap:20px 0}.darklinks a{font-size:14px;padding:5px 10px;border:0}.darklinks a:last-child{border:0}.darklinks span{font-size:37px}.section{padding:48px 23px}.grid,.split,.faq-layout{grid-template-columns:1fr;gap:22px}.card{padding:25px}.card h3,.card h2{font-size:31px}.card p{font-size:18px}.faq-nav{position:static;gap:8px}.faq-nav a{padding-bottom:6px}.step{grid-template-columns:40px 1fr;gap:10px}.stepnum{font-size:30px}.step h2{font-size:27px}h1{letter-spacing:-1px}h2{letter-spacing:-.8px}.contact{padding:50px 22px}}

/* Three service columns and prominent local coverage */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.opening{max-width:1280px;padding-top:45px}.openinggrid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.openinggrid.three h2{font-size:clamp(25px,2.3vw,33px);font-weight:500;line-height:1.25;text-transform:none;min-height:84px;letter-spacing:-.7px}.openinggrid.three .openingprices{min-height:65px;margin:14px 0 23px}.openinggrid.three .openingprices a{font-size:21px}.openinggrid.three .openingprices strong{font-size:36px}.openinggrid.three .circle{width:245px;height:245px;max-width:100%;margin-bottom:15px}.learnlink{font-size:16px;text-underline-offset:5px}.price-note{font-size:13px;max-width:800px;text-align:center;margin:30px auto 0;color:#6b705e}.town-panel{background:#f1f5e5;border-top:3px solid #bbd951;margin:40px 0 15px;padding:32px 40px;text-align:center}.town-panel h2{font-size:35px;letter-spacing:-.8px;margin:12px 0 20px}.towns{font-size:27px;line-height:1.8;font-weight:500;max-width:1000px;margin:0 auto}.towns span{display:inline-block;color:#8fa73f;padding:0 10px}.secondary-area{font-size:16px;color:#656c58;max-width:800px;margin:22px auto 0}@media(max-width:900px) and (min-width:761px){.openinggrid.three{gap:20px}.openinggrid.three .circle{width:200px;height:200px}}@media(max-width:760px){.openinggrid.three{grid-template-columns:1fr;gap:36px}.openinggrid.three h2{min-height:0;font-size:30px}.openinggrid.three .openingprices{margin:12px 0 18px;min-height:0}.openinggrid.three .circle{width:240px;height:240px}.town-panel{margin-top:30px;padding:26px 18px}.town-panel h2{font-size:29px}.towns{font-size:23px;line-height:1.65}.towns span{padding:0 5px}.secondary-area{font-size:16px}}

/* Larger supporting text across the site, and compact contact section */
body{font-size:20px}.headcontact a{font-size:23px}.headcontact .email{font-size:18px}nav a{font-size:18px}.eyebrow{font-size:16px;letter-spacing:1.3px}.openingprices a{font-size:21px}.openingprices small{font-size:18px}.learnlink{font-size:19px}.price-note,.fine,.source{font-size:17px;line-height:1.6}.secondary-area{font-size:19px}.card p,.card li,.card a{font-size:19px}.price small{font-size:18px}.faq-nav a{font-size:19px}details p{font-size:20px}summary{font-size:22px}.contact{padding:30px 24px 22px}.contact .eyebrow{font-size:15px}.contact h2{font-size:35px;margin:10px 0 14px}.contact p{font-size:18px;line-height:1.5;margin-bottom:12px;max-width:840px}.contact .bigphone{font-size:44px;line-height:1.2;margin:8px auto}.contact .bigmail{font-size:23px;line-height:1.4;margin:8px auto}.privacy-link{margin-top:18px;padding-top:12px;border-top:1px solid #53564b;max-width:840px;margin-left:auto;margin-right:auto;font-size:17px}.privacy-link a{color:#d8e7a6;text-underline-offset:4px}@media(max-width:760px){body{font-size:19px}.headcontact a{font-size:21px}.headcontact .email{font-size:18px}nav a{font-size:18px;line-height:1.4}.eyebrow{font-size:15px}.openingprices small{font-size:18px}.learnlink{font-size:18px}.price-note,.fine,.source{font-size:17px}.secondary-area{font-size:18px}.card p,.card li,.card a{font-size:19px}.faq-nav a{font-size:18px}details p{font-size:19px}summary{font-size:21px}.contact{padding:27px 20px 20px}.contact h2{font-size:31px}.contact .bigphone{font-size:39px}.contact .bigmail{font-size:19px}.contact p{font-size:18px}.privacy-link{font-size:17px}}

/* Clearly readable supporting copy, desktop and mobile */
body{font-size:22px;line-height:1.65}.headcontact a{font-size:25px}.headcontact .email,nav a{font-size:21px}nav{gap:18px 25px;flex-wrap:wrap}.eyebrow{font-size:19px;letter-spacing:1px}.openingprices a,.openinggrid.three .openingprices a{font-size:24px}.openingprices small{font-size:21px}.learnlink{font-size:22px}.price-note,.fine,.source{font-size:20px;line-height:1.6}.secondary-area{font-size:22px}.card p,.card li,.card a,.price small{font-size:22px}.faq-nav a{font-size:21px}details p{font-size:22px}summary{font-size:24px}.btn,label,.faq-search{font-size:21px}.contact .eyebrow{font-size:19px}.contact p{font-size:21px}.contact .bigmail{font-size:25px}.privacy-link{font-size:20px}.towns{font-size:29px}@media(max-width:760px){body{font-size:21px}.headcontact a{font-size:23px}.headcontact .email,nav a{font-size:20px}nav{gap:7px 17px}.eyebrow{font-size:18px}.openingprices small{font-size:21px}.learnlink{font-size:21px}.price-note,.fine,.source{font-size:20px}.secondary-area{font-size:21px}.card p,.card li,.card a,.price small{font-size:21px}.faq-nav a{font-size:21px}details p{font-size:21px}summary{font-size:23px}.contact .eyebrow{font-size:18px}.contact p{font-size:21px}.contact .bigmail{font-size:22px;overflow-wrap:anywhere;max-width:100%}.privacy-link{font-size:20px}.towns{font-size:26px}}

@media(min-width:1100px){.contact p{max-width:none;white-space:nowrap;font-size:21px}}

.openinggrid.three h2.single-line-title{white-space:nowrap;font-size:clamp(18px,2.05vw,28px);letter-spacing:-.7px}@media(max-width:760px){.openinggrid.three h2.single-line-title{font-size:clamp(21px,6vw,30px);letter-spacing:-.6px}}

/* Prominent header contact button */
header.lime nav a.outline{background:#252525;color:#fff;border:2px solid #252525;font-weight:700;padding:12px 20px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 3px 0 rgba(0,0,0,.18);text-decoration:none}header.lime nav a.outline:hover{background:#414141;border-color:#414141;color:#fff}header.lime nav a.outline:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #252525}

/* Contacto: ubicaciones de Cerdanyola y Sant Cugat */
.office-contact-link{margin-right:12px!important;background:#bbd951!important;color:#252525!important}
.office-page{padding-bottom:26px}.office-page h1{margin-bottom:22px}.office-intro-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.office-intro-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.office-intro-actions .office-phone{background:#f0f5df}
.office-maps{padding-top:16px;padding-bottom:55px}.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.office-card{border:1px solid #d9ddcb;min-width:0;background:#fff}.office-card-header{padding:25px}.office-card-header .eyebrow{font-size:16px}.office-card h2{font-size:30px;line-height:1.25;margin:12px 0 17px}.office-card h2 a{text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.office-card address{font-style:normal;font-size:21px;line-height:1.7}.office-map{width:100%;max-width:100%;height:330px;display:block;border:0;border-block:1px solid #d9ddcb;background:#f0f5df}.office-directions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 25px;min-height:58px;text-decoration:none;font-size:21px;background:#f0f5df}.office-directions:hover{background:#e5eccd}.office-map-note{font-size:17px;color:#676c60;line-height:1.7;margin-top:25px;max-width:900px}.office-bottom-link{text-align:center;padding:22px 20px;background:#f0f5df}.office-bottom-link .btn{min-height:48px}
@media(max-width:760px){.office-grid{grid-template-columns:1fr;gap:25px}.office-maps{padding-top:10px;padding-bottom:38px}.office-card-header{padding:22px}.office-card h2{font-size:29px}.office-card address{font-size:20px}.office-map{height:290px}.office-directions{font-size:20px;padding:16px 22px}.office-intro-actions{gap:12px}.office-intro-actions .btn{font-size:20px}.office-map-note{font-size:17px}.office-contact-link{margin-right:0!important}.office-page .lead{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
