@charset "utf-8";
/* ============================================================
   Lord of the Strings — responsive rebuild of the existing site
   Legacy palette, kept faithfully:
     #813925  rust      headings, nav links
     #934f3d  brick     page-name bar
     #934e3e  brick     footer bar
     #c4b695  tan       rules and borders
     #441524  maroon    footer content
     #004a80  navy      body links
     #F2E3DE  rose      footer text (lightened from #dac3bd — see note)
   ------------------------------------------------------------
   DREAMWEAVER NOTE: deliberately written with literal hex values
   and simple selectors. No CSS custom properties, no nesting, no
   preprocessor — so the CSS Designer panel and Design View both
   show real colours and let you edit them by clicking.
   ============================================================ */

/* ---------- reset ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background-color: #f4f1e9;
	background-image: url(../images/body_1.2.jpg);
	background-attachment: fixed;
	color: #1a1a1a;
	font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.6;
}
h1, h2, h3, h4 { margin: 0 0 0.5em 0; line-height: 1.2; }
p, ul, ol { margin: 0 0 1em 0; }
img { max-width: 100%; height: auto; }
a { color: #004a80; }
a:hover, a:focus { text-decoration: none; }
:focus-visible { outline: 2px solid #813925; outline-offset: 2px; }

.skip { position: absolute; left: -9999px; }
.skip:focus { left: 0; top: 0; z-index: 999; background: #813925; color: #fff; padding: 0.7em 1em; }

/* ---------- shell ---------- */
.shell {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	background-color: #fffdf8;
	background-image: url(../images/doc_1_2.jpg);
	background-repeat: repeat-y;
	background-size: 100% auto;
}
.pad { padding: 0 18px; }

/* ---------- preview strip ---------- */
.previewbar {
	background-color: #241d17;
	color: #f0e6d6;
	font-size: 12px;
	line-height: 1.5;
	padding: 7px 18px;
	text-align: center;
}

/* ---------- sticky utility bar: Book Now always visible ---------- */
.utilbar {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 50;
	background-color: #813925;
	color: #ffffff;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 18px;
}
.utilbar .util-name {
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.utilbar .util-name a { color: #ffffff; text-decoration: none; }
.utilbar .book {
	margin-left: auto;
	flex: none;
	background-color: #ffffff;
	color: #813925;
	font-weight: bold;
	font-size: 14px;
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 2px;
}
.utilbar .book:hover, .utilbar .book:focus { background-color: #f4e7d8; }
.utilbar .tel { color: #ffffff; text-decoration: none; font-size: 14px; white-space: nowrap; }

/* ---------- masthead ---------- */
.masthead { background-color: #000000; }
.masthead img { display: block; width: 100%; }

/* ---------- main nav ---------- */
.mainnav { background-color: #fffdf8; border-bottom: 2px solid #c4b695; }
.mainnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.mainnav li { flex: none; }
.mainnav a {
	display: block;
	padding: 12px 14px;
	color: #813925;
	text-decoration: none;
	font-size: 16px;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
}
.mainnav a:hover, .mainnav a:focus { background-color: #f6efe3; }
.mainnav a.active { border-bottom-color: #813925; font-weight: bold; }

/* ---------- page name bar ---------- */
.pagename {
	background-color: #934f3d;
	background-image: url(../images/pagename_1_2.jpg);
	background-repeat: no-repeat;
	background-position: 0 100%;
	color: #ffffff;
	padding: 14px 18px;
}
.pagename h1 { margin: 0; font-size: 24px; font-weight: normal; }

/* ---------- content ---------- */
main { padding: 22px 18px 30px 18px; }
main h2 {
	font-size: 18px;
	text-transform: uppercase;
	font-weight: bold;
	color: #1a1a1a;
	margin-top: 1.4em;
}
main h2:first-child { margin-top: 0; }
main h3 {
	font-size: 19px;
	font-weight: normal;
	color: #813925;
	border-bottom: 1px solid #c4b695;
	padding-bottom: 5px;
	margin-top: 1.5em;
}
.lead { font-size: 18px; }
.smallprint { font-size: 14px; color: #5a5148; }

blockquote.tm {
	margin: 0 0 18px 0;
	padding: 0 0 0 14px;
	border-left: 3px solid #c4b695;
}
blockquote.tm p { margin-bottom: 6px; font-size: 16px; }
blockquote.tm cite {
	font-style: normal;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #813925;
}

.placeholder {
	border: 1px dashed #934f3d;
	background-color: #f9f0e6;
	padding: 12px 14px;
	font-size: 13px;
	line-height: 1.55;
	margin-bottom: 18px;
}
.placeholder strong { display: block; margin-bottom: 4px; color: #813925; }

/* ---------- buttons ---------- */
.btn {
	display: inline-block;
	background-color: #813925;
	color: #ffffff;
	text-decoration: none;
	font-size: 17px;
	padding: 13px 20px;
	border: none;
	cursor: pointer;
	text-align: center;
	font-family: inherit;
}
.btn:hover, .btn:focus { background-color: #934f3d; }
.btn.wide { display: block; width: 100%; }
.btn.ghost { background-color: transparent; color: #813925; border: 2px solid #813925; }
.btn.ghost:hover, .btn.ghost:focus { background-color: #f6efe3; }

/* ---------- testimonials ---------- */
.testimonial-card {
	border: 1px solid #c4b695;
	background-color: #fdf8ef;
	margin-bottom: 16px;
	padding: 12px 16px;
}

.testimonial-card summary {
	color: #813925;
	font-weight: bold;
	cursor: pointer;
}

.testimonial-content {
	margin-top: 10px;
	font-size: 16px;
	color: #1a1a1a;
}

/* ---------- rates ---------- */
.introrate {
	border: 2px solid #c4b695;
	background-color: #fdf8ef;
	padding: 14px 16px;
	margin-bottom: 16px;
	display: flex;
	align-items: baseline;
	gap: 14px;
}
.introrate .amt { font-size: 38px; color: #813925; line-height: 1; font-weight: bold; }
.introrate .desc { font-size: 15px; }

.ratetoggle { display: flex; border: 2px solid #813925; max-width: 340px; margin-bottom: 14px; }
.ratetoggle button {
	flex: 1;
	background-color: transparent;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	padding: 10px 8px;
	color: #813925;
}
.ratetoggle button[aria-pressed="true"] { background-color: #813925; color: #ffffff; font-weight: bold; }

table.rates { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
table.rates caption { text-align: left; font-size: 14px; color: #5a5148; padding-bottom: 6px; }
table.rates th, table.rates td {
	padding: 11px 6px;
	border-bottom: 1px solid #c4b695;
	text-align: right;
}
table.rates th:first-child, table.rates td:first-child { text-align: left; }
table.rates thead th {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #5a5148;
	font-weight: normal;
}
table.rates td .amt { font-size: 20px; color: #813925; font-weight: bold; }

/* ---------- video ---------- */
.videogrid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 18px; }
.vidcard { border: 1px solid #c4b695; background-color: #fdf8ef; }
.facade {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #241d17;
	border: none;
	padding: 0;
	cursor: pointer;
}
.facade .play {
	position: absolute; left: 50%; top: 50%;
	width: 0; height: 0; margin: -13px 0 0 -9px;
	border-left: 26px solid #c4b695;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
}
.facade .stub {
	position: absolute; left: 0; right: 0; bottom: 0;
	background-color: rgba(0,0,0,0.72);
	color: #e4d9c4;
	font-size: 11px;
	line-height: 1.4;
	padding: 5px 7px;
	text-align: left;
}
.facade iframe { width: 100%; height: 100%; border: 0; display: block; }
.vidcard .vidname { padding: 9px 11px; font-size: 15px; color: #813925; }

/* ---------- contact ---------- */
.factlist { list-style: none; padding: 0; margin: 0 0 18px 0; }
.factlist li { padding: 9px 0; border-bottom: 1px solid #c4b695; }
.factlist strong { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: #813925; }

/* ---------- footer ---------- */
.sitefoot {
	background-color: #934e3e;
	background-image: url(../images/ft_1_2.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	color: #F2E3DE;
	padding: 20px 18px 26px 18px;
	font-size: 14px;
}
.sitefoot a { color: #FFFFFF; }
.sitefoot p { margin-bottom: 8px; }
.sitefoot .rule { height: 1px; background-color: rgba(255,255,255,0.28); margin: 12px 0; }

/* ---------- wider screens ---------- */
@media (min-width: 700px) {
	body { font-size: 18px; }
	main { padding: 28px 30px 40px 30px; }
	.pad, .pagename, .utilbar, .previewbar, .sitefoot { padding-left: 30px; padding-right: 30px; }
	.pagename h1 { font-size: 30px; }
	.videogrid { grid-template-columns: 1fr 1fr; }
	.mainnav ul { overflow-x: visible; }
	.mainnav a { padding: 13px 18px; }
}

@media (min-width: 950px) {
	.shell { box-shadow: 0 0 22px rgba(0,0,0,0.16); }
}

@media print {
	.utilbar, .previewbar, .mainnav, .facade { display: none; }
	body { background: #fff; }
}
