:root { --wine: #780101; --wine-dark: #4d0909; --gold: #b8872f; --beige: #f5efe4; --beige-light: #fbf8f2; --ink: #342727; --muted: #756868; --line: #ded2c1; }
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--beige); }
body { min-width: 320px; margin: 0; color: var(--ink); background: var(--beige); font-family: "Segoe UI", Arial, sans-serif; }
a { color: inherit; }
img { max-width: 100%; }

.construction { position: relative; display: flex; min-height: 100vh; min-height: 100svh; flex-direction: column; overflow: hidden; padding: clamp(24px, 4vh, 48px) clamp(18px, 5vw, 72px) 22px; background: radial-gradient(circle at 50% 10%, rgba(255,255,255,.92), transparent 34%), linear-gradient(180deg, var(--beige-light), var(--beige)); }
.construction::before, .construction::after { position: absolute; border: 1px solid rgba(184,135,47,.14); border-radius: 50%; content: ""; pointer-events: none; }
.construction::before { width: 420px; height: 420px; top: -290px; left: -220px; }
.construction::after { width: 330px; height: 330px; right: -210px; bottom: -240px; }
.construction__header, .construction__hero, .construction__footer { position: relative; z-index: 1; width: min(100%, 1120px); margin-inline: auto; }
.construction__header { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.construction__header > img { width: clamp(138px, 12vw, 178px); height: auto; }
.construction__status { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; color: var(--wine); border: 1px solid rgba(120,1,1,.2); border-radius: 999px; background: rgba(255,255,255,.55); font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.construction__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(184,135,47,.12); animation: pulse 2s ease-in-out infinite; }

.construction__hero { display: grid; flex: 1; place-items: center; padding: clamp(36px, 6vh, 68px) 0; }
.construction__content { width: 100%; text-align: center; }
.construction__eyebrow { margin: 0 0 15px; color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
h1 { max-width: 780px; margin: 0 auto; color: var(--wine-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.7rem, 5vw, 4.9rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.03; text-wrap: balance; }
h1::after { display: block; width: 58px; height: 2px; margin: 23px auto; background: var(--gold); content: ""; }
.construction__intro { max-width: 680px; margin: 0 auto; color: var(--muted); font-size: clamp(.98rem, 1.2vw, 1.08rem); line-height: 1.72; }
.construction__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.button { display: inline-flex; min-height: 53px; align-items: center; justify-content: center; gap: 10px; padding: 12px 21px; border: 1px solid transparent; border-radius: 5px; font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button svg, .button img { width: 22px; height: 22px; object-fit: contain; }
.button svg { fill: currentColor; }
.button--primary { color: #fff; background: var(--wine); box-shadow: 0 14px 28px -19px rgba(120,1,1,.72); }
.button--secondary { color: var(--wine); border-color: rgba(120,1,1,.3); background: rgba(255,255,255,.62); }
.button:hover, .button:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 25px -17px rgba(52,39,39,.7); outline: 2px solid var(--gold); outline-offset: 3px; }

.contact { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: clamp(35px,6vh,56px) auto 0; padding-top: 24px; border-top: 1px solid var(--line); font-style: normal; text-align: left; }
.contact__item { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 11px; align-items: start; padding: 17px; color: var(--muted); background: rgba(255,255,255,.48); border: 1px solid rgba(222,210,193,.86); border-radius: 7px; font-size: .83rem; line-height: 1.55; }
.contact__item svg { width: 23px; height: 23px; fill: var(--gold); }
.contact__item span { min-width: 0; }
.contact__item small { display: block; margin-bottom: 4px; color: var(--wine); font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact__item a { color: var(--ink); text-decoration-color: rgba(120,1,1,.25); text-underline-offset: 3px; overflow-wrap: anywhere; }
.contact__item a[href^="tel:"] { display: inline-block; white-space: nowrap; }
.contact__item b { color: var(--line); font-weight: 400; }

.construction__footer { display: flex; justify-content: center; gap: 7px 18px; flex-wrap: wrap; padding-top: 17px; border-top: 1px solid var(--line); color: #938585; font-size: .69rem; text-align: center; }
.construction__footer p { margin: 0; }
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@keyframes pulse { 50% { opacity: .5; transform: scale(.82); } }

@media (max-width: 840px) { .contact { grid-template-columns: minmax(0,1fr); max-width: 600px; } }
@media (max-width: 560px) { .construction { padding-top: 21px; } .construction__header > img { width: 128px; } .construction__hero { padding-block: 32px 42px; } h1 { font-size: clamp(2.45rem,12vw,3.45rem); } .construction__actions { display: grid; } .button { width: 100%; } .contact { margin-top: 38px; } .construction__footer { line-height: 1.45; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Crisoft */
