@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
/* Prestige Cooling Solutions — brand and tool styles.
   Navy and gold from the mark; Cinzel for headings (the wordmark's face),
   Jost for everything else. */
:root {
	--pc-navy: #153357; --pc-deep: #0e2440; --pc-gold: #b69460; --pc-gold-pale: #e6d5b0; --pc-gold-deep: #9a7a48;
	--pc-ink: #17202b; --pc-soft: #5c6673; --pc-rule: #dde2e8; --pc-cool: #f4f6f9; --pc-paper: #ffffff;
	--pc-serif: Cinzel, Georgia, serif; --pc-sans: Jost, 'Gill Sans', 'Segoe UI', sans-serif;
}

/* ---- The theme, kept in its box. Hello's reset paints buttons and hovers in
   its own pink/indigo; nothing on this site inherits that. Stated at the root
   with high specificity, once, so it never resurfaces. ---- */
html body { margin: 0; background: var(--pc-paper); color: var(--pc-ink); font-family: var(--pc-sans); font-weight: 400; font-size: 16px; line-height: 1.6; }
html body a { color: var(--pc-navy); text-decoration: none; }
html body a:hover, html body a:active, html body a:focus { color: var(--pc-gold-deep); }
html body button, html body [type="button"], html body [type="submit"], html body [type="reset"],
html body button:hover, html body [type="button"]:hover, html body [type="submit"]:hover,
html body button:focus, html body [type="submit"]:focus, html body button:active, html body [type="submit"]:active {
	background: none; background-color: transparent; border: 0; border-radius: 0; color: inherit; box-shadow: none; padding: 0; font: inherit; cursor: pointer; -webkit-appearance: none; appearance: none;
}
html body input, html body select, html body textarea { font: inherit; color: var(--pc-ink); }
html body img { max-width: 100%; height: auto; }
html body h1, html body h2, html body h3, html body h4 { font-family: var(--pc-serif); font-weight: 500; color: var(--pc-navy); line-height: 1.15; margin: 0 0 .5em; }
html body .elementor-widget-heading .elementor-heading-title { font-family: var(--pc-serif); font-weight: 500; color: var(--pc-navy); line-height: 1.15; }
html body .elementor-widget-text-editor { font-family: var(--pc-sans); color: var(--pc-ink); font-size: 17px; line-height: 1.65; }
html body .elementor-widget-text-editor p { margin: 0 0 1em; }
.pcs-page .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(30px, 4.2vw, 52px); }
.pcs-page .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(24px, 3vw, 36px); }
.pcs-page .elementor-widget-heading h3.elementor-heading-title { font-size: 20px; }
.pcs-page .elementor-widget-text-editor { max-width: 66ch; }
.pcs-on-navy .elementor-widget-heading .elementor-heading-title, .pcs-on-navy .elementor-widget-text-editor, .pcs-on-navy h1, .pcs-on-navy h2, .pcs-on-navy p { color: #fff; }
.pcs-on-navy .elementor-widget-heading .elementor-heading-title { color: var(--pc-gold-pale); }
.pcs-on-navy .elementor-widget-text-editor { color: rgba(255,255,255,.82); }
.pcs-on-navy a { color: var(--pc-gold-pale); }
.pcs-band-navy { background: var(--pc-navy); }
.pcs-band-deep { background: var(--pc-deep); }
.pcs-band-cool { background: var(--pc-cool); }
.pcs-band-gold { background: var(--pc-gold); }
.pcs-band-gold .elementor-heading-title, .pcs-band-gold .elementor-widget-text-editor, .pcs-band-gold p { color: var(--pc-deep) !important; }

.pcs-wrap { width: min(1180px, 100% - 48px); margin: 0 auto; }

/* ---- buttons ---- */
.pcs-btn { display: inline-block; padding: 14px 26px; font-family: var(--pc-sans); font-weight: 500; font-size: 15px; letter-spacing: .03em; line-height: 1; border-radius: 3px; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.pcs-btn-gold, html body a.pcs-btn-gold { background: var(--pc-gold); color: var(--pc-deep); border: 1px solid var(--pc-gold); }
.pcs-btn-gold:hover, html body a.pcs-btn-gold:hover { background: var(--pc-gold-pale); border-color: var(--pc-gold-pale); color: var(--pc-deep); }
.pcs-btn-navy, html body a.pcs-btn-navy, html body button.pcs-btn-navy { background: var(--pc-navy); color: #fff; border: 1px solid var(--pc-navy); padding: 14px 26px; border-radius: 3px; }
.pcs-btn-navy:hover, html body button.pcs-btn-navy:hover { background: var(--pc-deep); border-color: var(--pc-deep); color: #fff; }
.pcs-btn-ghost, html body a.pcs-btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); }
.pcs-btn-ghost:hover, html body a.pcs-btn-ghost:hover { border-color: #fff; color: #fff; }
.pcs-link, html body button.pcs-link { color: var(--pc-soft); font-size: 15px; border-bottom: 1px solid var(--pc-rule); padding-bottom: 2px; }
.pcs-link:hover, html body button.pcs-link:hover { color: var(--pc-navy); border-bottom-color: var(--pc-navy); }

/* ---- header ---- */
.pcs-head { position: sticky; top: 0; z-index: 40; background: var(--pc-navy); box-shadow: 0 1px 0 rgba(255,255,255,.06); }
.pcs-nav { width: min(1180px, 100% - 48px); margin: 0 auto; height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pcs-logo img { display: block; height: 52px; width: auto; }
.pcs-menu ul { display: flex; align-items: center; gap: 30px; list-style: none; margin: 0; padding: 0; }
.pcs-menu a { color: rgba(255,255,255,.88); font-size: 15px; letter-spacing: .02em; padding: 6px 0; border-bottom: 1px solid transparent; transition: color .25s ease, border-color .25s ease; }
.pcs-menu a:hover, .pcs-menu a.on { color: #fff; border-bottom-color: var(--pc-gold); }
.pcs-menu-tel a { color: var(--pc-gold-pale); font-weight: 500; }
.pcs-menu-cta a.pcs-btn { border-bottom: 0; padding: 12px 20px; color: var(--pc-deep); }
.pcs-menu-cta a.pcs-btn:hover { color: var(--pc-deep); }
.pcs-burger { display: none; width: 40px; height: 40px; position: relative; cursor: pointer; }
.pcs-burger span, .pcs-burger span::before, .pcs-burger span::after { content: ""; position: absolute; left: 8px; width: 24px; height: 2px; background: #fff; transition: transform .3s ease, opacity .2s ease; }
.pcs-burger span { top: 19px; } .pcs-burger span::before { top: -7px; left: 0; } .pcs-burger span::after { top: 7px; left: 0; }
.pcs-burger.open span { background: transparent; } .pcs-burger.open span::before { transform: translateY(7px) rotate(45deg); } .pcs-burger.open span::after { transform: translateY(-7px) rotate(-45deg); }

/* ---- footer ---- */
.pcs-foot { background: var(--pc-deep); color: rgba(255,255,255,.7); padding: 56px 0 36px; margin-top: 0; }
.pcs-foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 36px; }
.pcs-foot p { margin: 12px 0 0; font-size: 15px; line-height: 1.7; }
.pcs-foot a { color: #fff; } .pcs-foot a:hover { color: var(--pc-gold-pale); }
.pcs-foot-logo { display: block; width: 240px; height: auto; }
.pcs-foot-h { font-family: var(--pc-serif); font-size: 15px; letter-spacing: .06em; color: var(--pc-gold-pale); margin-top: 6px !important; }
.pcs-foot-small { border-top: 1px solid rgba(255,255,255,.1); margin-top: 36px; padding-top: 22px; font-size: 13px; color: rgba(255,255,255,.45); }

/* ---- the opening question, in the hero ---- */
.pcs-start-q { font-family: var(--pc-serif); font-size: 22px; color: var(--pc-gold-pale); margin: 0 0 14px; }
.pcs-start-note { font-size: 14px; color: rgba(255,255,255,.62); margin: 16px 0 0; }
.pcs-on-navy .pcs-card { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.22); color: #fff; }
.pcs-on-navy .pcs-card:hover { border-color: var(--pc-gold); background: rgba(182,148,96,.08); }
.pcs-on-navy .pcs-card-s { color: rgba(255,255,255,.6); }

/* ---- the tool ---- */
.pcs-quote { max-width: 860px; margin: 0 auto; }
.pcs-progress { display: flex; gap: 6px; list-style: none; margin: 0 0 34px; padding: 0; counter-reset: step; }
.pcs-progress li { flex: 1; font-size: 12px; letter-spacing: .04em; color: var(--pc-soft); padding-top: 10px; border-top: 3px solid var(--pc-rule); }
.pcs-progress li.on { border-top-color: var(--pc-gold); color: var(--pc-navy); }
.pcs-progress li.done { border-top-color: var(--pc-navy); }
.pcs-q { font-size: clamp(24px, 3vw, 32px); margin: 0 0 8px; }
.pcs-q-sub { color: var(--pc-soft); margin: 0 0 22px; max-width: 60ch; }
.pcs-cards { display: grid; gap: 14px; }
.pcs-cards-3 { grid-template-columns: repeat(3, 1fr); }
.pcs-cards-4 { grid-template-columns: repeat(4, 1fr); }
.pcs-card, html body button.pcs-card, html body a.pcs-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 18px 16px; text-align: left; background: #fff; border: 1.5px solid var(--pc-rule); border-radius: 4px; color: var(--pc-ink); font: inherit; cursor: pointer; position: relative; transition: border-color .22s ease, background .22s ease, transform .22s ease; }
.pcs-card:hover, html body button.pcs-card:hover, html body a.pcs-card:hover { border-color: var(--pc-navy); background: #fff; color: var(--pc-ink); }
.pcs-card.on, html body button.pcs-card.on { border-color: var(--pc-gold); background: #fffdf7; box-shadow: inset 0 0 0 1px var(--pc-gold); }
.pcs-card.on::after { content: ""; position: absolute; top: 12px; right: 12px; width: 18px; height: 18px; border-radius: 50%; background: var(--pc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230e2440' stroke-width='2.2'%3E%3Cpath d='M5 10.5l3.2 3L15 7'/%3E%3C/svg%3E") center/13px no-repeat; }
.pcs-card-t { font-family: var(--pc-serif); font-size: 17px; color: var(--pc-navy); }
.pcs-card-s { font-size: 13.5px; color: var(--pc-soft); line-height: 1.4; }
.pcs-rooms { display: grid; gap: 18px; }
.pcs-room { padding: 20px; border: 1.5px solid var(--pc-rule); border-radius: 4px; background: var(--pc-cool); }
.pcs-room-missing { border-color: var(--pc-gold); }
.pcs-room-n { font-family: var(--pc-serif); font-size: 16px; color: var(--pc-navy); margin: 0 0 10px; }
.pcs-sizes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }
.pcs-card-size { padding: 12px 12px 10px; } .pcs-card-size .pcs-card-t { font-size: 15px; } .pcs-card-size .pcs-card-s { font-size: 12.5px; }
.pcs-label { display: block; font-size: 14px; color: var(--pc-soft); margin: 0 0 12px; }
.pcs-label span { color: var(--pc-soft); font-weight: 300; }
.pcs-select, .pcs-input { display: block; width: 100%; margin-top: 6px; padding: 12px 12px; border: 1.5px solid var(--pc-rule); border-radius: 4px; background: #fff; font-size: 16px; }
.pcs-select:focus, .pcs-input:focus { outline: none; border-color: var(--pc-navy); }
.pcs-actions { display: flex; align-items: center; gap: 16px; margin: 24px 0 0; }
.pcs-back { margin: 26px 0 0; }
.pcs-form-msg { font-size: 14px; color: var(--pc-soft); }

/* the price */
.pcs-step-price { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: start; }
.pcs-price-card { background: var(--pc-navy); color: #fff; padding: 30px 28px 26px; border-radius: 4px; position: sticky; top: 104px; }
.pcs-price-label { font-family: var(--pc-serif); font-size: 15px; letter-spacing: .05em; color: var(--pc-gold-pale); margin: 0 0 6px; }
.pcs-price-figure { font-family: var(--pc-serif); font-size: clamp(38px, 5vw, 52px); line-height: 1; margin: 0 0 4px; color: #fff; }
.pcs-price-vat { font-size: 13px; color: rgba(255,255,255,.62); margin: 0 0 18px; }
.pcs-price-lines { list-style: none; margin: 0 0 14px; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.14); font-size: 14px; }
.pcs-price-lines li { display: flex; justify-content: space-between; gap: 16px; padding: 5px 0; color: rgba(255,255,255,.85); }
.pcs-price-note { font-size: 14px; color: rgba(255,255,255,.75); margin: 0 0 12px; }
.pcs-price-includes { font-size: 12.5px; line-height: 1.55; color: rgba(255,255,255,.5); margin: 0; }
.pcs-form-h { font-size: 24px; margin: 0 0 6px; }
.pcs-form-sub { color: var(--pc-soft); margin: 0 0 20px; }
.pcs-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.pcs-form-small { font-size: 12.5px; color: var(--pc-soft); margin: 14px 0 0; }
.pcs-step-done .pcs-q { color: var(--pc-navy); }

@media (max-width: 900px) {
	.pcs-cards-3, .pcs-cards-4 { grid-template-columns: repeat(2, 1fr); }
	.pcs-sizes { grid-template-columns: repeat(2, 1fr); }
	.pcs-step-price { grid-template-columns: 1fr; }
	.pcs-price-card { position: static; }
	.pcs-foot-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 760px) {
	.pcs-nav { height: 70px; }
	.pcs-logo img { height: 40px; }
	.pcs-burger { display: block; }
	.pcs-menu { position: fixed; inset: 70px 0 0 0; background: var(--pc-navy); display: none; padding: 20px 24px; z-index: 39; }
	.pcs-menu.open { display: block; }
	.pcs-menu ul { flex-direction: column; align-items: stretch; gap: 0; }
	.pcs-menu li { border-bottom: 1px solid rgba(255,255,255,.1); }
	.pcs-menu a { display: block; padding: 16px 0; font-family: var(--pc-serif); font-size: 20px; border-bottom: 0; }
	.pcs-menu-cta { border-bottom: 0; padding-top: 18px; } .pcs-menu-cta a.pcs-btn { display: inline-block; font-family: var(--pc-sans); font-size: 15px; }
	.pcs-grid2 { grid-template-columns: 1fr; }
	.pcs-progress li { font-size: 0; } .pcs-progress li.on { font-size: 0; }
}
@media (max-width: 520px) { .pcs-cards-3, .pcs-cards-4 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pcs-card, .pcs-btn, .pcs-menu a { transition: none; } }

/* ---- page sections built in Elementor ---- */
.pcs-hero .elementor-widget-heading h1.elementor-heading-title { max-width: 18ch; font-size: clamp(32px, 4.6vw, 58px); }
.pcs-hero .elementor-widget-text-editor { font-size: 18px; max-width: 58ch; }
.pcs-hero .pcs-start { margin-top: 14px; max-width: 900px; }

.pcs-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.pcs-facts h3 { font-size: 19px; margin: 0 0 8px; }
.pcs-facts p { margin: 0; color: var(--pc-soft); font-size: 15.5px; line-height: 1.6; }

.pcs-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.pcs-tiles a { display: flex; flex-direction: column; gap: 6px; padding: 22px 20px 20px; background: var(--pc-navy); color: #fff; border-radius: 4px; border-bottom: 3px solid var(--pc-gold); transition: background .25s ease; }
.pcs-tiles a:hover { background: var(--pc-deep); color: #fff; }
.pcs-tile-t { font-family: var(--pc-serif); font-size: 17px; color: var(--pc-gold-pale); }
.pcs-tile-s { font-size: 14px; color: rgba(255,255,255,.72); line-height: 1.45; }

.pcs-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; counter-reset: none; }
.pcs-steps li { position: relative; padding-top: 6px; }
.pcs-step-n { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--pc-gold); color: var(--pc-deep); font-family: var(--pc-serif); font-size: 17px; margin-bottom: 14px; }
.pcs-steps h3 { font-size: 19px; margin: 0 0 8px; }
.pcs-steps p { margin: 0; color: var(--pc-soft); font-size: 15.5px; line-height: 1.6; }

.pcs-faq { max-width: 760px; }
.pcs-faq details { border-top: 1px solid var(--pc-rule); }
.pcs-faq details:last-child { border-bottom: 1px solid var(--pc-rule); }
.pcs-faq summary { cursor: pointer; padding: 18px 40px 18px 0; font-family: var(--pc-serif); font-size: 18px; color: var(--pc-navy); list-style: none; position: relative; }
.pcs-faq summary::-webkit-details-marker { display: none; }
.pcs-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-family: var(--pc-sans); font-size: 24px; color: var(--pc-gold); transition: transform .25s ease; }
.pcs-faq details[open] summary::after { transform: rotate(45deg); }
.pcs-faq p { margin: 0 0 20px; color: var(--pc-ink); font-size: 16px; line-height: 1.65; max-width: 66ch; }

.pcs-cta .elementor-widget-heading h2.elementor-heading-title { color: var(--pc-deep); }
.pcs-cta-row { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin: 0; color: var(--pc-deep); font-size: 16px; }
.pcs-cta-row a:not(.pcs-btn) { color: var(--pc-deep); font-weight: 500; border-bottom: 1px solid rgba(14,36,64,.4); }
.pcs-cta-row .pcs-btn { color: #fff; }
.pcs-cta-row .pcs-btn:hover { color: #fff; }

.pcs-two { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.pcs-contact-card { background: var(--pc-navy); color: #fff; padding: 30px 28px; border-radius: 4px; }
.pcs-contact-card h3 { color: var(--pc-gold-pale); font-size: 18px; margin: 0 0 10px; }
.pcs-contact-card p { margin: 0 0 14px; color: rgba(255,255,255,.82); }
.pcs-contact-card a { color: #fff; font-size: 20px; font-family: var(--pc-serif); }
.pcs-contact-card a:hover { color: var(--pc-gold-pale); }

@media (max-width: 900px) {
	.pcs-facts, .pcs-steps { grid-template-columns: 1fr; gap: 22px; }
	.pcs-tiles { grid-template-columns: repeat(2, 1fr); }
	.pcs-two { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .pcs-tiles { grid-template-columns: 1fr; } }


/* ---- first-look corrections ---- */
.pcs-on-navy .pcs-card-t { color: var(--pc-gold-pale); }
.pcs-on-navy .pcs-card.on .pcs-card-t, .pcs-on-navy .pcs-card:hover .pcs-card-t { color: #fff; }
.pcs-hero .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(28px, 3.5vw, 46px); max-width: 24ch; line-height: 1.12; }
.pcs-logo img { height: 62px; }
@media (max-width: 760px) { .pcs-logo img { height: 44px; } }


/* ---- corrections after first use ----
   1. hidden steps must actually hide (display:grid on the price step was
      outranking the hidden attribute);
   2. Elementor's kit styles buttons with a class selector, so the reset at
      the root lost — every control of ours now states itself with weight;
   3. inputs of every type look the same. */
.pcs-quote .pcs-step[hidden], html body .pcs-step[hidden] { display: none !important; }

html body .pcs-quote button:not(.pcs-card):not(.pcs-btn), html body button.pcs-link,
html body .pcs-quote button:not(.pcs-card):not(.pcs-btn):hover, html body .pcs-quote button:not(.pcs-card):not(.pcs-btn):focus, html body .pcs-quote button:not(.pcs-card):not(.pcs-btn):active {
	background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: inherit !important; padding: 0 !important; font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.4 !important;
}
html body button.pcs-card, html body a.pcs-card { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; padding: 18px 18px 16px !important; background: #fff !important; border: 1.5px solid var(--pc-rule) !important; border-radius: 4px !important; text-align: left !important; }
html body button.pcs-card:hover, html body a.pcs-card:hover { border-color: var(--pc-navy) !important; }
html body button.pcs-card.on { border-color: var(--pc-gold) !important; background: #fffdf7 !important; box-shadow: inset 0 0 0 1px var(--pc-gold) !important; }
html body button.pcs-card-size { padding: 12px 12px 10px !important; }
html body .pcs-on-navy .pcs-card { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.22) !important; }
html body .pcs-on-navy .pcs-card:hover { border-color: var(--pc-gold) !important; background: rgba(182,148,96,.08) !important; }
html body button.pcs-btn-navy, html body button.pcs-btn-navy:hover, html body button.pcs-btn-navy:focus { background: var(--pc-navy) !important; color: #fff !important; border: 1px solid var(--pc-navy) !important; border-radius: 3px !important; padding: 14px 26px !important; font-weight: 500 !important; font-size: 15px !important; letter-spacing: .03em !important; line-height: 1 !important; }
html body button.pcs-btn-navy:hover { background: var(--pc-deep) !important; border-color: var(--pc-deep) !important; }
html body button.pcs-btn-gold, html body button.pcs-btn-gold:hover, html body button.pcs-btn-gold:focus { background: var(--pc-gold) !important; color: var(--pc-deep) !important; border: 1px solid var(--pc-gold) !important; border-radius: 3px !important; padding: 14px 26px !important; font-weight: 500 !important; font-size: 15px !important; letter-spacing: .03em !important; line-height: 1 !important; }
html body button.pcs-btn-gold:hover { background: var(--pc-gold-pale) !important; border-color: var(--pc-gold-pale) !important; }
html body button.pcs-btn-gold:disabled { opacity: .6; }
html body button.pcs-link { color: var(--pc-soft) !important; font-size: 15px !important; border-bottom: 1px solid var(--pc-rule) !important; padding-bottom: 2px !important; border-radius: 0 !important; }
html body button.pcs-link:hover { color: var(--pc-navy) !important; border-bottom-color: var(--pc-navy) !important; }
.pcs-card, .pcs-btn { transform: none !important; }

/* every field the same, whatever its type */
html body .pcs-quote input[type="text"], html body .pcs-quote input[type="email"], html body .pcs-quote input[type="tel"],
html body .pcs-quote textarea, html body .pcs-quote select {
	display: block; width: 100%; box-sizing: border-box; margin: 6px 0 0; padding: 12px 12px; border: 1.5px solid var(--pc-rule) !important; border-radius: 4px !important; background: #fff !important; box-shadow: none !important; font: inherit; font-size: 16px; color: var(--pc-ink); line-height: 1.4;
}
html body .pcs-quote input:focus, html body .pcs-quote textarea:focus, html body .pcs-quote select:focus { outline: none !important; border-color: var(--pc-navy) !important; box-shadow: none !important; }
.pcs-quote .pcs-label { margin: 0 0 16px; }
.pcs-quote .pcs-grid2 .pcs-label { margin-bottom: 16px; }
.pcs-form-h { margin-top: 0; }


/* ---- cards keep their size in every state; grids never overflow ---- */
html body button.pcs-card, html body button.pcs-card:hover, html body button.pcs-card:focus, html body button.pcs-card:active, html body button.pcs-card.on { padding: 18px 18px 16px !important; border-width: 1.5px !important; border-style: solid !important; min-width: 0 !important; width: 100%; box-sizing: border-box !important; }
html body button.pcs-card-size, html body button.pcs-card-size:hover, html body button.pcs-card-size:focus, html body button.pcs-card-size.on { padding: 12px 12px 10px !important; }
html body button.pcs-card:focus-visible { outline: 2px solid var(--pc-gold) !important; outline-offset: 2px; }
.pcs-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcs-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pcs-sizes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pcs-room { box-sizing: border-box; min-width: 0; }
.pcs-card-s, .pcs-card-t { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 900px) { .pcs-cards-3, .pcs-cards-4, .pcs-sizes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .pcs-cards-3, .pcs-cards-4 { grid-template-columns: minmax(0, 1fr); } }


/* card text wraps rather than clips */
html body button.pcs-card, html body a.pcs-card { white-space: normal !important; overflow: visible !important; height: auto !important; }
html body .pcs-card .pcs-card-t, html body .pcs-card .pcs-card-s { display: block; white-space: normal !important; text-align: left; }
html body .pcs-card-size .pcs-card-s { font-size: 12px !important; line-height: 1.35 !important; }


/* ---- page rhythm: two-column sections, panels, a statement ---- */
.pcs-split .e-con-inner, .pcs-split { align-items: center; }
.pcs-hero-right { padding: 30px 30px 26px; border: 1px solid rgba(182,148,96,.35); border-radius: 6px; background: rgba(255,255,255,.03); }
.pcs-hero-right .pcs-start-q { margin-top: 0; }
.pcs-hero-right .pcs-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.pcs-hero-trust { display: flex; gap: 22px; flex-wrap: wrap; margin: 6px 0 0; padding: 0; list-style: none; }
.pcs-hero-trust li { font-size: 14px; color: rgba(255,255,255,.7); padding-left: 18px; position: relative; }
.pcs-hero-trust li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-gold); }

.pcs-panel-navy { position: relative; overflow: hidden; background: var(--pc-navy); color: #fff; padding: 46px 40px 42px !important; border-radius: 6px; }
.pcs-panel-navy::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 260px; height: 380px; background: url("../assets/img/crown.png") no-repeat center / contain; opacity: .07; pointer-events: none; }
.pcs-statement { font-family: var(--pc-serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; color: var(--pc-gold-pale); margin: 0 0 14px; }
.pcs-statement-by { font-size: 14px; color: rgba(255,255,255,.62); margin: 0; }

.pcs-ticks { list-style: none; margin: 0; padding: 26px 28px; background: #fff; border: 1px solid var(--pc-rule); border-top: 3px solid var(--pc-gold); border-radius: 4px; }
.pcs-ticks li { position: relative; padding: 9px 0 9px 30px; border-bottom: 1px solid var(--pc-rule); font-size: 15.5px; }
.pcs-ticks li:last-child { border-bottom: 0; }
.pcs-ticks li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 16px; height: 16px; border-radius: 50%; background: var(--pc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230e2440' stroke-width='2.4'%3E%3Cpath d='M5 10.5l3.2 3L15 7'/%3E%3C/svg%3E") center/11px no-repeat; }
.pcs-ticks-h { font-family: var(--pc-serif); font-size: 17px; color: var(--pc-navy); margin: 0 0 8px; }

.pcs-steps-line { position: relative; }
.pcs-steps-line::before { content: ""; position: absolute; left: 19px; right: 19px; top: 25px; height: 1px; background: linear-gradient(90deg, var(--pc-gold) 0, var(--pc-gold) 100%); opacity: .5; }
.pcs-steps-line .pcs-step-n { position: relative; z-index: 1; box-shadow: 0 0 0 8px var(--pc-cool); }

.pcs-faq-intro { position: sticky; top: 110px; }
.pcs-faq-intro p { color: var(--pc-soft); font-size: 15.5px; }
.pcs-side-fact { padding: 30px 28px; background: var(--pc-navy); color: #fff; border-radius: 6px; }
.pcs-side-fact .n { font-family: var(--pc-serif); font-size: 44px; line-height: 1; color: var(--pc-gold-pale); margin: 0 0 8px; }
.pcs-side-fact p { margin: 0; color: rgba(255,255,255,.72); font-size: 15px; }

@media (max-width: 900px) {
	.pcs-hero-right { margin-top: 10px; }
	.pcs-panel-navy { padding: 34px 26px 30px !important; }
	.pcs-faq-intro { position: static; }
}


/* ================= PASS TWO =================
   Modern sans throughout (the logo keeps its serif), sizes brought down,
   photographs in the hero and tiles, footer matched to the header, and the
   tool given its icons. Later in the file, so it wins. */
:root { --pc-serif: Manrope, 'Segoe UI', sans-serif; --pc-sans: Manrope, 'Segoe UI', sans-serif; }
html body { font-family: var(--pc-sans); font-size: 16px; line-height: 1.6; }
html body h1, html body h2, html body h3, html body h4, html body .elementor-widget-heading .elementor-heading-title { font-family: var(--pc-sans); font-weight: 700; letter-spacing: -0.012em; }
.pcs-page .elementor-widget-heading h1.elementor-heading-title, .pcs-hero .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(30px, 3.4vw, 44px) !important; line-height: 1.1 !important; max-width: 20ch !important; }
.pcs-page .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(23px, 2.4vw, 31px) !important; line-height: 1.18; }
.pcs-page .elementor-widget-heading h3.elementor-heading-title { font-size: 18px !important; }
html body .elementor-widget-text-editor { font-size: 16px; line-height: 1.65; }
.pcs-hero .elementor-widget-text-editor { font-size: 17px; }
.pcs-on-navy .elementor-widget-heading .elementor-heading-title { color: #fff; }
.pcs-facts h3, .pcs-steps h3 { font-size: 17px; font-weight: 700; }
.pcs-facts p, .pcs-steps p { font-size: 15px; }
.pcs-statement { font-size: clamp(20px, 2vw, 25px); font-weight: 600; line-height: 1.35; color: #fff; }
.pcs-statement-by { font-size: 13.5px; color: var(--pc-gold-pale); }
.pcs-side-fact .n { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; }
.pcs-side-fact p { font-size: 14.5px; }
.pcs-side-fact { padding: 26px 26px; }
.pcs-ticks-h { font-size: 15px; font-weight: 700; }
.pcs-ticks li { font-size: 15px; padding: 8px 0 8px 30px; }
.pcs-foot-h { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pcs-step-n { font-weight: 800; font-size: 15px; }
.pcs-faq summary { font-size: 16.5px; font-weight: 600; }
.pcs-faq p { font-size: 15.5px; }
.pcs-btn { font-weight: 600; font-size: 14.5px; }
.pcs-menu a { font-weight: 500; font-size: 14.5px; }

/* header + footer share one navy */
.pcs-foot { background: var(--pc-navy); border-top: 1px solid rgba(255,255,255,.08); padding: 50px 0 32px; }
.pcs-foot p { font-size: 14.5px; }
.pcs-foot-small { border-top-color: rgba(255,255,255,.1); }

/* hero: a photograph behind, the question in a white panel */
.pcs-hero { background: linear-gradient(90deg, rgba(14,36,64,.94) 0%, rgba(14,36,64,.86) 45%, rgba(14,36,64,.55) 100%), url("https://images.unsplash.com/photo-1761330440311-16e160cad236?auto=format&fit=crop&w=1800&q=70") center 40% / cover no-repeat !important; }
.pcs-hero-right { background: #fff !important; border: 0 !important; border-radius: 8px; padding: 26px 26px 22px !important; box-shadow: 0 24px 60px rgba(10,25,45,.35); }
.pcs-hero-right .pcs-start-q { color: var(--pc-navy); font-size: 18px; font-weight: 700; margin: 0 0 12px; }
.pcs-hero-right .pcs-card, html body .pcs-hero-right a.pcs-card { background: #fff !important; border-color: var(--pc-rule) !important; padding: 14px 16px 12px !important; gap: 2px !important; }
.pcs-hero-right .pcs-card:hover, html body .pcs-hero-right a.pcs-card:hover { border-color: var(--pc-navy) !important; background: var(--pc-cool) !important; }
.pcs-hero-right .pcs-card-t { color: var(--pc-navy) !important; font-size: 15.5px; font-weight: 700; }
.pcs-hero-right .pcs-card-s { color: var(--pc-soft) !important; font-size: 13px; }
.pcs-hero-right .pcs-start-note { color: var(--pc-soft); font-size: 13px; margin-top: 12px; }
.pcs-hero-trust li { font-size: 14px; }

/* tiles become photographs */
.pcs-tiles a { position: relative; min-height: 210px; justify-content: flex-end; padding: 18px 18px 16px; background-size: cover; background-position: center; border-bottom: 0; overflow: hidden; border-radius: 6px; }
.pcs-tiles a::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,36,64,0) 30%, rgba(14,36,64,.85) 100%); transition: background .3s ease; }
.pcs-tiles a:hover::before { background: linear-gradient(180deg, rgba(14,36,64,.1) 20%, rgba(14,36,64,.92) 100%); }
.pcs-tiles a > span { position: relative; z-index: 1; }
.pcs-tile-t { font-size: 17px; font-weight: 700; color: #fff; }
.pcs-tile-s { font-size: 13.5px; color: rgba(255,255,255,.8); }

/* photographs in sections */
.pcs-photo { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; border-radius: 8px; }
.pcs-photo-frame { position: relative; border-radius: 8px; overflow: hidden; }
.pcs-photo-frame::after { content: ""; position: absolute; left: 18px; bottom: 18px; width: 46px; height: 3px; background: var(--pc-gold); }

/* the tool: smaller type, icons, a little decoration */
.pcs-q { font-size: clamp(22px, 2.4vw, 28px); font-weight: 700; letter-spacing: -0.01em; }
.pcs-q-sub { font-size: 15px; }
.pcs-card-t { font-size: 15.5px; font-weight: 700; }
.pcs-card-s { font-size: 13px; }
.pcs-card-size .pcs-card-t { font-size: 14.5px; }
.pcs-card-icon { display: block; width: 34px; height: 34px; margin: 0 0 8px; color: var(--pc-gold-deep); }
.pcs-card-icon svg { width: 34px; height: 34px; display: block; }
.pcs-card.on .pcs-card-icon { color: var(--pc-gold-deep); }
.pcs-on-navy .pcs-card-icon { color: var(--pc-gold); }
.pcs-card-size .pcs-card-icon { width: 30px; height: 30px; margin-bottom: 6px; } .pcs-card-size .pcs-card-icon svg { width: 30px; height: 30px; }
.pcs-progress li { font-size: 12px; font-weight: 600; }
.pcs-price-card { position: relative; overflow: hidden; }
.pcs-price-card::after { content: ""; position: absolute; right: -30px; top: -20px; width: 180px; height: 260px; background: url("../assets/img/crown.png") no-repeat center / contain; opacity: .08; pointer-events: none; }
.pcs-price-label { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pcs-price-figure { font-size: clamp(36px, 4.4vw, 48px); font-weight: 800; letter-spacing: -0.02em; }
.pcs-form-h { font-size: 21px; font-weight: 700; }
.pcs-room-n { font-size: 14px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--pc-soft); }
.pcs-step-done .pcs-q { font-size: 26px; }
.pcs-contact-card a { font-family: var(--pc-sans); font-size: 18px; font-weight: 700; }
.pcs-contact-card h3 { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

/* menu on a phone: sans, not serif */
@media (max-width: 760px) { .pcs-menu a { font-family: var(--pc-sans); font-size: 18px; font-weight: 600; } .pcs-tiles a { min-height: 160px; } .pcs-hero { background-position: 60% 40% !important; } }


/* hidden means hidden, whatever the theme says about display */
.pcs-quote [hidden], html body .pcs-quote button[hidden] { display: none !important; }
