
:root{
 --red:#e30619;--red-2:#c40c20;--red-dark:#9d0a1a;--ink:#142033;--muted:#677386;
 --line:#e5e9ef;--soft:#f7f9fc;--warm:#fff9f7;--white:#fff;--navy:#0a1c31;
 --shadow:0 26px 70px rgba(25,36,51,.11);--card-shadow:0 14px 38px rgba(25,36,51,.075);
 --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.58;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.narrow{max-width:900px}
.icon{width:24px;height:24px;display:block;flex:0 0 auto}
.eyebrow{display:block;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.section{padding:92px 0}
.section-soft{background:linear-gradient(180deg,#fff,#fff9f7)}
.section-flow{position:relative;overflow:hidden}
.section-flow:before{content:"";position:absolute;left:-2%;right:-2%;top:-86px;height:240px;background:url("../images/brand-flow.svg") center/100% 100% no-repeat;opacity:.24;pointer-events:none}
.section-flow>.container{position:relative;z-index:2}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}
.section-title{font-size:clamp(36px,4vw,56px);line-height:1.06;letter-spacing:-.045em;margin:0}
.section-copy{font-size:17px;color:var(--muted);max-width:720px}
.text-link{color:var(--red);font-size:13px;font-weight:800;white-space:nowrap}
.btn{min-height:52px;padding:0 25px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;font-weight:750;transition:.22s ease}
.btn:hover{transform:translateY(-2px)}
.btn-red{color:#fff;background:linear-gradient(135deg,#ff5362,var(--red) 50%,var(--red-dark));box-shadow:0 14px 34px rgba(227,6,25,.2),inset 0 1px 0 rgba(255,255,255,.24)}
.btn-outline{background:#fff;color:var(--ink);border-color:#ff6875}
.btn-white{background:#fff;color:var(--red)}
.btn .icon{width:18px;height:18px}
.chip{border:1px solid #dfe4ea;background:#fff;border-radius:999px;padding:8px 15px;color:#536070;font-size:12px}
.chip:hover,.chip.active{border-color:var(--red);color:var(--red);background:#fff5f6}

/* Header */
.site-header{position:sticky;top:0;z-index:100;height:94px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,32,51,.045);box-shadow:0 3px 16px rgba(30,36,47,.025)}
.header-row{height:100%;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:24px}
.brand img{width:248px;height:76px;object-fit:contain;object-position:left center}
.main-nav ul{display:flex;justify-content:center;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.main-nav a{position:relative;font-size:14px;font-weight:650;padding:36px 0}
.main-nav a:hover,.main-nav a.active{color:var(--red)}
.main-nav a.active:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--red);left:50%;bottom:20px;transform:translateX(-50%)}
.header-actions{display:flex;align-items:center;gap:18px}
.phone-link{display:flex;align-items:center;gap:10px;white-space:nowrap}
.phone-icon{width:43px;height:43px;border:1px solid #f0d8dc;border-radius:50%;display:grid;place-items:center;color:var(--red)}
.phone-icon .icon{width:20px;height:20px}
.phone-link strong,.phone-link small{display:block}
.phone-link small{font-size:11px;color:var(--muted)}
.header-btn{min-height:49px;padding-inline:22px}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;color:var(--ink)}
.menu-toggle .icon{width:29px;height:29px}

/* Home hero */
.home-hero{position:relative;min-height:730px;padding:54px 0 160px;overflow:hidden;background:
 radial-gradient(circle at 14% 32%,rgba(227,6,25,.04),transparent 31%),
 linear-gradient(180deg,#fff 0%,#fff 75%,#fffaf8 100%)}
.home-hero:after{content:"";position:absolute;right:-50px;top:90px;width:270px;height:280px;opacity:.15;background-image:radial-gradient(var(--red) 1px,transparent 1px);background-size:8px 8px;mask-image:linear-gradient(to left,#000,transparent)}
.hero-watermark{position:absolute;left:-30px;top:150px;width:215px;height:280px;background:url("../images/drop-watermark.svg") center/contain no-repeat;opacity:.72}
.hero-grid{position:relative;z-index:4;display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:center}
.hero-copy{position:relative;z-index:7;padding-left:3px}
.pill{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid #f0dfe2;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 20px rgba(40,34,38,.04);font-size:11px;font-weight:800;letter-spacing:.105em;text-transform:uppercase;margin-bottom:24px}
.pill .icon{width:17px;height:17px;color:var(--red)}
.home-hero h1{font-size:clamp(60px,5.8vw,89px);line-height:1.01;letter-spacing:-.06em;margin:0;max-width:660px}
.home-hero h1 span{color:var(--red)}
.hero-lead{max-width:570px;color:var(--muted);font-size:18px;line-height:1.75;margin:24px 0 28px}
.hero-actions{display:flex;gap:15px;flex-wrap:wrap}
.mini-benefits{position:relative;z-index:8;display:flex;gap:23px;margin-top:31px;margin-bottom:48px}
.mini-benefit{display:flex;align-items:center;gap:11px;padding-right:23px;border-right:1px solid #e6e8ed;min-width:150px}
.mini-benefit:last-child{border-right:0}
.mini-benefit>.icon{width:29px;height:29px;color:var(--red)}
.mini-benefit strong,.mini-benefit small{display:block}
.mini-benefit strong{font-size:13px}
.mini-benefit small{font-size:11px;color:var(--muted)}
.hero-media{position:relative;min-height:575px}
.hero-photo-shell{position:absolute;inset:0 0 64px 0;border-radius:44% 12% 29% 43% / 25% 17% 43% 45%;filter:drop-shadow(0 28px 45px rgba(52,38,42,.13))}
.hero-photo-shell:before{content:"";position:absolute;inset:-20px;border:22px solid rgba(227,6,25,.047);border-radius:inherit;z-index:-1}
.hero-photo-shell:after{content:"";position:absolute;inset:-2px;border:1.6px solid rgba(227,6,25,.72);border-radius:inherit;pointer-events:none}
.hero-photo{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.premium-ribbon{position:absolute;right:-205px;bottom:-12px;width:715px;height:335px;background:url("../images/premium-ribbon.svg") center/100% 100% no-repeat;z-index:1;filter:drop-shadow(0 18px 24px rgba(125,0,16,.17))}
.stats-grid{position:absolute;z-index:9;left:116px;right:18px;bottom:-5px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.stat-card{min-height:181px;padding:22px 20px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,241,243,.83));border:1px solid rgba(255,255,255,.78);backdrop-filter:blur(17px);box-shadow:0 19px 46px rgba(52,31,34,.13),inset 0 1px 0 rgba(255,255,255,.95)}
.stat-card>.icon{width:31px;height:31px;color:var(--red)}
.stat-card strong{display:block;font-size:20px;line-height:1.15;margin:13px 0 7px}
.stat-card p{font-size:12px;color:#536070;margin:0}
.hero-flow{position:absolute;left:-3%;right:-3%;bottom:-7px;height:245px;background:url("../images/brand-flow.svg") center/100% 100% no-repeat;z-index:2;pointer-events:none}

/* Search and benefits */
.search-wrap{position:relative;z-index:15;margin-top:-42px}
.search-panel{display:grid;grid-template-columns:350px 1fr 160px;gap:24px;align-items:center;padding:25px 29px;border-radius:22px;background:rgba(255,255,255,.98);border:1px solid #e7eaee;box-shadow:0 17px 50px rgba(30,37,49,.085)}
.search-intro{display:flex;align-items:center;gap:17px;padding-right:22px;border-right:1px solid #e6e9ed}
.search-round{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--red);box-shadow:0 12px 28px rgba(37,34,39,.085)}
.search-round .icon{width:31px;height:31px}
.search-intro h2{font-size:27px;line-height:1.14;margin:0}
.search-intro em{font-style:normal;color:var(--red)}
.search-form-row{display:grid;grid-template-columns:1fr 116px;gap:15px}
.search-input{height:53px;border:1px solid #dfe3e8;border-radius:11px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#fff}
.search-input .icon{width:19px;height:19px;color:var(--muted)}
.search-input input{width:100%;border:0;outline:0;background:transparent}
.popular{margin-top:11px}
.popular small{display:block;font-weight:700;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.benefit-strip{padding:33px 0 16px}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.benefit-item{display:flex;gap:15px;padding:15px 26px;border-right:1px solid #e5e8ed}
.benefit-item:last-child{border-right:0}
.benefit-icon{width:49px;height:49px;border:1px solid #f1d7da;border-radius:50%;display:grid;place-items:center;color:var(--red);flex:0 0 auto}
.benefit-icon .icon{width:23px;height:23px}
.benefit-item strong{display:block;font-size:14px}
.benefit-item p{font-size:12px;color:var(--muted);margin:4px 0 0}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.analysis-card,.package-card,.blog-card,.value-card{border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 9px 27px rgba(23,34,48,.045);transition:.22s ease}
.analysis-card:hover,.package-card:hover,.blog-card:hover,.value-card:hover{transform:translateY(-4px);box-shadow:0 19px 44px rgba(23,34,48,.095)}
.analysis-card{min-height:226px;padding:20px;display:flex;flex-direction:column}
.analysis-top{display:flex;align-items:center;justify-content:space-between}
.card-icon{width:46px;height:46px;border-radius:12px;background:#fff0f2;color:var(--red);display:grid;place-items:center}
.card-icon .icon{width:23px;height:23px}
.badge{padding:6px 10px;border-radius:999px;background:#e6faf6;color:#299f8d;font-size:11px;font-weight:750}
.analysis-card h3{font-size:18px;margin:16px 0 5px}
.analysis-card p{font-size:12.5px;color:var(--muted);margin:0}
.analysis-meta{font-size:11px;color:#536070;margin-top:13px}
.card-foot{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:10px}
.price{font-size:15px;color:var(--red);font-weight:800}
.round-arrow{width:35px;height:35px;border-radius:50%;border:1px solid #e7e9ed;display:grid;place-items:center;color:var(--red)}
.round-arrow .icon{width:17px;height:17px}

/* Mission graphic - no repeated photo */
.mission-shell{display:grid;grid-template-columns:.92fr 1.08fr;min-height:390px;border-radius:30px;overflow:hidden;background:#eef2f7;box-shadow:var(--shadow)}
.mission-red{position:relative;overflow:hidden;padding:52px 46px;background:linear-gradient(145deg,#e30619,#aa0b1c);color:#fff}
.mission-red:after{content:"";position:absolute;right:-105px;top:-60px;width:210px;height:520px;background:#fff;border-radius:50%;transform:rotate(18deg)}
.mission-red>*{position:relative;z-index:2}
.mission-red h2{font-size:50px;line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}
.mission-red p{color:#ffe7e9;max-width:410px}
.mission-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:
 radial-gradient(circle at 30% 25%,rgba(227,6,25,.14),transparent 30%),
 linear-gradient(145deg,#fff,#f7eff0)}
.mission-visual:before{content:"";position:absolute;inset:18% 10% -30% -20%;background:url("../images/premium-ribbon.svg") center/100% 100% no-repeat;opacity:.9}
.mission-emblem{position:relative;width:235px;filter:drop-shadow(0 20px 28px rgba(109,8,23,.18));opacity:.98}
.mission-facts{position:absolute;right:30px;bottom:30px;left:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mission-fact{padding:15px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--card-shadow)}
.mission-fact .icon{color:var(--red);width:23px;height:23px}
.mission-fact strong{display:block;font-size:13px;margin-top:7px}
.mission-fact small{color:var(--muted)}

/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.step{text-align:center;position:relative;padding:0 18px}
.step:not(:last-child):after{content:"";position:absolute;right:-39px;top:39px;width:78px;border-top:1.5px dashed #cbd1db}
.step-icon{width:68px;height:68px;margin:auto;border-radius:50%;background:#fff0f2;color:var(--red);display:grid;place-items:center;box-shadow:0 8px 22px rgba(227,6,25,.07)}
.step-icon .icon{width:29px;height:29px}
.step-number{position:absolute;left:calc(50% - 57px);top:2px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:12px;font-weight:800}
.step h3{margin:14px 0 5px}
.step p{font-size:12.5px;color:var(--muted);margin:0}

/* Packages */
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.package-card{padding:23px;min-height:260px;display:flex;flex-direction:column}
.package-card.featured{background:linear-gradient(145deg,#e30619,#a90d1d);color:#fff;border:0}
.package-symbol{width:48px;height:48px;border-radius:14px;background:#fff0f2;color:var(--red);display:grid;place-items:center}
.package-symbol .icon{width:25px;height:25px}
.package-card.featured .package-symbol{background:rgba(255,255,255,.14);color:#fff}
.package-card h3{font-size:21px;margin:15px 0 7px}
.package-card p{font-size:13px;color:var(--muted);margin:0}
.package-card.featured p{color:#ffe7ea}
.package-list{list-style:none;padding:0;margin:16px 0}
.package-list li{font-size:12px;padding:6px 0;border-bottom:1px solid #edf0f3}
.package-card.featured .package-list li{border-color:rgba(255,255,255,.18)}

/* Red band */
.red-band{position:relative;overflow:hidden;padding:39px 0;color:#fff;background:linear-gradient(135deg,#e00619,#c80c1e 56%,#9d0b1b)}
.red-band:after{content:"";position:absolute;right:-70px;top:-100px;width:430px;height:330px;border:58px solid rgba(255,255,255,.07);border-radius:50%;transform:rotate(-20deg)}
.red-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr)}
.red-item{display:flex;gap:18px;padding:5px 33px;border-right:1px solid rgba(255,255,255,.22)}
.red-item:last-child{border-right:0}
.red-item>.icon{width:38px;height:38px}
.red-item strong{display:block}
.red-item p{font-size:12px;color:#ffe7ea;margin:5px 0 0}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.blog-card{overflow:hidden}
.blog-media{position:relative;height:182px;overflow:hidden;border-radius:18px 18px 42px 12px}
.blog-media:after{content:"";position:absolute;right:-95px;bottom:-88px;width:190px;height:150px;background:url("../images/premium-ribbon.svg") center/100% 100% no-repeat;opacity:.75}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:.35s}
.blog-card:hover .blog-media img{transform:scale(1.035)}
.blog-body{padding:18px}
.blog-card small{color:var(--muted)}
.blog-card h3{font-size:18px;line-height:1.25;margin:8px 0 15px}
.blog-card a{color:var(--red);font-size:13px;font-weight:800}

/* Inner hero & image forms */
.inner-hero{position:relative;overflow:hidden;padding:72px 0 124px;background:
 radial-gradient(circle at 13% 38%,rgba(227,6,25,.04),transparent 31%),
 linear-gradient(180deg,#fff,#fffaf9)}
.inner-hero:after{content:"";position:absolute;left:-2%;right:-2%;bottom:-15px;height:220px;background:url("../images/brand-flow.svg") center/100% 100% no-repeat;opacity:.68}
.inner-watermark{position:absolute;left:-32px;top:82px;width:205px;height:275px;background:url("../images/drop-watermark.svg") center/contain no-repeat;opacity:.72}
.inner-grid{position:relative;z-index:3;display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center}
.inner-copy h1{font-size:clamp(52px,5vw,76px);line-height:1.02;letter-spacing:-.055em;margin:0}
.inner-copy h1 span{color:var(--red)}
.inner-copy p{font-size:18px;color:var(--muted);max-width:620px}
.media-frame{position:relative;height:440px;overflow:visible;filter:drop-shadow(0 24px 42px rgba(39,36,43,.11))}
.media-frame img{width:100%;height:100%;object-fit:cover}
.media-frame:before{content:"";position:absolute;inset:-2px;border:1.5px solid rgba(227,6,25,.62);z-index:2;pointer-events:none}
.media-frame:after{content:"";position:absolute;right:-115px;bottom:-85px;width:330px;height:235px;background:url("../images/premium-ribbon.svg") center/100% 100% no-repeat;z-index:3;pointer-events:none}
.shape-a,.shape-a img,.shape-a:before{border-radius:110px 24px 95px 26px}
.shape-b,.shape-b img,.shape-b:before{border-radius:28px 120px 34px 95px}
.shape-c,.shape-c img,.shape-c:before{border-radius:100px 100px 25px 25px}
.shape-d,.shape-d img,.shape-d:before{border-radius:34px 34px 130px 34px}
.shape-e,.shape-e img,.shape-e:before{border-radius:120px 25px 120px 25px}
.shape-f,.shape-f img,.shape-f:before{border-radius:26px 115px 26px 115px}
.media-frame .image-glow{position:absolute;inset:-18px;border-radius:inherit;border:20px solid rgba(227,6,25,.04);z-index:-1}

/* Values / about */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value-card{padding:24px}
.value-card>.icon{width:29px;height:29px;color:var(--red)}
.value-card h3{margin:15px 0 7px}
.value-card p{color:var(--muted);font-size:13px}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.about-photo{height:535px}
.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phase{padding:25px;border-radius:19px;border:1px solid #e4e7ec;background:#fff}
.phase-number{font-size:40px;color:rgba(227,6,25,.17);font-weight:800}
.phase h3{margin:5px 0}
.phase p{color:var(--muted);font-size:13px}

/* Detail pages */
.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:18px}
.detail-hero{padding:62px 0 84px;background:linear-gradient(180deg,#fff,#fffaf9)}
.detail-grid{display:grid;grid-template-columns:1.08fr .68fr;gap:38px;align-items:start}
.detail-main{position:relative;padding:38px;border:1px solid #e4e7ec;border-radius:24px;background:#fff;box-shadow:var(--card-shadow);overflow:hidden}
.detail-main:after{content:"";position:absolute;right:-160px;bottom:-155px;width:330px;height:260px;background:url("../images/premium-ribbon.svg") center/100% 100% no-repeat;opacity:.16}
.detail-main>*{position:relative;z-index:2}
.detail-main h1{font-size:49px;line-height:1.05;letter-spacing:-.04em;margin:10px 0}
.detail-main .lead{color:var(--muted);font-size:17px}
.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.fact{padding:15px;border-radius:14px;background:#f8fafc;border:1px solid #edf0f3}
.fact small,.fact strong{display:block}
.fact small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.fact strong{font-size:13px;margin-top:5px}
.detail-sidebar{position:sticky;top:115px;padding:27px;border-radius:22px;background:linear-gradient(145deg,#e30619,#aa0c1d);color:#fff;box-shadow:0 20px 50px rgba(175,10,28,.22)}
.detail-price{font-size:37px;font-weight:800;margin:12px 0}
.detail-sidebar p{color:#ffe9eb}
.content-sections{padding:85px 0}
.content-grid{display:grid;grid-template-columns:1fr 320px;gap:48px}
.prose h2{font-size:31px;margin-top:38px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#536070}
.info-note{padding:18px;border-radius:14px;background:#fff5f6;border-left:4px solid var(--red);color:#536070}
.side-index{position:sticky;top:115px;border:1px solid #e4e7ec;border-radius:18px;padding:20px}
.side-index a{display:block;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:13px}
.side-index a:last-child{border-bottom:0}

/* Toolbar / catalogue */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.toolbar-search{height:49px;width:350px;border:1px solid #dfe4ea;border-radius:11px;padding:0 15px;display:flex;align-items:center;gap:9px;background:#fff}
.toolbar-search .icon{width:18px;height:18px;color:var(--muted)}
.toolbar-search input{border:0;outline:0;width:100%;background:transparent}
.catalogue-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:10px 0 22px}
.catalogue-note .icon{color:var(--red)}
.price-app{border:1px solid #e4e7ec;border-radius:20px;background:#fff;box-shadow:0 13px 36px rgba(23,34,48,.055);overflow:hidden}
.price-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 20px;background:#f8fafc;border-bottom:1px solid #e5e9ef;font-size:13px}
.price-table{width:100%;border-collapse:collapse}
.price-table th,.price-table td{padding:16px 20px;border-bottom:1px solid #e8ebef;text-align:left;font-size:13px;vertical-align:top}
.price-table th{background:#fbfcfd;color:#536070;font-size:11px;text-transform:uppercase;letter-spacing:.08em;position:sticky;top:94px;z-index:2}
.price-table tr:last-child td{border-bottom:0}
.price-table .amount{color:var(--red);font-weight:800;white-space:nowrap}
.service-code{display:inline-flex;margin-right:8px;color:#8b96a6;font-size:11px}
.pagination{display:flex;align-items:center;justify-content:center;gap:7px;padding:20px;border-top:1px solid #e8ebef}
.page-btn{width:38px;height:38px;border-radius:10px;border:1px solid #dfe4ea;background:#fff;color:#536070}
.page-btn.active{background:var(--red);color:#fff;border-color:var(--red)}
.page-btn:disabled{opacity:.4}
.category-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f0f3f7;color:#5f6b7c;font-size:10px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px}
.contact-card{padding:30px;border:1px solid #e4e7ec;border-radius:22px;background:#fff;box-shadow:var(--card-shadow)}
.contact-list{display:grid;gap:12px;margin-top:24px}
.contact-row{display:flex;gap:13px;align-items:center;padding:15px;border-radius:14px;background:#f8fafc}
.contact-row>span{width:42px;height:42px;border-radius:50%;background:#fff0f2;color:var(--red);display:grid;place-items:center}
.contact-row .icon{width:21px;height:21px}
.contact-row strong,.contact-row small{display:block}
.contact-row small{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:block;font-size:12px;font-weight:700}
.field.full{grid-column:1/-1}
.field input,.field select,.field textarea{width:100%;margin-top:7px;border:1px solid #dfe4ea;border-radius:11px;padding:13px 14px;background:#fff;outline:0}
.field textarea{resize:vertical}
.map-panel{height:365px;border-radius:22px;overflow:hidden;background:
 radial-gradient(circle at 20% 30%,rgba(227,6,25,.12),transparent 25%),
 linear-gradient(135deg,#f2f5f8,#e8edf3);position:relative}
.map-panel:before{content:"BIOVITA LAB";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:800;color:var(--red);letter-spacing:.14em}
.map-panel:after{content:"Trg Đenerala Draže 3/2 · Ugljevik";position:absolute;left:50%;top:58%;transform:translateX(-50%);font-size:13px;color:#536070}

/* Accordion */
.accordion{display:grid;gap:12px}
.acc-item{border:1px solid #e4e7ec;border-radius:16px;background:#fff;overflow:hidden}
.acc-button{width:100%;border:0;background:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center;font-weight:750;text-align:left}
.acc-button .icon{width:20px;height:20px}
.acc-content{display:none;padding:0 20px 20px;color:#536070}
.acc-item.open .acc-content{display:block}
.acc-item.open .acc-button{color:var(--red)}

/* Article */
.article-hero{padding:65px 0 48px;background:#fffaf9}
.article-hero h1{font-size:58px;line-height:1.07;letter-spacing:-.045em;max-width:900px}
.article-meta{color:var(--muted);font-size:13px}
.article-cover{height:545px;margin-top:35px}
.article-layout{display:grid;grid-template-columns:1fr 300px;gap:55px;padding:70px 0}
.article-body{font-size:16px}
.article-body h2{font-size:32px;margin-top:40px}
.article-body p,.article-body li{color:#536070}
.article-side{position:sticky;top:115px;align-self:start;padding:22px;border:1px solid #e4e7ec;border-radius:18px}
.article-side strong{display:block;margin-bottom:10px}
.article-side a{display:block;padding:8px 0}

/* Illustration pages */
.illustration-panel{position:relative;min-height:420px;border-radius:30px;background:linear-gradient(145deg,#fff,#f5ecee);border:1px solid rgba(227,6,25,.24);box-shadow:var(--shadow);overflow:hidden;display:grid;place-items:center}
.illustration-panel:before{content:"";position:absolute;inset:0;background:url("../images/brand-flow.svg") center bottom/100% 60% no-repeat;opacity:.5}
.illustration-device{position:relative;width:230px;height:290px;border-radius:28px;background:#fff;box-shadow:0 24px 60px rgba(28,35,47,.15);border:1px solid #e7e9ee;padding:18px}
.illustration-screen{height:150px;border-radius:18px;background:linear-gradient(145deg,#f8fafc,#fff0f2);display:grid;place-items:center;color:var(--red)}
.illustration-screen .icon{width:62px;height:62px}
.illustration-line{height:10px;border-radius:5px;background:#edf0f4;margin-top:16px}
.illustration-line.short{width:65%}
.illustration-badge{position:absolute;right:-35px;bottom:35px;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ff5362,#b20b1d);box-shadow:0 15px 35px rgba(180,9,29,.28)}
.illustration-badge .icon{width:45px;height:45px}

/* Footer */
.contact-strip{border-top:1px solid #edf0f3;padding:20px 0;background:#fff}
.contact-strip-grid{display:grid;grid-template-columns:1.35fr 1fr 1.2fr 1.35fr auto;gap:18px;align-items:center}
.contact-mini{display:flex;gap:11px;align-items:center}
.contact-mini>.icon{width:23px;height:23px;color:var(--red)}
.contact-mini strong,.contact-mini small{display:block}
.contact-mini strong{font-size:12px}
.contact-mini small{font-size:10px;color:var(--muted)}
.site-footer{position:relative;overflow:hidden;background:linear-gradient(140deg,#102237,#071625);color:#c8d1dd;padding:58px 0 20px}
.footer-orb{position:absolute;right:-80px;bottom:-130px;width:460px;height:470px;border-radius:50%;background:radial-gradient(circle at 20% 20%,#ef2e3f,#af071b)}
.footer-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .75fr .9fr .9fr 1.15fr;gap:34px}
.footer-logo{width:225px;margin-bottom:16px}
.footer-grid h3{font-size:14px;color:#fff;margin:0 0 13px}
.footer-grid a{display:block;font-size:12px;margin:6px 0}
.footer-brand p,.newsletter p{font-size:12px}
.newsletter input{width:100%;height:42px;border:1px solid #274056;border-radius:8px;background:#0d2539;color:#fff;padding:0 12px;margin-bottom:8px}
.newsletter .btn{width:100%;min-height:42px}
.footer-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:17px;font-size:11px}
.mobile-bottom{display:none}

@media(max-width:1100px){
 .container{width:min(100% - 38px,1320px)}
 .header-row{grid-template-columns:220px auto auto}
 .brand img{width:210px}
 .main-nav{display:none;position:absolute;left:20px;right:20px;top:82px;padding:20px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
 .main-nav.open{display:block}
 .main-nav ul{flex-direction:column;align-items:flex-start;gap:0}
 .main-nav a{padding:10px 0}
 .main-nav a.active:after{display:none}
 .menu-toggle{display:block}
 .phone-link{display:none}
 .hero-grid,.inner-grid,.about-story{grid-template-columns:1fr}
 .hero-media{min-height:610px}
 .search-panel{grid-template-columns:1fr}
 .search-intro{border-right:0}
 .benefit-grid{grid-template-columns:repeat(2,1fr)}
 .card-grid{grid-template-columns:repeat(2,1fr)}
 .mission-shell{grid-template-columns:1fr}
 .mission-visual{min-height:380px}
 .package-grid{grid-template-columns:repeat(2,1fr)}
 .blog-grid{grid-template-columns:repeat(2,1fr)}
 .red-grid{grid-template-columns:repeat(2,1fr);gap:24px}
 .detail-grid,.content-grid,.article-layout,.contact-grid{grid-template-columns:1fr}
 .detail-sidebar,.side-index,.article-side{position:static}
 .values-grid{grid-template-columns:repeat(2,1fr)}
 .phase-grid{grid-template-columns:1fr}
 .contact-strip-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(3,1fr)}
 .price-table th{top:94px}
}
@media(max-width:700px){
 body{padding-bottom:72px}
 .container{width:min(100% - 28px,1320px)}
 .site-header{height:76px}
 .header-row{grid-template-columns:180px 1fr auto}
 .brand img{width:175px;height:58px}
 .header-actions .btn{display:none}
 .home-hero{min-height:auto;padding:37px 0 224px}
 .home-hero h1{font-size:51px}
 .hero-lead{font-size:16px}
 .hero-media{min-height:470px}
 .hero-photo-shell{inset:0;border-radius:32px}
 .premium-ribbon{right:-255px;bottom:-70px;height:240px}
 .stats-grid{left:10px;right:10px;bottom:-170px;grid-template-columns:repeat(3,1fr);gap:8px}
 .stat-card{min-height:145px;padding:13px;border-radius:17px}
 .stat-card>.icon{width:23px;height:23px}
 .stat-card strong{font-size:14px;margin:8px 0 4px}
 .stat-card p{font-size:9.5px}
 .hero-flow{height:125px}
 .hero-watermark{display:none}
 .mini-benefits{flex-direction:column;gap:10px;margin-bottom:28px}
 .mini-benefit{border-right:0}
 .search-wrap{margin-top:-33px}
 .search-form-row{grid-template-columns:1fr}
 .benefit-grid,.card-grid,.steps-grid,.package-grid,.blog-grid,.red-grid,.values-grid,.contact-strip-grid,.footer-grid,.detail-facts,.mission-facts{grid-template-columns:1fr}
 .benefit-item,.red-item{border-right:0;border-bottom:1px solid #e6e9ed}
 .red-item{border-color:rgba(255,255,255,.2)}
 .section-head,.toolbar{align-items:flex-start;flex-direction:column}
 .toolbar-search{width:100%}
 .mission-facts{position:relative;left:auto;right:auto;bottom:auto;width:calc(100% - 30px);margin:210px 15px 15px}
 .mission-visual{align-items:start;padding-top:35px}
 .step:not(:last-child):after{display:none}
 .inner-hero{padding:46px 0 110px}
 .inner-copy h1{font-size:49px}
 .media-frame{height:325px}
 .form-grid{grid-template-columns:1fr}
 .field.full{grid-column:auto}
 .analysis-card{min-height:215px}
 .footer-bottom{flex-direction:column;gap:8px}
 .price-app{overflow-x:auto}
 .price-table{min-width:760px}
 .price-table th{top:76px}
 .mobile-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:1000;left:0;right:0;bottom:0;height:72px;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);border-top:1px solid #e7e9ed}
 .mobile-bottom a{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px;color:#4e5967;gap:3px}
 .mobile-bottom .icon{width:20px;height:20px}
 .mobile-bottom a.primary{margin:-15px 7px 5px;background:var(--red);color:#fff;border-radius:17px;box-shadow:0 10px 28px rgba(227,6,25,.25)}
}


/* V6 final refinements */
.brand img{width:248px;height:66px;object-fit:contain;object-position:left center}
.footer-logo{width:245px;height:auto}
.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex:0 0 auto}
.icon-xl{width:72px;height:72px}
.pill .icon,.btn .icon,.text-link .icon,.blog-card a .icon{width:17px;height:17px}
.mini-benefit>.icon{width:30px;height:30px;color:var(--red)}
.stat-card>.icon{width:42px;height:42px;color:var(--red)}
.benefit-icon .icon,.card-icon .icon,.contact-row>span .icon,.value-card>.icon{width:24px;height:24px}
.step-icon .icon{width:28px;height:28px}
.red-item>.icon{width:43px;height:43px;flex:0 0 auto}
.contact-mini>.icon{width:23px;height:23px;color:var(--red)}
.mobile-bottom .icon{width:21px;height:21px}
.main-nav{min-width:0}
.main-nav ul{gap:25px}
.main-nav a{font-size:13px}
.header-actions{gap:14px}
.phone-link strong{font-size:13px}

.catalogue-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:24px 27px;border-radius:19px;background:linear-gradient(135deg,#fff5f6,#fff);border:1px solid #f1d7db}
.catalogue-cta>div{display:flex;align-items:center;gap:16px}
.catalogue-cta>div>.icon{width:34px;height:34px;color:var(--red)}
.catalogue-cta strong{display:block;font-size:17px}
.catalogue-cta p{margin:4px 0 0;color:var(--muted);font-size:13px}

.package-total{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #edf0f3}
.package-total span{font-size:11px;color:var(--muted)}
.package-total strong{font-size:18px;color:var(--red)}
.package-card.featured .package-total{border-color:rgba(255,255,255,.22)}
.package-card.featured .package-total span,.package-card.featured .package-total strong{color:#fff}
.package-card>.icon{width:31px;height:31px;color:var(--red)}
.package-card.featured>.icon{color:#fff}

.mini-price-table{width:100%;border-collapse:collapse;margin:24px 0}
.mini-price-table td{padding:14px 0;border-bottom:1px solid #e8ebef}
.mini-price-table td:last-child{text-align:right;font-weight:800;color:var(--red)}

.source-note{font-size:12px;color:var(--muted);max-width:290px;text-align:right}
.price-toolbar{display:grid;grid-template-columns:1fr 280px;gap:14px;padding:20px;border-bottom:1px solid #e8ebef;background:#fff}
.price-toolbar .toolbar-search{width:100%}
.category-select{height:49px;border:1px solid #dfe4ea;border-radius:11px;padding:0 14px;background:#fff;color:var(--ink)}
.price-summary{display:flex;justify-content:space-between;gap:20px;padding:13px 20px;background:#fff5f6;color:#667085;font-size:12px;border-bottom:1px solid #efdfe2}
.service-code{display:inline-flex;margin-right:8px;padding:3px 7px;border-radius:7px;background:#fff0f2;color:var(--red);font-size:10px;font-weight:800}
.category-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f0f3f6;color:#596576;font-size:10px}
.page-btn{min-height:38px;padding:0 12px;border:1px solid #dfe4ea;border-radius:9px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:5px}
.page-btn .icon{width:15px;height:15px}
.page-btn.active{background:var(--red);color:#fff;border-color:var(--red)}
.page-btn:disabled{opacity:.4;cursor:not-allowed}
.pagination>[data-price-pages]{display:flex;align-items:center;gap:6px}

.acc-button>span{display:flex;align-items:center;gap:12px}
.acc-button>span .icon{color:var(--red)}
.acc-button>.icon{width:18px;height:18px}

.blog-image{height:180px;overflow:hidden;position:relative}
.blog-image img{width:100%;height:100%;object-fit:cover}
.blog-card .shape-a,.blog-card .shape-b,.blog-card .shape-c,.blog-card .shape-d,.blog-card .shape-e,.blog-card .shape-f{border-radius:0 0 48px 0}
.blog-card:nth-child(even) .blog-image{border-radius:0 0 0 48px}
.article-cover{position:relative}
.article-cover.shape-c{border-radius:80px 80px 25px 25px}

.map-panel{display:grid;place-items:center;background:
radial-gradient(circle at 26% 32%,rgba(227,6,25,.11),transparent 24%),
linear-gradient(135deg,#f4f7fa,#e8edf3)}
.map-pin{display:flex;align-items:center;flex-direction:column;padding:24px 32px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:var(--card-shadow);color:var(--ink)}
.map-pin>.icon{width:34px;height:34px;color:var(--red);margin-bottom:8px}
.map-pin strong,.map-pin span{display:block}
.map-pin span{font-size:12px;color:var(--muted)}

.secure-illustration{position:relative;z-index:2;text-align:center;max-width:520px;padding:45px}
.secure-illustration>.icon{color:var(--red)}
.secure-illustration h2{font-size:40px;margin:18px 0 8px}
.secure-illustration p{color:var(--muted)}

.form-status{margin-top:12px;color:var(--muted);font-size:12px}
.contact-card h2{font-size:36px;margin:0 0 12px}
.contact-card>p{color:var(--muted)}

.prose>.media-frame{height:430px;margin-bottom:55px}
.article-side a{display:block;padding:8px 0;color:var(--red);font-size:13px}

@media(max-width:1250px){
 .header-row{grid-template-columns:220px 1fr auto}
 .brand img{width:220px}
 .main-nav ul{gap:17px}
 .main-nav a{font-size:12px}
 .header-btn{padding-inline:17px}
}
@media(max-width:1100px){
 .catalogue-cta{align-items:flex-start;flex-direction:column}
 .price-toolbar{grid-template-columns:1fr}
 .source-note{text-align:left}
}
@media(max-width:700px){
 .brand img{width:180px;height:54px}
 .catalogue-cta{padding:20px}
 .price-summary{flex-direction:column;gap:4px}
 .price-toolbar{padding:14px}
 .source-note{text-align:left}
 .blog-image{height:160px}
}

.home-hero + .search-wrap{}
.blog-media{height:170px;overflow:hidden;position:relative;border-radius:26px 26px 52px 26px}
.blog-card:nth-child(even) .blog-media{border-radius:26px 26px 26px 52px}
.blog-media img{width:100%;height:100%;object-fit:cover}

@media(max-width:700px){
 .price-app{overflow:visible}
 .price-table{min-width:0;display:block}
 .price-table thead{display:none}
 .price-table tbody{display:grid;gap:10px;padding:12px;background:#f8fafc}
 .price-table tr{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;border:1px solid #e4e7ec;border-radius:13px;background:#fff}
 .price-table td{display:block;border:0;padding:0;font-size:12px}
 .price-table td:first-child{grid-column:1/-1}
 .price-table td:nth-child(2){align-self:end}
 .price-table td:nth-child(3){align-self:end;text-align:right}
 .service-code{margin-bottom:5px}
 .pagination{flex-wrap:wrap}
}


/* ========================== V7.1 corrections ========================== */
.brand img{
  width:270px;
  height:72px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo{
  width:270px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.header-row{grid-template-columns:270px 1fr auto}
.header-actions{justify-self:end}

/* Decorative flow remains in the page background, not as a detached block. */
.premium-ribbon,
.media-frame::after,
.mission-visual::before,
.blog-media::after,
.detail-main::after,
.inner-image::after,
.about-photo::after,
.article-cover::after{
  display:none!important;
  content:none!important;
}
.media-frame,.hero-photo-shell,.blog-media,.article-cover,.about-photo{
  background:#fff;
  box-shadow:0 22px 58px rgba(27,38,54,.10);
}
.media-frame img,.hero-photo,.blog-media img,.article-cover img,.about-photo img{
  filter:saturate(.96) contrast(1.015);
}
.hero-flow,.section-flow::before,.inner-hero::after{opacity:.55}

.contact-strip-grid{grid-template-columns:1.45fr 1fr 1.2fr 1.35fr}
.footer-grid{grid-template-columns:1.45fr .8fr 1fr 1fr}
.footer-brand p{max-width:330px}

.mobile-bottom{grid-template-columns:repeat(4,1fr)}
.mobile-bottom a,.mobile-bottom a.primary{
  margin:0;border-radius:0;background:transparent;color:#4e5967;box-shadow:none;
}
.mobile-bottom a:last-child{color:var(--red)}

.pagination{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  column-gap:10px;row-gap:9px;padding:22px 18px;
}
.pagination>[data-price-pages]{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;
}
.page-btn{
  width:auto!important;min-width:40px;min-height:40px;padding:0 12px;
  white-space:nowrap;flex:0 0 auto;
}
.pagination>[data-price-prev],.pagination>[data-price-next]{
  min-width:116px;justify-content:center;
}

.stat-card{
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,244,245,.88));
}
.inner-image,.media-frame{
  border-radius:76px 24px 76px 24px;
  overflow:hidden;
}
.inner-image img,.media-frame img{
  width:100%;height:100%;object-fit:cover;
}

@media(max-width:1100px){
  .header-row{grid-template-columns:225px auto auto}
  .brand img{width:220px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .header-row{grid-template-columns:190px 1fr auto}
  .brand img{width:188px;height:58px}
  .footer-logo{width:235px}
  .contact-strip-grid,.footer-grid{grid-template-columns:1fr}
  .pagination{padding:18px 10px;gap:7px}
  .pagination>[data-price-prev],.pagination>[data-price-next]{min-width:104px}
  .page-btn{min-width:37px;padding:0 9px}
}


/* ===================================================================
   V8 — booking, package builder, clean image masks and final content
   =================================================================== */

/* One flow per transition: no duplicated section wave. */
.section-flow::before{
  display:none!important;
  content:none!important;
}
.inner-hero::after,
.hero-flow{
  opacity:.56;
}

/* Images must fully fill their organic masks without white corners. */
.media-frame{
  overflow:hidden!important;
  background:transparent!important;
  isolation:isolate;
}
.media-frame .image-glow{
  display:none!important;
}
.media-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit!important;
  transform:scale(1.005);
}
.media-frame::before{
  border-radius:inherit!important;
  z-index:3;
}
.hero-photo-shell{
  overflow:hidden;
  background:transparent!important;
}
.hero-photo-shell img{
  border-radius:inherit!important;
}
.blog-media,
.blog-image,
.article-cover{
  background:transparent!important;
}
.blog-media img,
.blog-image img,
.article-cover img{
  display:block;
  border-radius:inherit!important;
}

/* Header with booking button restored. */
.header-row{
  grid-template-columns:270px 1fr auto;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:16px;
}
.header-btn{
  border:0;
  white-space:nowrap;
}
.header-btn .icon{
  width:18px;
  height:18px;
}

/* Booking modal */
.booking-modal{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.booking-modal.open{
  display:flex;
}
.booking-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,18,32,.72);
  backdrop-filter:blur(8px);
}
.booking-dialog{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(90vh,900px);
  overflow:auto;
  padding:34px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 32px 100px rgba(0,0,0,.28);
}
.booking-close{
  position:absolute;
  right:18px;
  top:18px;
  width:42px;
  height:42px;
  border:1px solid #e4e7ec;
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  display:grid;
  place-items:center;
}
.booking-close .icon{
  width:20px;
  height:20px;
}
.booking-heading{
  padding-right:48px;
  margin-bottom:24px;
}
.booking-heading h2{
  margin:0;
  font-size:40px;
  letter-spacing:-.04em;
}
.booking-heading p{
  color:var(--muted);
  margin:9px 0 0;
}
.booking-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.booking-grid .full{
  grid-column:1/-1;
}
.booking-time-field{
  border:0;
  margin:0;
  padding:0;
}
.booking-time-field legend{
  font-size:12px;
  font-weight:700;
  margin-bottom:8px;
}
.booking-time-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.booking-time-option{
  position:relative;
}
.booking-time-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.booking-time-option span{
  min-height:43px;
  border:1px solid #dfe4ea;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#536070;
  font-size:13px;
  transition:.18s ease;
}
.booking-time-option input:checked + span{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  box-shadow:0 10px 24px rgba(227,6,25,.18);
}
.booking-time-message{
  margin:10px 0 0;
  font-size:12px;
  color:var(--muted);
}
.booking-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12px;
  color:var(--muted);
}
.booking-consent input{
  margin-top:3px;
}
.booking-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.booking-submit-row small{
  color:var(--muted);
}
.honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
body.booking-open{
  overflow:hidden;
}

/* Mobile booking item */
.mobile-bottom{
  grid-template-columns:repeat(5,1fr);
}
.mobile-bottom button{
  border:0;
  font:inherit;
}
.mobile-bottom .mobile-booking{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  font-size:10px;
}
.mobile-bottom .mobile-booking.primary{
  margin:-15px 7px 5px;
  border-radius:17px;
  background:var(--red);
  color:#fff;
  box-shadow:0 10px 28px rgba(227,6,25,.25);
}

/* About story, with the rejected image removed. */
.about-story-centered{
  display:block!important;
  max-width:900px;
  margin-inline:auto;
  text-align:center;
}
.about-story-content{
  max-width:820px;
  margin-inline:auto;
}
.about-story-centered .section-copy{
  margin-inline:auto;
}
.about-story-centered .btn{
  margin-top:8px;
}

/* Contact page: no query form, one centered contact block. */
.contact-grid-single{
  display:block!important;
  max-width:860px;
  margin-inline:auto;
}
.contact-grid-single .contact-card{
  padding:38px;
}
.contact-booking{
  margin-top:22px;
}
.map-panel{
  position:relative;
  height:450px;
  padding:0!important;
  background:#eef2f6!important;
}
.map-panel::before,
.map-panel::after,
.map-pin{
  display:none!important;
  content:none!important;
}
.map-panel iframe{
  width:100%;
  height:100%;
  border:0;
}
.map-open-link{
  display:inline-flex;
  margin-top:14px;
  color:var(--red);
  font-weight:800;
  font-size:13px;
}

/* Custom package promotion. */
.custom-package-promo-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:70px;
}
.custom-package-preview{
  padding:28px;
  border:1px solid #e4e7ec;
  border-radius:22px;
  background:#fff;
  box-shadow:var(--card-shadow);
}
.custom-package-preview>span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:12px;
}
.custom-package-preview>div,
.custom-package-preview footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid #edf0f3;
}
.custom-package-preview footer{
  border-bottom:0;
  padding-top:20px;
}
.custom-package-preview footer strong{
  color:var(--red);
  font-size:25px;
}

/* Package builder */
.package-builder-layout{
  display:grid;
  grid-template-columns:1fr 390px;
  gap:28px;
  align-items:start;
}
.package-catalogue{
  min-width:0;
}
.package-builder-toolbar{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:12px;
  margin-bottom:12px;
}
.builder-result-count{
  color:var(--muted);
  font-size:12px;
  margin-bottom:14px;
}
.builder-results{
  display:grid;
  gap:10px;
}
.builder-result{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:18px;
  align-items:center;
  padding:16px 17px;
  border:1px solid #e4e7ec;
  border-radius:15px;
  background:#fff;
}
.builder-result-info strong,
.builder-result-info small{
  display:block;
}
.builder-result-info small{
  margin-top:4px;
  color:var(--muted);
}
.builder-result-price{
  color:var(--red);
  font-weight:800;
  white-space:nowrap;
}
.builder-add{
  min-width:86px;
  min-height:40px;
  border:1px solid #dfe4ea;
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font-weight:700;
}
.builder-result.selected{
  border-color:#f2aab2;
  background:#fff8f8;
}
.builder-result.selected .builder-add{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.builder-summary{
  position:sticky;
  top:115px;
  padding:26px;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#fff5f6);
  border:1px solid #efdfe2;
  box-shadow:var(--card-shadow);
}
.builder-summary h2{
  margin:0 0 16px;
}
.builder-empty{
  padding:18px;
  border:1px dashed #d8dde5;
  border-radius:13px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
.builder-selected{
  display:grid;
  gap:8px;
  max-height:380px;
  overflow:auto;
}
.builder-selected-item{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #eadfe1;
  font-size:12px;
}
.builder-remove{
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--red);
}
.builder-total{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:21px 0;
  margin-top:10px;
  border-top:1px solid #eadfe1;
}
.builder-total span{
  color:var(--muted);
  font-size:12px;
}
.builder-total strong{
  color:var(--red);
  font-size:29px;
}
.builder-booking{
  width:100%;
}
.builder-booking:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}
.builder-clear{
  width:100%;
  margin-top:10px;
  padding:10px;
  border:0;
  background:transparent;
  color:var(--muted);
}

/* Booking success */
.booking-success-page{
  min-height:70vh;
  display:grid;
  place-items:center;
  padding:80px 0;
  background:linear-gradient(180deg,#fff,#fff7f8);
}
.booking-success-card{
  max-width:720px;
  padding:55px;
  border:1px solid #e4e7ec;
  border-radius:28px;
  background:#fff;
  text-align:center;
  box-shadow:var(--shadow);
}
.success-icon{
  width:76px;
  height:76px;
  margin:0 auto 22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9f8f3;
  color:#16846f;
  font-size:38px;
  font-weight:800;
}
.booking-success-card h1{
  font-size:52px;
  margin:0;
  letter-spacing:-.045em;
}
.booking-success-card p{
  max-width:580px;
  margin:16px auto 26px;
  color:var(--muted);
}

@media(max-width:1100px){
  .package-builder-layout{
    grid-template-columns:1fr;
  }
  .builder-summary{
    position:static;
  }
  .custom-package-promo-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .header-actions .phone-link{
    display:none;
  }
  .header-btn{
    display:none;
  }
  .booking-modal{
    padding:10px;
  }
  .booking-dialog{
    padding:26px 18px 22px;
    border-radius:22px;
  }
  .booking-heading h2{
    font-size:32px;
  }
  .booking-grid{
    grid-template-columns:1fr;
  }
  .booking-grid .full{
    grid-column:auto;
  }
  .booking-time-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .booking-submit-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .package-builder-toolbar{
    grid-template-columns:1fr;
  }
  .builder-result{
    grid-template-columns:1fr auto;
  }
  .builder-result-info{
    grid-column:1/-1;
  }
  .custom-package-promo-grid{
    gap:30px;
  }
  .map-panel{
    height:360px;
  }
  .booking-success-card{
    padding:38px 22px;
  }
  .booking-success-card h1{
    font-size:39px;
  }
}
