:root{
  --paper:#f8f5ef; --mist:#eee8dd; --graphite:#18221f; --ink-soft:#68726e;
  --petrol:#123c34; --petrol-dark:#0c1b17; --bronze:#b97945;
  --line: rgba(24,34,31,0.14); --line-strong: rgba(24,34,31,0.28); --radius: 22px;
  --forest-2:#1d554a; --shadow: 0 22px 60px rgba(20,42,36,.13);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--graphite); font-family:'DM Sans', Arial, sans-serif; line-height:1.6; font-size:16px; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Playfair Display', Georgia, serif; font-weight:600; margin:0; letter-spacing:-0.02em; color:var(--graphite);}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.04em; text-transform:uppercase; font-size:12px;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.container{max-width:1240px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.container{padding:0 20px;}}
:focus-visible{outline:2px solid var(--bronze); outline-offset:2px;}

.reg-marks{position:relative;}
.reg-marks::before, .reg-marks::after{content:''; position:absolute; width:16px; height:16px; pointer-events:none;}
.reg-marks::before{top:0; left:0; border-top:1.5px solid var(--line-strong); border-left:1.5px solid var(--line-strong);}
.reg-marks::after{bottom:0; right:0; border-bottom:1.5px solid var(--line-strong); border-right:1.5px solid var(--line-strong);}

.eyebrow{font-family:'DM Sans', sans-serif; font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--bronze); display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.eyebrow::before{content:''; width:28px; height:1px; background:currentColor;}

/* HEADER */
.topbar{position:fixed; top:0; left:0; right:0; z-index:1001; background:var(--graphite); color:rgba(255,255,255,.78); font-size:12px;}
.topbar-inner{min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.topbar strong{color:#fff; font-weight:600;}
@media(max-width:680px){.topbar-inner span:last-child{display:none;}}
header{position:fixed; top:36px; left:0; right:0; z-index:1000; transition:background .35s ease, box-shadow .35s ease, border-color .35s ease; border-bottom:1px solid transparent;}
header.scrolled, header.solid{background:rgba(248,245,239,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); box-shadow:0 8px 35px rgba(20,35,30,.08);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:22px 32px; gap:24px;}
@media(max-width:640px){.nav-wrap{padding:16px 20px;}}
.logo{display:inline-flex; align-items:center; gap:12px; font-weight:700; font-size:14px; letter-spacing:0.16em; color:var(--graphite);}
header:not(.scrolled):not(.solid) .logo{color:#fff;}
.logo-mark{position:relative; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; flex-shrink:0;}
.logo-mark::before, .logo-mark::after{content:''; position:absolute; background:currentColor;}
.logo-mark::before{width:15px; height:1px; left:11px; top:13px; transform:rotate(-35deg);}
.logo-mark::after{width:15px; height:1px; right:7px; top:15px; transform:rotate(48deg);}
.logo span{color:var(--bronze);}
nav.main-nav{display:flex; gap:28px; align-items:center;}
nav.main-nav a{font-size:13px; font-weight:600; color:var(--graphite); position:relative; padding:4px 0;}
header:not(.scrolled):not(.solid) nav.main-nav a{color:#fff;}
nav.main-nav a::after{content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--bronze); transition:width .25s;}
nav.main-nav a:hover::after, nav.main-nav a.active::after{width:100%;}
nav.main-nav #authNavSlot{display:inline-flex; gap:16px;}
.cta-btn{background:var(--bronze); color:#fff !important; padding:12px 22px; font-size:13px; font-weight:700; border:1px solid var(--bronze); border-radius:999px; letter-spacing:0.02em; transition:background .25s, transform .25s;}
.cta-btn:hover{background:#a86737; transform:translateY(-2px);}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:4px;}
.hamburger span{width:24px; height:2px; background:var(--graphite);}
header:not(.scrolled):not(.solid) .hamburger span{background:#fff;}
@media(max-width:920px){nav.main-nav, .header-cta{display:none;} .hamburger{display:flex;}}
.mobile-menu{position:fixed; inset:0; background:var(--paper); z-index:1100; display:none; flex-direction:column; padding:28px; color:var(--graphite);}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--graphite); font-size:26px; padding:12px 0; border-bottom:1px solid var(--line); font-family:'Playfair Display';}
.mobile-close{align-self:flex-end; background:none; border:none; color:var(--graphite); font-size:28px; margin-bottom:20px;}

/* HERO */
.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;}
.hero{position:relative; min-height:760px; color:#fff; display:grid; align-items:center; background-size:cover; background-position:center;}
.hero::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,27,23,.88) 0%, rgba(12,27,23,.56) 50%, rgba(12,27,23,.23) 100%);}
.hero::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.35), transparent 45%); pointer-events:none;}
.hero-content{position:relative; z-index:2; padding-top:150px; padding-bottom:150px; max-width:770px;}
.hero-content h1{font-family:'Playfair Display', Georgia, serif; font-size:clamp(42px,6.5vw,80px); line-height:1.02; letter-spacing:-.03em; margin:20px 0 22px; font-weight:600; color:#fff;}
.hero-content h1 span{color:#d8c4aa;}
.hero-copy{max-width:600px; font-size:17px; line-height:1.7; color:rgba(255,255,255,.84);}
@media(max-width:640px){.hero{min-height:640px; background-image:var(--hero-bg-m) !important;} .hero-content{padding-top:130px; padding-bottom:110px;}}

.hero-btns{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.btn-primary{background:var(--bronze); color:#fff; padding:14px 26px; font-size:14px; font-weight:700; border:1px solid var(--bronze); border-radius:999px; transition:background .25s, transform .25s;}
.btn-primary:hover{background:#a86737; transform:translateY(-2px);}
.btn-ghost{border:1px solid rgba(255,255,255,0.55); color:#fff; padding:14px 26px; font-size:14px; font-weight:700; background:rgba(255,255,255,.05); border-radius:999px; transition:background .25s, color .25s;}
.btn-ghost:hover{background:#fff; color:var(--graphite);}
.btn-ghost.dark{border-color:var(--line-strong); color:var(--graphite); background:transparent;}
.hero-scale{text-align:center; margin-top:14px; color:var(--ink-soft); font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:0.08em;}
@media(max-width:640px){.hero-scale{display:none;}}

section{padding:100px 0;}
@media(max-width:640px){section{padding:64px 0;}}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:36px; line-height:1.15;}
@media(max-width:640px){.section-head h2{font-size:26px;}}
.section-head p{color:var(--ink-soft); margin-top:16px; font-size:16px;}
.section-head.with-link{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap;}
.bg-mist{background:var(--mist);}
.link-underline{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; color:var(--petrol); border-bottom:1px solid var(--petrol); padding-bottom:3px;}
.page-pad{padding-top:160px; padding-bottom:100px;}

/* Advantages */
.adv-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.15);}
@media(max-width:900px){.adv-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.adv-grid{grid-template-columns:1fr;}}
.adv-card{background:var(--petrol); color:#fff; padding:31px 28px; min-height:220px; display:flex; flex-direction:column; transition:background .25s;}
.adv-card:hover{background:var(--forest-2);}
.adv-card .num{font-family:'Playfair Display'; font-size:30px; color:#d8c4aa; margin-bottom:auto; display:block;}
.adv-card h3{font-size:18px; margin:16px 0 10px; color:#fff;}
.adv-card p{color:rgba(255,255,255,.66); font-size:14px; margin:0; line-height:1.7;}

/* Services */
.serv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.15);}
@media(max-width:800px){.serv-grid{grid-template-columns:1fr;}}
.serv-card{background:var(--petrol); color:#fff; padding:31px 28px; min-height:230px; position:relative; overflow:hidden; display:flex; flex-direction:column; transition:background .25s;}
.serv-card:hover{background:var(--forest-2);}
.serv-card .ico{display:none;}
.serv-card .tag{font-family:'Playfair Display'; font-size:30px; color:#d8c4aa; margin-bottom:auto;}
.serv-card h3{font-size:19px; margin:16px 0 10px; color:#fff;}
.serv-card p{color:rgba(255,255,255,.66); font-size:14px; margin:0 0 16px; line-height:1.7;}
.serv-card .hover-line{display:none;}
.serv-detail-btn{font-size:12px; font-weight:800; letter-spacing:.04em; color:#d8c4aa; margin-top:auto;}

/* Modal */
.modal-backdrop{position:fixed; inset:0; background:rgba(17,25,24,0.6); z-index:2000; display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:60px 20px;}
.modal-backdrop.open{display:flex;}
.modal{background:#fff; max-width:640px; width:100%; padding:44px; position:relative; border-radius:var(--radius); border-top:3px solid var(--bronze);}
.modal-close{position:absolute; top:20px; right:20px; background:none; border:none; font-size:22px; color:var(--ink-soft);}
.modal h3{font-size:26px; margin-bottom:6px;}
.modal .tag{color:var(--petrol); font-family:'IBM Plex Mono'; font-size:12px;}
.modal ul{padding-left:18px; margin:14px 0; color:var(--ink-soft); font-size:14.5px;}
.modal li{margin-bottom:6px;}
.modal h4{font-size:13px; text-transform:uppercase; letter-spacing:0.05em; color:var(--graphite); margin-top:22px; font-family:'IBM Plex Mono';}

/* Featured projects (home) */
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr;}}
.feat-card{cursor:pointer; background:#000; position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .3s;}
.feat-card:hover{transform:translateY(-6px);}
.feat-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.feat-card:hover img{transform:scale(1.06);}
.feat-info{position:absolute; left:0; right:0; bottom:0; padding:18px; background:linear-gradient(0deg, rgba(0,0,0,0.75), transparent); color:#fff;}
.feat-info .cat{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--bronze); text-transform:uppercase;}
.feat-info h4{color:#fff; font-size:16px; margin-top:4px;}

/* Portfolio grid + filters */
.chip-grid{display:flex; flex-wrap:wrap; gap:12px;}
.chip{border:1px solid var(--line-strong); border-radius:999px; padding:10px 18px; font-size:13.5px; font-weight:600; background:#fff; transition:all .2s;}
.chip:hover, .chip.active{background:var(--petrol); color:#fff; border-color:var(--petrol);}
.filter-bar{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;}
.filter-btn{border:1px solid var(--line-strong); border-radius:999px; background:#fff; padding:9px 16px; font-size:13px; font-weight:600;}
.filter-btn.active{background:var(--graphite); color:#fff; border-color:var(--graphite);}
.masonry{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:900px){.masonry{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.masonry{grid-template-columns:1fr;}}
.proj-card{position:relative; overflow:hidden; cursor:pointer; background:#000; aspect-ratio:16/9; border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .3s;}
.proj-card:hover{transform:translateY(-6px);}
.proj-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.proj-card:hover img{transform:scale(1.06);}
.proj-info{position:absolute; left:0; right:0; bottom:0; padding:18px; background:linear-gradient(0deg, rgba(0,0,0,0.75), transparent); color:#fff;}
.proj-info .cat{font-family:'DM Sans'; font-weight:800; font-size:10.5px; letter-spacing:0.06em; color:#d8c4aa; text-transform:uppercase;}
.proj-info h4{color:#fff; font-size:16px; margin-top:4px;}
.proj-info .loc{font-size:12.5px; color:rgba(255,255,255,0.75); margin-top:2px;}
.empty-state{padding:55px 20px; text-align:center; color:var(--ink-soft); border:1px dashed var(--line-strong); border-radius:var(--radius);}

/* Lightbox */
.lightbox{position:fixed; inset:0; background:rgba(10,14,13,0.95); z-index:2100; display:none; align-items:center; justify-content:center; flex-direction:column; padding:20px;}
.lightbox.open{display:flex;}
.lightbox img{max-height:66vh; max-width:90vw; object-fit:contain;}
.lightbox-meta{color:#fff; text-align:center; margin-top:16px; max-width:640px;}
.lightbox-meta h4{color:#fff; font-size:19px;}
.lightbox-meta p{color:rgba(255,255,255,0.7); font-size:14px; margin-top:6px;}
.lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; color:#fff; font-size:32px; padding:10px;}
.lb-prev{left:10px;} .lb-next{right:10px;}
.lightbox-close{position:absolute; top:20px; right:24px; background:none; border:none; color:#fff; font-size:26px;}
.lb-thumbs{display:flex; gap:8px; margin-top:18px; max-width:90vw; overflow-x:auto; padding-bottom:6px;}
.lb-thumbs img{width:92px; height:52px; object-fit:cover; opacity:0.5; cursor:pointer; border:2px solid transparent; transition:opacity .2s, border-color .2s; flex-shrink:0;}
.lb-thumbs img:hover{opacity:0.85;}
.lb-thumbs img.active{opacity:1; border-color:var(--bronze);}
.lb-count{color:rgba(255,255,255,0.5); font-family:'IBM Plex Mono'; font-size:11.5px; margin-top:8px;}

/* Pricing */
.price-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.price-grid{grid-template-columns:1fr;}}
.price-card{background:rgba(255,255,255,.7); border:1px solid var(--line); border-radius:var(--radius); padding:27px; display:flex; flex-direction:column; position:relative;}
.price-card h3{font-size:16.5px;}
.price-card .price{font-family:'Playfair Display'; font-size:24px; color:var(--petrol); margin:12px 0 16px;}
.price-card ul{padding-left:16px; color:var(--ink-soft); font-size:13.5px; margin:0; flex-grow:1;}
.price-card li{margin-bottom:6px;}
.price-card.recommended{background:var(--graphite); color:#fff; transform:translateY(-12px); border-color:var(--graphite);}
.price-card.recommended h3, .price-card.recommended .price{color:#fff;}
.price-card.recommended ul{color:rgba(255,255,255,.65);}
.badge-recommended{position:absolute; top:-1px; right:-1px; background:var(--bronze); color:#fff; font-family:'DM Sans'; font-weight:700; font-size:10px; text-transform:uppercase; letter-spacing:0.05em; padding:5px 12px; border-radius:0 var(--radius) 0 var(--radius);}
.price-includes{background:var(--mist); border-left:2px solid var(--bronze); padding:10px 14px; font-size:12.5px; color:var(--ink-soft); margin-top:14px;}
.price-note{margin-top:30px; text-align:center; color:var(--ink-soft); font-size:14px; max-width:560px; margin-left:auto; margin-right:auto;}

/* Timeline (short, on home) */
.tl-mini{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:900px){.tl-mini{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.tl-mini{grid-template-columns:1fr;}}
.tl-mini-item{background:var(--paper); padding:22px 20px;}
.tl-mini-item .n{font-family:'IBM Plex Mono'; color:var(--bronze); font-size:12px;}
.tl-mini-item p{font-size:14px; margin-top:8px; font-weight:500;}

/* Articles */
.art-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media(max-width:900px){.art-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.art-grid{grid-template-columns:1fr;}}
.art-card{border-top:2px solid var(--petrol); padding-top:16px; cursor:pointer;}
.art-card .cat{font-family:'IBM Plex Mono'; font-size:11px; color:var(--petrol); text-transform:uppercase;}
.art-card h3{font-size:17px; margin:10px 0 8px; line-height:1.3;}
.art-card p{color:var(--ink-soft); font-size:14px;}
.art-card .rd{font-size:13px; font-weight:600; color:var(--bronze); margin-top:12px; display:inline-block;}

/* Contact / forms */
.contact-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:56px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info-item{padding:16px 0; border-bottom:1px solid var(--line);}
.contact-info-item .lbl{font-family:'IBM Plex Mono'; font-size:11px; color:var(--ink-soft); text-transform:uppercase;}
.contact-info-item .val{font-size:16px; margin-top:4px;}
.checkbox-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:8px 0 18px;}
@media(max-width:480px){.checkbox-grid{grid-template-columns:1fr;}}
.cb{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft);}
.cb input{width:auto;}
.confirm-box{background:var(--petrol); color:#fff; padding:18px 22px; margin-top:16px; font-size:14.5px; display:none;}
.confirm-box.show{display:block;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
@media(max-width:640px){.form-row{grid-template-columns:1fr;}}
.form-row.full{grid-template-columns:1fr;}
input, select, textarea{width:100%; padding:11px 13px; border:1px solid var(--line-strong); border-radius:12px; background:var(--paper); font-family:'DM Sans'; font-size:14px; color:var(--graphite);}
label{font-size:12.5px; color:var(--ink-soft); display:block; margin-bottom:6px; font-weight:500;}
.small-btn{background:var(--petrol); color:#fff; border:none; padding:11px 20px; font-size:13px; font-weight:700; border-radius:999px; transition:background .2s;}
.small-btn:hover{background:var(--forest-2);}
.small-btn.danger{background:#8B2E2E;}
.small-btn.ghost{background:none; color:var(--petrol); border:1px solid var(--petrol);}

/* Breadcrumb + project page */
.breadcrumb{font-family:'IBM Plex Mono'; font-size:11.5px; color:var(--ink-soft); margin-bottom:20px;}
.breadcrumb a{color:var(--petrol);}
.breadcrumb span{margin:0 6px;}
.project-title-row{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:8px;}
.project-title-row h1{font-size:38px;}
@media(max-width:640px){.project-title-row h1{font-size:26px;}}
.project-meta-tags{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 34px;}
.meta-tag{font-family:'IBM Plex Mono'; font-size:11px; text-transform:uppercase; letter-spacing:0.05em; padding:5px 10px; border:1px solid var(--line-strong); color:var(--ink-soft);}

.project-grid{display:grid; grid-template-columns:1fr 360px; gap:50px; align-items:start;}
@media(max-width:960px){.project-grid{grid-template-columns:1fr;}}

.gallery-main{display:grid; grid-template-columns:2fr 1fr; gap:6px; margin-bottom:12px;}
@media(max-width:640px){.gallery-main{grid-template-columns:1fr;}}
.gallery-main .g-main-img{aspect-ratio:4/3; overflow:hidden; cursor:pointer;}
.gallery-main .g-side{display:grid; grid-template-rows:1fr 1fr; gap:6px;}
@media(max-width:640px){.gallery-main .g-side{grid-template-rows:none; grid-template-columns:1fr 1fr;}}
.gallery-main .g-side-item{position:relative; overflow:hidden; cursor:pointer;}
.gallery-main .g-side-item.more::after{content:attr(data-more); position:absolute; inset:0; background:rgba(17,25,24,0.62); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:13px;}
.gallery-main img{width:100%; height:100%; object-fit:cover;}

.indicator-band{display:flex; flex-wrap:wrap; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:34px 0;}
.indicator{flex:1; min-width:120px; padding:16px 20px; border-right:1px solid var(--line);}
.indicator:last-child{border-right:none;}
.indicator .lbl{font-family:'IBM Plex Mono'; font-size:10px; text-transform:uppercase; color:var(--ink-soft);}
.indicator .val{font-family:'Playfair Display'; font-size:18px; margin-top:4px;}

.data-table{width:100%; border-collapse:collapse; font-size:14px;}
.data-table tr{border-bottom:1px solid var(--line);}
.data-table td{padding:11px 4px;}
.data-table td:first-child{color:var(--ink-soft); width:48%;}
.data-table td:last-child{font-weight:600;}

.level-block{margin-bottom:24px;}
.level-block h4{font-size:15px; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line-strong);}
.room-row{display:flex; justify-content:space-between; font-size:14px; padding:6px 0; color:var(--ink-soft);}
.room-row.total{color:var(--graphite); font-weight:600; border-top:1px solid var(--line); margin-top:4px; padding-top:8px;}

.plan-item{margin-bottom:24px;}
.plan-item .plan-lbl{font-family:'IBM Plex Mono'; font-size:12px; color:var(--petrol); margin-bottom:8px;}
.plan-item img{width:100%; border:1px solid var(--line); cursor:zoom-in;}

.similar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:800px){.similar-grid{grid-template-columns:1fr;}}

.similar-form{border:1px solid var(--line-strong); padding:26px; background:#fff;}
@media(min-width:961px){.similar-form.sticky{position:sticky; top:110px;}}
.similar-form h3{font-size:19px; margin-bottom:6px;}
.similar-form .sub{font-size:13px; color:var(--ink-soft); margin-bottom:18px;}
.hidden-ref{background:var(--mist); padding:10px 12px; font-size:12px; color:var(--ink-soft); margin-bottom:16px; font-family:'IBM Plex Mono';}

.service-block-title{border-bottom:1px solid var(--line-strong); padding-bottom:8px; margin-bottom:14px; font-size:14px; text-transform:uppercase; letter-spacing:0.04em; font-family:'IBM Plex Mono'; color:var(--ink-soft);}
.service-pill-list{display:flex; flex-wrap:wrap; gap:8px;}
.service-pill{border:1px solid var(--line-strong); padding:6px 12px; font-size:12.5px; color:var(--graphite);}

/* Admin */
.admin-login-box{max-width:380px; margin:60px auto; padding:36px; border:1px solid var(--line-strong); background:#fff;}
.admin-table{width:100%; border-collapse:collapse; font-size:13.5px; margin-top:20px;}
.admin-table th{text-align:left; font-family:'IBM Plex Mono'; font-size:10px; text-transform:uppercase; color:var(--ink-soft); padding:10px 8px; border-bottom:1px solid var(--line-strong);}
.admin-table td{padding:10px 8px; border-bottom:1px solid var(--line); font-size:13px;}
.status-pill{font-family:'IBM Plex Mono'; font-size:10px; padding:3px 8px; text-transform:uppercase;}
.status-pill.published{background:#DCEEE9; color:var(--petrol);}
.status-pill.draft{background:#F0EEE6; color:var(--bronze);}
.status-pill.archived{background:#EEE; color:var(--ink-soft);}
.admin-actions button{background:none; border:none; font-size:12px; color:var(--petrol); margin-right:10px; cursor:pointer; font-weight:600;}
.admin-actions button.del{color:#8B2E2E;}
.tabs{display:flex; gap:4px; margin-bottom:26px; border-bottom:1px solid var(--line-strong); flex-wrap:wrap;}
.tab-btn{padding:10px 18px; font-size:13.5px; font-weight:600; background:none; border:none; color:var(--ink-soft); border-bottom:2px solid transparent;}
.tab-btn.active{color:var(--petrol); border-color:var(--petrol);}
.admin-warning{background:#FBF0E4; border-left:3px solid var(--bronze); padding:14px 18px; font-size:13px; color:var(--ink-soft); margin-bottom:26px;}
.admin-form-box{border:1px solid var(--line); padding:24px; background:#fff; margin-bottom:30px;}
.admin-form-box h4{font-family:'IBM Plex Mono'; font-size:12px; text-transform:uppercase; color:var(--bronze); margin-bottom:16px;}

/* Footer */
footer{background:var(--petrol-dark); color:rgba(255,255,255,0.75); padding:70px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.14);}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr;}}
footer h4{color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; font-family:'IBM Plex Mono'; margin-bottom:16px;}
footer a{display:block; color:rgba(255,255,255,0.7); font-size:14px; margin-bottom:10px;}
footer a:hover{color:#fff;}
.foot-logo{color:#fff; font-family:'Playfair Display'; font-size:22px; font-weight:700; margin-bottom:14px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:12.5px; flex-wrap:wrap; gap:12px;}
.back-top{background:rgba(255,255,255,0.1); border:none; color:#fff; width:38px; height:38px; border-radius:50%;}
.whatsapp-float{position:fixed; bottom:22px; right:22px; z-index:900; background:#25D366; color:#fff; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 6px 18px rgba(0,0,0,0.25);}

.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} }
/* ================= OFERTĂ / PRINT / LEGAL / ADMIN SUMMARY ================= */
.offer-layout{display:grid; grid-template-columns:420px 1fr; gap:40px; align-items:start;}
@media(max-width:1000px){.offer-layout{grid-template-columns:1fr;}}
.offer-editor{border:1px solid var(--line); padding:22px; background:#fff;}
.offer-editor table{width:100%; font-size:12.5px; border-collapse:collapse;}
.offer-editor th{text-align:left; font-family:'IBM Plex Mono'; font-size:10px; text-transform:uppercase; color:var(--ink-soft); padding:6px 4px;}
.offer-editor td{padding:4px;}
.offer-editor input, .offer-editor select{padding:6px 8px; font-size:12.5px;}
.offer-editor .oi-qty, .offer-editor .oi-price{width:70px;}
.offer-editor .oi-unit{width:80px;}
.offer-editor .service-input{width:100%;}
.offer-editor-row button{background:none; border:none; color:#8B2E2E; font-size:16px; cursor:pointer;}
.offer-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
.offer-document{background:#fff; border:1px solid var(--line); padding:44px 40px; font-size:13.5px; color:var(--graphite);}
.offer-letterhead{width:100%; margin-bottom:22px;}
.offer-doc-meta{display:flex; justify-content:space-between; font-size:13px; color:var(--ink-soft); margin-bottom:22px; gap:20px;}
.offer-document h1{font-size:21px; margin-bottom:12px;}
.offer-document h2{font-size:14.5px; margin:24px 0 10px;}
.offer-document table{width:100%; border-collapse:collapse; font-size:13px;}
.offer-document th, .offer-document td{border:1px solid var(--line); padding:8px 10px; text-align:left;}
.offer-total{text-align:right; font-family:'Playfair Display'; font-weight:700; font-size:17px; color:var(--petrol); margin:14px 0;}
.offer-signature{display:flex; justify-content:space-between; margin-top:36px; font-size:13px;}
.offer-legal{margin-top:26px; font-size:11px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:10px;}
@media print{
  body *{visibility:hidden;}
  #offerDocument, #offerDocument *{visibility:visible;}
  #offerDocument{position:absolute; top:0; left:0; width:100%; margin:0; border:none; padding:16px;}
  header, footer, .offer-editor, .offer-actions, .whatsapp-float, .hero-scale{display:none !important;}
}
.admin-summary-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px;}
@media(max-width:640px){.admin-summary-grid{grid-template-columns:repeat(2,1fr);}}
.admin-summary-card{border:1px solid var(--line); padding:16px 18px; background:#fff;}
.admin-summary-card span{display:block; font-family:'IBM Plex Mono'; font-size:11px; color:var(--ink-soft); text-transform:uppercase;}
.admin-summary-card strong{font-family:'Playfair Display'; font-size:24px; color:var(--petrol);}
.request-status{font-family:'IBM Plex Mono'; font-size:10.5px; padding:3px 8px; background:var(--mist); text-transform:uppercase;}
.company-card{border:1px solid var(--line); padding:26px; background:#fff;}
.company-card h3{font-size:18px; margin-bottom:16px;}
.legal-block{margin-bottom:34px;}
.legal-block h3{font-size:18px; margin-bottom:10px;}
.legal-block p{color:var(--ink-soft); font-size:14.5px;}