/* Service-first layout: the reference site's large icon buttons in CNAP colors. */
:root{--radius:12px;--tile-border:#ebad8d}
.wrap{width:min(1200px,calc(100% - 64px))}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em}h1,h2{font-weight:750}h1 em,h2 em{font-family:inherit;font-style:normal;font-size:1em;font-weight:inherit}.btn{border-radius:8px}.header-inner{height:88px}.header .brand small{max-width:140px}.header .nav{gap:22px}.header .nav a{font-size:13px}.topbar{border-bottom:1px solid #ffffff12}.topbar .wrap{height:34px}.inner-page .page-intro h1{font-size:clamp(34px,4.2vw,60px)}
.services-hero{position:relative;isolation:isolate;overflow:hidden;background:#232427;color:#fff}.services-hero-photo{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#232427 0%,#232427ef 38%,#232427e6 100%),url('/assets/editorial/architect-planning-1536.webp') center 55%/cover}.services-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:center;padding-block:46px 42px}.hero-kicker{font-size:11px;font-weight:650;letter-spacing:.16em;color:#dadadc;margin-bottom:20px}.services-hero h1{margin:0;line-height:1.07;font-weight:800;letter-spacing:-.04em}.services-hero h1>span{display:table;background:var(--accent);color:#232427;padding:9px 13px 10px;font-size:clamp(23px,2.65vw,38px);letter-spacing:.015em}.services-hero h1>strong{display:block;font-size:clamp(48px,5.45vw,76px);font-weight:800;margin-top:10px;letter-spacing:-.045em}.services-hero-description{font-size:16px;line-height:1.7;margin:20px 0 23px;color:#dedee1}.services-hero .btn{min-height:50px;font-size:14px;padding:12px 18px}.hero-motto{margin:20px 0 0;color:var(--accent);font-size:15px;font-weight:650;letter-spacing:.015em}.hero-contact{border-left:1px solid #ffffff2b;padding:16px 0 16px 38px}.hero-contact-label{color:#d0d1d5;font-size:11px;letter-spacing:.14em;margin-bottom:18px}.hero-contact-phone{display:flex;align-items:center;gap:12px;font-size:25px;line-height:1.5;font-weight:700;white-space:nowrap;margin-bottom:10px}.hero-contact .icon{width:20px;height:20px;color:var(--accent)}.hero-contact a:hover{color:var(--accent)}.hero-contact-email{display:flex;align-items:center;gap:12px;font-size:16px;margin-top:18px}.hero-contact-address{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8;padding-top:25px;margin-top:24px;border-top:1px solid #ffffff26}.hero-contact-address>.icon{margin-top:5px}.hero-contact-address b{font-weight:500}.hero-visit{font-size:12px;line-height:1.7;color:#c4c5cb;margin:12px 0 0 32px}
.service-shortcuts{background:#fff;border-bottom:1px solid var(--line)}.service-shortcuts>.wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.service-shortcuts a{display:flex;align-items:center;gap:10px;min-height:74px;padding:16px 14px;font-size:13px;font-weight:700;border-right:1px solid var(--line)}.service-shortcuts a:first-child{border-left:1px solid var(--line)}.service-shortcuts a>.icon:first-child{color:var(--accent-dark);width:23px;height:23px}.service-shortcuts a>.icon:last-child{margin-left:auto;width:16px;height:16px}.service-shortcuts a:hover{background:var(--soft)}
.home-services{padding:54px 0 45px;background:#f7f7f7;scroll-margin-top:15px}.services-heading{text-align:center;margin-bottom:34px}.services-heading .eyebrow{color:var(--accent-dark);font-size:11px;margin:0 0 12px}.services-heading h2{font-size:clamp(26px,2.7vw,36px);margin:0 0 12px;line-height:1.25}.services-heading>p:last-child{font-size:15px;color:var(--muted);margin:0}.home-service-group{margin:0 0 43px;scroll-margin-top:115px}.tile-group-heading{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid #dedfe1}.tile-group-heading h2{font-size:25px;font-weight:750;line-height:1.25;margin:0;letter-spacing:-.035em}.group-symbol{display:grid;place-items:center;background:var(--soft);border:1px solid #f1d6c8;border-radius:10px;color:var(--accent-dark);width:42px;height:42px;flex-shrink:0}.tile-group-heading>a{display:flex;gap:10px;align-items:center;margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap;min-height:44px}.tile-group-heading>a .icon{width:18px;height:18px}.tile-group-heading>a:hover{color:var(--accent-dark)}
.service-tiles,.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-row.service-tile,.service-tile{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:285px;padding:24px 20px 0;background:#fff;border:1.5px solid var(--tile-border);border-radius:18px;color:var(--ink);text-align:center;box-shadow:0 3px 0 #eee8e4;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}.service-tile[hidden]{display:none}.service-tile:hover{transform:translateY(-4px);border-color:var(--accent-dark);box-shadow:0 9px 22px #23242712;background:#fffcfa}.tile-visual{display:grid;place-items:center;min-height:96px;margin-bottom:17px;color:var(--accent-dark)}.service-art{display:block;width:84px;height:84px;transition:transform .2s}.service-tile:hover .service-art{transform:scale(1.06)}.service-tile .row-title,.service-tile>h3{font-size:16px;line-height:1.5;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 21px;min-height:48px;display:flex;align-items:center;justify-content:center;max-width:100%;text-wrap:pretty}.tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;align-self:stretch;border-top:1px solid #f0e5df;padding:13px 0;margin-top:auto;min-height:59px}.tile-price{font-size:22px;font-weight:800;line-height:1.2;text-align:left;letter-spacing:-.03em}.tile-price small{font-size:12px;font-weight:600;letter-spacing:0}.tile-arrow{background:var(--soft);color:var(--accent-dark);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:21px;line-height:1;flex-shrink:0}.service-tile:hover .tile-arrow{background:var(--accent);color:var(--ink)}.price-on-request{font-size:15px;font-weight:650;letter-spacing:0}.service-tile.help-tile{background:#232427;border-color:#232427;color:#fff;box-shadow:0 3px 0 #dedfe1}.help-tile .tile-visual{min-height:72px;margin-bottom:10px}.help-tile .tile-visual>.icon{width:52px;height:52px;color:var(--accent);stroke-width:1.2}.service-tile.help-tile>h3{color:#fff;font-size:18px;margin-bottom:10px;min-height:0}.service-tile.help-tile>p{font-size:12px;line-height:1.7;color:#d7d8dc;margin-bottom:18px}.help-tile .tile-bottom{font-size:12px;font-weight:700;border-color:#ffffff26}.help-tile .tile-arrow{color:#232427;background:var(--accent)}.catalogue-price-note{font-size:13px;color:var(--muted);max-width:860px;margin:0 auto;text-align:center;line-height:1.85}.catalogue-price-note>a{display:inline-flex;gap:8px;align-items:center;color:var(--accent-dark);font-weight:700}.catalogue-price-note .icon{width:17px;height:17px}
.home-about{padding:65px 0;background:#fff}.home-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.home-about-image{border-radius:16px;overflow:hidden;aspect-ratio:1.35}.home-about-image img{width:100%;height:100%;object-fit:cover}.home-about h2{font-size:38px;line-height:1.2;margin-bottom:20px}.home-about .eyebrow{color:var(--accent-dark);font-size:11px;margin-bottom:15px}.home-about p:not(.eyebrow){font-size:16px;color:var(--muted)}.home-about .btn{min-height:48px;font-size:13px}.home-work{padding-block:45px 65px}.service-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:0}.service-steps li{border-top:2px solid var(--accent);padding-top:18px}.service-steps li>span{font-size:30px;font-weight:800;color:var(--accent-dark);display:block;margin-bottom:16px}.service-steps h3{font-size:18px;font-weight:750;margin-bottom:10px;letter-spacing:-.025em}.service-steps p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.home-faq{padding-block:35px 55px}.home-faq .faq-list{max-width:1000px;margin-inline:auto}.home-faq>.text-link{display:flex;width:max-content;margin:22px auto 0}.home-faq .faq-list summary{font-size:18px}.home-guides{padding-block:30px 60px}.service-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-guides>a{border:1px solid var(--line);border-radius:14px;overflow:hidden;padding-bottom:22px}.service-guides>a>img{width:100%;aspect-ratio:1.8;object-fit:cover;height:auto}.service-guides h3{font-size:18px;line-height:1.45;letter-spacing:-.025em;margin:20px 20px 14px}.service-guides>a>span{font-size:12px;font-weight:700;color:var(--accent-dark);margin-inline:20px}.service-guides .icon{width:17px;height:17px;margin-left:8px}.service-guides>a:hover{border-color:var(--accent-dark)}.home-page .cta-section{padding-block:20px 65px}.home-page .cta{border-radius:16px}.home-page .cta h2{font-size:38px}.home-page .cta p:not(.eyebrow){font-size:16px}
.catalogue .service-group{margin-bottom:44px}.catalogue .group-heading{margin-bottom:20px}.catalogue .group-heading h2{font-size:26px}.catalogue .service-tiles{margin-top:10px}.inner-page .hub-grid{margin-top:28px}.inner-page .service-tile .row-title{font-size:16px}.inner-page .intro{padding-bottom:38px}.inner-page .service-hero h1{font-size:clamp(32px,3.8vw,55px)}
body[data-theme=green]{--tile-border:#b4c6a2}body[data-theme=red]{--tile-border:#e7afa8}
@media(min-width:761px) and (max-width:1100px){.header .brand small{display:none}.header .nav{gap:16px}.header-phone span{font-size:12px}.header-inner{gap:18px}.services-hero-grid{gap:25px;grid-template-columns:1.5fr 1fr}.hero-contact{padding-left:24px}.hero-contact-phone{font-size:20px}.service-shortcuts a{font-size:11px;padding-inline:9px;gap:7px}.service-shortcuts a>.icon:last-child{display:none}.service-tiles,.hub-grid{gap:16px}.service-row.service-tile,.service-tile{padding:20px 14px 0;min-height:278px}.service-tile .row-title,.inner-page .service-tile .row-title{font-size:14px}.tile-price{font-size:20px}.tile-price small{font-size:11px}}
@media(max-width:1000px){.service-tiles,.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-about-grid{gap:30px}.home-about h2{font-size:32px}.service-steps{gap:18px}.service-steps h3{font-size:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.header-inner{height:72px}.header .brand small{display:block;font-size:8px}.header .brand b{font-size:29px}.header .brand>span{gap:10px}.header .brand img{width:36px;height:38px}.header-inner{gap:10px}.topbar .wrap{height:30px}.topbar span{font-size:10px}.header .nav a{font-size:16px}.services-hero-grid{grid-template-columns:1fr;padding-block:29px 28px;gap:28px}.hero-kicker{font-size:9px;letter-spacing:.1em;margin-bottom:15px}.services-hero h1>span{font-size:clamp(20px,5.65vw,34px);padding:8px 10px}.services-hero h1>strong{font-size:clamp(39px,10.9vw,68px);margin-top:8px}.services-hero-description{font-size:14px;margin:17px 0 19px}.services-hero-description br{display:none}.services-hero .btn{font-size:13px;min-height:47px}.hero-motto{font-size:13px;margin-top:17px}.hero-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;border:0;border-top:1px solid #ffffff2b;padding:20px 0 0}.hero-contact-label{grid-column:1/-1;font-size:9px;margin:0 0 2px}.hero-contact-phone{font-size:15px;gap:6px;margin:0}.hero-contact .icon{width:15px;height:15px}.hero-contact-email{grid-column:1/-1;font-size:13px;margin:6px 0 0;gap:8px}.hero-contact-address{grid-column:1/-1;margin:8px 0 0;padding:12px 0 0;font-size:12px;gap:8px}.hero-contact-address br{display:none}.hero-contact-address b{margin-left:6px}.hero-visit{display:none}.service-shortcuts>.wrap{display:flex;flex-wrap:wrap;gap:7px;padding:14px 0}.service-shortcuts a{min-height:37px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;font-size:11px;gap:6px}.service-shortcuts a:first-child{border-left:1px solid var(--line)}.service-shortcuts a>.icon:first-child{width:16px;height:16px}.service-shortcuts a>.icon:last-child{display:none}.home-services{padding-block:34px}.services-heading{margin-bottom:28px}.services-heading .eyebrow{font-size:9px;letter-spacing:.1em}.services-heading h2{font-size:25px;line-height:1.3}.services-heading>p:last-child{font-size:13px;line-height:1.7}.tile-group-heading{gap:9px;margin-bottom:16px;padding-bottom:12px;flex-wrap:wrap}.tile-group-heading h2{font-size:21px;max-width:calc(100% - 46px)}.tile-group-heading>a{font-size:11px;min-height:30px}.group-symbol{width:35px;height:35px;border-radius:8px}.group-symbol>.icon{width:20px;height:20px}.service-tiles,.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-row.service-tile,.service-tile{min-height:255px;padding:19px 12px 0;border-radius:13px}.tile-visual{min-height:74px;margin-bottom:13px}.service-art{width:72px;height:72px}.service-tile .row-title,.inner-page .service-tile .row-title{font-size:13px;line-height:1.5;margin-bottom:15px;min-height:59px;font-weight:750}.tile-bottom{padding-block:11px;min-height:52px;gap:4px}.tile-price{font-size:18px;line-height:1.5}.tile-price small{font-size:10px}.tile-arrow{width:24px;height:24px;font-size:18px}.price-on-request{font-size:12px}.service-tile.help-tile>h3{font-size:14px}.service-tile.help-tile>p{font-size:11px}.help-tile .tile-visual{min-height:57px}.help-tile .tile-visual>.icon{width:42px;height:42px}.help-tile .tile-bottom{font-size:10px}.home-service-group{margin-bottom:34px;scroll-margin-top:88px}.catalogue-price-note{font-size:12px;text-align:left}.home-about{padding-block:38px}.home-about-grid{grid-template-columns:1fr;gap:27px}.home-about-image{aspect-ratio:1.65;border-radius:12px}.home-about h2{font-size:30px}.home-about p:not(.eyebrow){font-size:15px}.home-work{padding-block:30px 40px}.service-steps{grid-template-columns:1fr 1fr;gap:27px 20px}.service-steps li>span{font-size:25px;margin-bottom:12px}.service-steps h3{font-size:16px;line-height:1.4}.service-steps p{font-size:13px}.home-faq{padding-block:25px 35px}.home-faq .faq-list summary{font-size:16px}.home-faq .faq-list p{font-size:14px}.home-guides{padding-block:25px 35px}.service-guides{grid-template-columns:1fr;gap:18px}.service-guides h3{font-size:18px}.home-page .cta-section{padding-block:10px 40px}.home-page .cta{border-radius:12px;padding:27px 22px}.home-page .cta h2{font-size:29px}.home-page .cta p:not(.eyebrow){font-size:14px}.catalogue .group-heading h2{font-size:21px}.catalogue .group-heading{gap:10px}.catalogue .group-heading>span{font-size:10px}.inner-page .hub-grid{margin-top:20px}}
@media(max-width:360px){.wrap{width:calc(100% - 24px)}.hero-contact{gap:9px 8px}.hero-contact-phone{font-size:13px}.hero-contact-phone>.icon{width:13px;height:13px}.service-tiles,.hub-grid{gap:10px}.service-row.service-tile,.service-tile{padding-inline:9px}.tile-price{font-size:16px}.tile-price small{font-size:9px}.tile-arrow{width:21px;height:21px}.service-tile .row-title,.inner-page .service-tile .row-title{font-size:12px}.price-on-request{font-size:11px}.help-tile .tile-bottom{font-size:9px}.tile-group-heading h2{font-size:19px}.header .brand small{font-size:7px}.header .brand>span{gap:6px}}
@media(prefers-reduced-motion:reduce){.service-tile,.service-art{transition:none}.service-tile:hover,.service-tile:hover .service-art{transform:none}}

/* This block sits inside .wrap: its padding must not grow with viewport width. */
.cta{padding:56px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:48px}
.cta>div{min-width:0}
.cta-actions{width:100%;max-width:360px}
.cta-phone{font-size:clamp(25px,2.1vw,34px)}
@media(min-width:761px) and (max-width:1000px){.cta{padding:36px;gap:30px}.cta-phone{font-size:27px}}
@media(max-width:760px){.cta{padding:30px 23px;grid-template-columns:minmax(0,1fr);gap:26px}.cta-actions{justify-self:start;max-width:none}.cta-phone{font-size:clamp(24px,6.8vw,30px)}}
