:root {
	--tghs-wine: #672b35;
	--tghs-wine-deep: #371419;
	--tghs-paper: #fbf8f2;
	--tghs-blush: #c9a1a0;
	--tghs-gold: #b99055;
	--tghs-ink: #362a2b;
	--tghs-line: rgba(103, 43, 53, .17);
	--tghs-serif: "Cormorant Garamond", Georgia, serif;
	--tghs-sans: "Montserrat", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.tghs-site-view,
body.tghs-homepage { margin: 0; background: var(--tghs-paper); color: var(--tghs-ink); font-family: var(--tghs-sans); overflow-x: hidden; }
.tghs-site-view *, .tghs-site-view *::before, .tghs-site-view *::after,
.tghs-homepage *, .tghs-homepage *::before, .tghs-homepage *::after { box-sizing: border-box; }
.tghs-site-view img, .tghs-homepage img { display: block; max-width: 100%; }
.tghs-site-view a, .tghs-homepage a { color: inherit; text-decoration: none; }
.tghs-shell { overflow: visible; }
.tghs-container { width: min(1380px, calc(100% - 96px)); margin-inline: auto; }
.tghs-section { padding: 112px 0; }
.tghs-kicker { display: block; margin-bottom: 18px; color: var(--tghs-wine); font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.tghs-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 34px; border: 1px solid var(--tghs-wine); padding: 0 18px 0 22px; background: transparent; color: var(--tghs-wine); font-size: 11px; font-weight: 600; letter-spacing: .14em; transition: color .25s, background .25s, transform .25s; }
.tghs-button i { font-size: 18px; font-style: normal; }
.tghs-button:hover { background: var(--tghs-wine); color: #fff; transform: translateY(-2px); }
.tghs-button-light { border-color: rgba(255,255,255,.65); color: #fff; }
.tghs-button-light:hover { background: #fff; color: var(--tghs-wine); }

/* Shared fixed header */
.tghs-header { position: fixed !important; z-index: 99990 !important; inset: 0 0 auto; height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 max(34px, calc((100vw - 1500px)/2)); background: rgba(251,248,242,.96); border-bottom: 1px solid rgba(103,43,53,.12); box-shadow: 0 7px 28px rgba(55,20,25,.05); backdrop-filter: blur(14px); transform: none !important; }
.admin-bar .tghs-header { top: 32px; }
.tghs-brand { position: relative; z-index: 3; flex: 0 0 124px; }
.tghs-brand img { width: 120px; height: 58px; object-fit: contain; object-position: left center; }
.tghs-nav { display: flex; align-items: center; gap: clamp(20px, 2.2vw, 42px); }
.tghs-nav > a { position: relative; padding: 29px 0; color: var(--tghs-wine-deep); font-size: 10px; font-weight: 600; letter-spacing: .17em; white-space: nowrap; }
.tghs-nav > a:not(.tghs-nav-quote)::after { content: ""; position: absolute; right: 0; bottom: 22px; left: 0; height: 1px; background: var(--tghs-wine); transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.tghs-nav > a:hover::after { transform: scaleX(1); transform-origin: left; }
.tghs-nav .tghs-nav-quote { padding: 13px 18px; border: 1px solid var(--tghs-wine); }
.tghs-menu-toggle { position: relative; z-index: 3; display: none; width: 46px; height: 44px; border: 0; padding: 11px; background: transparent; }
.tghs-menu-toggle span { display: block; width: 24px; height: 1px; margin: 5px 0; background: var(--tghs-wine); transition: transform .25s, opacity .25s; }
.tghs-menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.tghs-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.tghs-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tghs-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Homepage client hero */
.tghs-homepage .tghs-hero { min-height: 760px; height: 100svh; background-position: center center; background-size: cover; }
.tghs-homepage .tghs-hero, .tghs-homepage .tghs-journey { overflow: hidden; }
.tghs-homepage .tghs-hero-shade { background: linear-gradient(90deg, rgba(91,36,48,.76) 0%, rgba(91,36,48,.43) 36%, rgba(91,36,48,.04) 66%); }
.tghs-homepage .tghs-hero-copy { left: max(48px, calc((100vw - 1380px)/2)); width: min(580px, 44vw); }
.tghs-homepage .tghs-hero-copy h1 { text-wrap: balance; }

/* Page heroes */
.tghs-page-hero { position: relative; min-height: 610px; margin-top: 78px; display: grid; place-items: center; overflow: hidden; background-image: var(--tghs-page-hero); background-size: cover; background-position: center; }
.admin-bar .tghs-page-hero { margin-top: 78px; }
.tghs-page-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(55,20,25,.74), rgba(55,20,25,.25) 56%, rgba(55,20,25,.12)); }
.tghs-page-hero-copy { position: relative; z-index: 1; width: min(1380px, calc(100% - 96px)); color: #fff; }
.tghs-page-hero-copy > span { font-size: 10px; font-weight: 600; letter-spacing: .22em; }
.tghs-page-hero-copy h1 { max-width: 780px; margin: 22px 0 18px; font: 500 clamp(54px, 6vw, 98px)/.9 var(--tghs-serif); letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance; }
.tghs-page-hero-copy p { max-width: 650px; margin: 0; font-size: 14px; line-height: 1.8; }
.tghs-page-hero-copy .tghs-button { margin-top: 30px; }
.tghs-about-page .tghs-page-hero-shade,
.tghs-blog-page .tghs-page-hero-shade { background: linear-gradient(90deg, rgba(251,248,242,.96) 0%, rgba(251,248,242,.84) 38%, rgba(251,248,242,.12) 69%); }
.tghs-about-page .tghs-page-hero-copy,
.tghs-blog-page .tghs-page-hero-copy { color: var(--tghs-wine); }
.tghs-section-heading { display: grid; grid-template-columns: 52px 1fr auto; gap: 22px; align-items: end; margin-bottom: 58px; }
.tghs-section-heading > span { align-self: start; color: var(--tghs-wine); font: 500 12px var(--tghs-sans); letter-spacing: .18em; }
.tghs-section-heading h2 { margin: 0; color: var(--tghs-wine); font: 500 clamp(42px, 4.6vw, 72px)/.95 var(--tghs-serif); letter-spacing: -.02em; }
.tghs-section-heading p { max-width: 330px; margin: 0; color: #796e6e; font-size: 12px; line-height: 1.7; text-align: right; }
.tghs-section-heading-light h2, .tghs-section-heading-light > span { color: #fff; }

/* Collection */
.tghs-catalog-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: clamp(42px, 6vw, 94px); align-items: start; }
.tghs-catalog-nav { position: sticky; top: 108px; padding: 30px 0; border-top: 1px solid var(--tghs-line); }
.tghs-catalog-nav h2 { margin: 0 0 30px; color: var(--tghs-wine); font: 500 34px/1 var(--tghs-serif); }
.tghs-catalog-nav button { width: 100%; display: grid; grid-template-columns: 32px 1fr 18px; gap: 10px; align-items: center; border: 0; border-bottom: 1px solid var(--tghs-line); padding: 19px 0; background: transparent; color: #76696a; text-align: left; cursor: pointer; }
.tghs-catalog-nav button b { color: #b2a7a5; font: 500 9px var(--tghs-sans); letter-spacing: .1em; }
.tghs-catalog-nav button span { font: 500 21px/1.05 var(--tghs-serif); }
.tghs-catalog-nav button i { color: var(--tghs-wine); font-style: normal; opacity: 0; transform: translateX(-5px); transition: .2s; }
.tghs-catalog-nav button:hover, .tghs-catalog-nav button.is-active { color: var(--tghs-wine); }
.tghs-catalog-nav button:hover i, .tghs-catalog-nav button.is-active i { opacity: 1; transform: none; }
.tghs-catalog-toolbar { display: flex; align-items: end; justify-content: space-between; margin-bottom: 26px; }
.tghs-catalog-toolbar h2 { margin: 0; color: var(--tghs-wine); font: 500 46px/1 var(--tghs-serif); }
.tghs-catalog-toolbar > p { color: #8f8382; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.tghs-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--tghs-line); border-left: 1px solid var(--tghs-line); }
.tghs-product-card { min-width: 0; border-right: 1px solid var(--tghs-line); border-bottom: 1px solid var(--tghs-line); background: rgba(255,255,255,.24); transition: background .3s; }
.tghs-product-card[hidden] { display: none; }
.tghs-product-card:hover { background: rgba(255,255,255,.72); }
.tghs-product-card > a { display: flex; min-height: 100%; flex-direction: column; }
.tghs-product-image { position: relative; aspect-ratio: 1/1; overflow: hidden; padding: 13%; }
.tghs-product-image::after { content: ""; position: absolute; inset: auto 18% 11% 18%; height: 9%; border-radius: 50%; background: rgba(74,39,41,.11); filter: blur(14px); }
.tghs-product-image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.tghs-product-card:hover .tghs-product-image img { transform: translateY(-7px) scale(1.035); }
.tghs-product-meta { position: relative; display: block; padding: 0 24px 27px; }
.tghs-product-meta small { color: #a28f8f; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.tghs-product-meta h3 { margin: 7px 0 8px; color: var(--tghs-wine); font: 500 26px/1 var(--tghs-serif); }
.tghs-product-meta p { min-height: 39px; margin: 0; color: #7e7272; font-size: 10px; line-height: 1.55; }
.tghs-product-meta i { position: absolute; right: 22px; top: 12px; color: var(--tghs-wine); font-style: normal; }
.tghs-empty-state { padding: 80px 30px; text-align: center; }
.tghs-empty-state span { color: var(--tghs-wine); font-size: 9px; letter-spacing: .2em; }
.tghs-empty-state h3 { margin: 18px 0; color: var(--tghs-wine); font: 500 42px/1 var(--tghs-serif); }

/* New designs */
.tghs-concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--tghs-line); border-left: 1px solid var(--tghs-line); }
.tghs-concept-card { position: relative; min-height: 360px; border-right: 1px solid var(--tghs-line); border-bottom: 1px solid var(--tghs-line); padding: 34px; }
.tghs-concept-card > b { color: #b2a6a5; font-size: 9px; letter-spacing: .15em; }
.tghs-concept-card svg { width: 78px; height: 78px; margin: 60px auto 42px; fill: none; stroke: var(--tghs-wine); stroke-width: 1; }
.tghs-concept-card h3 { margin: 0 0 12px; color: var(--tghs-wine); font: 500 30px var(--tghs-serif); }
.tghs-concept-card p { margin: 0; color: #786d6d; font-size: 11px; line-height: 1.7; }
.tghs-design-showcase { background: #f6f0e8; }
.tghs-process-band, .tghs-product-process { position: relative; padding: 110px 0; overflow: hidden; background: var(--tghs-wine-deep); color: #fff; }
.tghs-process-band::before, .tghs-product-process::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 15% 15%, rgba(201,161,160,.2), transparent 32%), linear-gradient(120deg, transparent 40%, rgba(255,255,255,.035)); }
.tghs-process-band .tghs-container, .tghs-product-process .tghs-container { position: relative; }
.tghs-process-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.tghs-process-grid article { position: relative; min-height: 130px; border-top: 1px solid rgba(255,255,255,.22); padding: 22px 16px 0 0; }
.tghs-process-grid article:not(:last-child)::after { content: ""; position: absolute; top: -3px; right: 12px; width: 7px; height: 7px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
.tghs-process-grid article > span { color: var(--tghs-blush); font-size: 9px; letter-spacing: .15em; }
.tghs-process-grid h3 { max-width: 125px; margin: 35px 0 0; color: #fff; font: 500 19px/1.1 var(--tghs-serif); }

/* About */
.tghs-about-intro-grid { display: grid; grid-template-columns: minmax(280px,.86fr) minmax(360px,1.08fr) minmax(280px,.86fr); gap: clamp(36px,4.5vw,72px); align-items: center; }
.tghs-about-story-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(54px, 8vw, 120px); align-items: center; }
.tghs-about-collage { position: relative; padding: 26px 0 0 26px; }
.tghs-about-collage::before { content: ""; position: absolute; inset: 0 12% 14% 0; border: 1px solid var(--tghs-gold); }
.tghs-about-collage img { position: relative; width: 100%; aspect-ratio: 4/4.8; object-fit: cover; filter: saturate(.75) sepia(.08); }
.tghs-about-collage span { position: absolute; right: -34px; bottom: 18%; writing-mode: vertical-rl; color: var(--tghs-wine); font-size: 9px; letter-spacing: .25em; }
.tghs-about-copy h2 { margin: 0 0 32px; color: var(--tghs-wine); font: 500 clamp(42px, 4.5vw, 68px)/.98 var(--tghs-serif); }
.tghs-about-copy p, .tghs-about-closing p { color: #6f6464; font-size: 13px; line-height: 1.9; }
.tghs-about-trust-list { display: grid; }
.tghs-about-trust-list article { display: grid; grid-template-columns: 56px 1fr; gap: 20px; border-bottom: 1px solid var(--tghs-line); padding: 26px 0; }
.tghs-about-trust-list article:first-child { border-top: 1px solid var(--tghs-line); }
.tghs-about-trust-list svg { width: 48px; height: 48px; fill: none; stroke: var(--tghs-wine); stroke-width: 1.2; }
.tghs-about-trust-list h3 { margin: 0 0 8px; color: var(--tghs-wine); font: 500 24px/1 var(--tghs-serif); }
.tghs-about-trust-list p { margin: 0; color: #786d6d; font-size: 10px; line-height: 1.7; }
.tghs-trust { padding-top: 0; }
.tghs-pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--tghs-line); }
.tghs-pillar-grid article { min-height: 220px; border-right: 1px solid var(--tghs-line); padding: 32px 42px 32px 0; }
.tghs-pillar-grid article + article { padding-left: 42px; }
.tghs-pillar-grid article:last-child { border-right: 0; }
.tghs-pillar-grid span { color: var(--tghs-gold); font-size: 10px; letter-spacing: .2em; }
.tghs-pillar-grid h3 { color: var(--tghs-wine); font: 500 30px var(--tghs-serif); }
.tghs-pillar-grid p { color: #786d6d; font-size: 11px; line-height: 1.75; }
.tghs-about-stats { position: relative; padding: 92px 0; color: #fff; background: var(--tghs-wine-deep) var(--tghs-stats) center/cover; }
.tghs-about-stats::before { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(55,20,25,.72), rgba(55,20,25,.6), rgba(55,20,25,.72)); }
.tghs-about-stats .tghs-stat-grid { position: relative; z-index: 1; }
.tghs-about-stats .tghs-stat,
.tghs-about-stats .tghs-stat strong { color: #fff; }
.tghs-about-stats .tghs-stat span { color: rgba(255,255,255,.78); }
.tghs-about-values-heading { margin-bottom: 48px; text-align: center; }
.tghs-about-values-heading h2 { margin: 0; color: var(--tghs-wine); font: 500 clamp(46px,5vw,72px)/1 var(--tghs-serif); }
.tghs-reason-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--tghs-line); }
.tghs-reason-grid article { min-height: 280px; border-right: 1px solid var(--tghs-line); padding: 30px; }
.tghs-reason-grid article:last-child { border: 0; }
.tghs-reason-grid b { color: var(--tghs-gold); font-size: 10px; letter-spacing: .16em; }
.tghs-reason-grid h3 { margin: 90px 0 14px; color: var(--tghs-wine); font: 500 27px/1.05 var(--tghs-serif); }
.tghs-reason-grid p { color: #776c6c; font-size: 10px; line-height: 1.7; }
.tghs-about-closing { max-width: 920px; margin: 86px auto 0; text-align: center; }
.tghs-about-closing strong { display: block; margin-top: 28px; color: var(--tghs-wine); font: 500 30px var(--tghs-serif); }

/* Contact */
.tghs-service-strip { position: relative; background: var(--tghs-wine-deep) var(--tghs-contact-texture) center/cover; color: #fff; }
.tghs-service-strip::before { content: ""; position: absolute; inset: 0; background: rgba(55,20,25,.55); }
.tghs-service-strip .tghs-container { position: relative; display: grid; grid-template-columns: repeat(4,1fr); }
.tghs-service-strip span { display: flex; min-height: 112px; align-items: center; gap: 18px; border-right: 1px solid rgba(255,255,255,.17); padding: 0 25px; font-size: 10px; letter-spacing: .12em; }
.tghs-service-strip span:last-child { border: 0; }
.tghs-service-strip b { color: var(--tghs-blush); }
.tghs-contact-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr); gap: clamp(55px, 8vw, 120px); }
.tghs-contact-form-wrap h2, .tghs-contact-info h2 { margin: 0 0 32px; color: var(--tghs-wine); font: 500 clamp(42px,4vw,62px)/.95 var(--tghs-serif); }
.tghs-contact-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px 20px; }
.tghs-contact-form label { display: grid; gap: 9px; }
.tghs-contact-form label > span { color: #786b6b; font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.tghs-contact-form input, .tghs-contact-form select, .tghs-contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid rgba(103,43,53,.32); border-radius: 0; padding: 12px 2px; background: transparent; color: var(--tghs-ink); font: 12px var(--tghs-sans); }
.tghs-contact-form textarea { border: 1px solid rgba(103,43,53,.25); padding: 16px; resize: vertical; }
.tghs-contact-form .tghs-field-wide { grid-column: 1/-1; }
.tghs-contact-form .tghs-button { width: max-content; }
.tghs-form-status { border-left: 2px solid var(--tghs-wine); padding: 12px 16px; background: rgba(103,43,53,.06); }
.tghs-contact-aside { display: grid; gap: 38px; }
.tghs-contact-info { border-top: 1px solid var(--tghs-line); padding-top: 30px; }
.tghs-contact-info > div { display: grid; gap: 7px; border-top: 1px solid var(--tghs-line); padding: 20px 0; }
.tghs-contact-info small { color: #9b8d8d; font-size: 8px; letter-spacing: .17em; }
.tghs-contact-info a, .tghs-contact-info address { margin: 0; color: var(--tghs-wine); font: 500 20px/1.3 var(--tghs-serif); font-style: normal; }
.tghs-contact-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.tghs-contact-benefits { padding-top: 0; }
.tghs-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--tghs-line); border-bottom: 1px solid var(--tghs-line); }
.tghs-benefit-grid article { min-height: 150px; border-right: 1px solid var(--tghs-line); padding: 28px; }
.tghs-benefit-grid article:last-child { border: 0; }
.tghs-benefit-grid span { color: var(--tghs-gold); font-size: 9px; }
.tghs-benefit-grid h3 { margin: 45px 0 0; color: var(--tghs-wine); font: 500 24px var(--tghs-serif); }

/* Blog */
.tghs-blog-document-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: clamp(48px,6vw,90px); align-items: start; }
.tghs-blog-document-aside { position: sticky; top: 108px; }
.tghs-blog-document-aside > a { display: flex; justify-content: space-between; border-bottom: 1px solid var(--tghs-line); padding: 15px 0; color: #76696a; font: 500 18px/1.15 var(--tghs-serif); }
.tghs-blog-document-aside > a b { color: #a89b9a; font: 500 8px var(--tghs-sans); }
.tghs-latest-posts { margin-top: 52px; }
.tghs-latest-posts > a { display: grid; grid-template-columns: 58px 1fr; gap: 12px; align-items: center; margin-bottom: 14px; color: var(--tghs-wine); font: 500 14px/1.15 var(--tghs-serif); }
.tghs-latest-posts img { width: 58px; height: 58px; padding: 6px; background: #f1eae2; object-fit: contain; mix-blend-mode: multiply; }
.tghs-latest-posts small { display: block; margin-top: 6px; color: #9b8e8d; font: 500 7px var(--tghs-sans); letter-spacing: .08em; text-transform: uppercase; }
.tghs-blog-newsletter { margin-top: 40px; padding: 30px 24px; background: #f2eae3; text-align: center; }
.tghs-blog-newsletter > span { display: block; color: var(--tghs-wine); font-size: 30px; }
.tghs-blog-newsletter h3 { margin: 16px 0 10px; color: var(--tghs-wine); font: 500 23px/1.05 var(--tghs-serif); }
.tghs-blog-newsletter p { color: #786d6d; font-size: 9px; line-height: 1.7; }
.tghs-blog-subscribe { display: grid; gap: 9px; margin-top: 16px; }
.tghs-blog-subscribe label { display: block; }
.tghs-blog-subscribe label > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tghs-blog-subscribe input[type="email"] { width: 100%; min-height: 40px; padding: 10px 12px; border: 1px solid rgba(111, 35, 50, .24); border-radius: 0; background: rgba(255,255,255,.72); color: var(--tghs-wine); font: 500 9px/1.2 var(--tghs-sans); letter-spacing: .1em; }
.tghs-blog-subscribe input[type="email"]:focus { outline: 2px solid var(--tghs-gold); outline-offset: 2px; }
.tghs-blog-subscribe button { min-height: 38px; padding: 10px 12px; border: 1px solid var(--tghs-wine); background: var(--tghs-wine); color: #fff; cursor: pointer; font: 600 8px/1.2 var(--tghs-sans); letter-spacing: .14em; }
.tghs-blog-subscribe button b { margin-left: 5px; font-size: 12px; }
.tghs-blog-subscribe-status { margin-top: 12px; color: var(--tghs-wine) !important; font-weight: 600; }
.tghs-blog-results-head { display: flex; justify-content: space-between; margin-bottom: 30px; color: #968988; font-size: 8px; letter-spacing: .13em; }
.tghs-blog-tile-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tghs-blog-tile { min-width: 0; border: 1px solid var(--tghs-line); background: rgba(255,255,255,.28); }
.tghs-blog-tile > a { display: flex; height: 100%; flex-direction: column; }
.tghs-blog-tile figure { margin: 0; overflow: hidden; background: #efe7df; }
.tghs-blog-tile figure img { width: 100%; aspect-ratio: 1.28/1; padding: 8%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s; }
.tghs-blog-tile:hover figure img { transform: scale(1.04); }
.tghs-blog-tile > a > div { display: flex; min-height: 310px; flex: 1; flex-direction: column; padding: 24px 22px; }
.tghs-blog-tile small { color: #9a8384; font-size: 7px; letter-spacing: .12em; }
.tghs-blog-tile h2 { margin: 14px 0; color: var(--tghs-wine); font: 500 clamp(25px,2.1vw,34px)/1.02 var(--tghs-serif); }
.tghs-blog-tile p { margin: 0; color: #756969; font-size: 10px; line-height: 1.7; }
.tghs-blog-tile > a > div > span { display: flex; justify-content: space-between; margin-top: auto; padding-top: 24px; color: #8e7f80; font-size: 8px; }
.tghs-blog-tile > a > div > span b { color: var(--tghs-wine); font-size: 15px; }
.tghs-blog-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 80px; align-items: start; }
.tghs-blog-card { border-top: 1px solid var(--tghs-line); padding: 30px 0; }
.tghs-blog-card > a { display: grid; grid-template-columns: minmax(230px,.75fr) minmax(0,1fr); gap: 38px; align-items: center; }
.tghs-blog-card figure { position: relative; margin: 0; overflow: hidden; background: #f4eee7; }
.tghs-blog-card figure img { width: 100%; aspect-ratio: 4/3; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s; }
.tghs-blog-card:hover figure img { transform: scale(1.04); }
.tghs-blog-card figure span { position: absolute; top: 12px; left: 12px; width: 38px; height: 38px; display: grid; place-items: center; background: var(--tghs-wine); color: #fff; font-size: 9px; }
.tghs-blog-card small { color: #9a8c8c; font-size: 8px; letter-spacing: .14em; }
.tghs-blog-card h2 { margin: 14px 0; color: var(--tghs-wine); font: 500 clamp(29px,3vw,43px)/1 var(--tghs-serif); }
.tghs-blog-card p { color: #756969; font-size: 11px; line-height: 1.75; }
.tghs-blog-card b { display: inline-block; margin-top: 18px; color: var(--tghs-wine); font-size: 9px; letter-spacing: .15em; }
.tghs-blog-aside { position: sticky; top: 110px; border-top: 1px solid var(--tghs-line); padding-top: 28px; }
.tghs-blog-aside h2 { color: var(--tghs-wine); font: 500 36px var(--tghs-serif); }
.tghs-blog-aside > a { display: flex; justify-content: space-between; border-top: 1px solid var(--tghs-line); padding: 16px 0; color: #746868; font: 500 19px var(--tghs-serif); }
.tghs-blog-aside > a b { color: #a89b9a; font: 500 9px var(--tghs-sans); }
.tghs-blog-aside > div { margin-top: 42px; padding: 26px; background: var(--tghs-wine); color: #fff; }
.tghs-blog-aside > div > span { font-size: 8px; letter-spacing: .18em; }
.tghs-blog-aside > div p { font: 500 23px/1.15 var(--tghs-serif); }
.tghs-blog-aside .tghs-button { border-color: rgba(255,255,255,.5); color: #fff; }
.tghs-article-hero { margin-top: 78px; padding: 120px 0 84px; background: #f5ede5; text-align: center; }
.tghs-article-hero a, .tghs-article-hero span { display: block; margin-bottom: 26px; color: #907e7e; font-size: 9px; letter-spacing: .17em; }
.tghs-article-hero h1 { max-width: 980px; margin: 0 auto 25px; color: var(--tghs-wine); font: 500 clamp(48px,6vw,82px)/.97 var(--tghs-serif); text-wrap: balance; }
.tghs-article-hero p { max-width: 690px; margin: auto; color: #766969; font-size: 13px; line-height: 1.8; }
.tghs-article-image { max-width: 1160px; height: 560px; margin: 0 auto; background: #f2ece5; }
.tghs-article-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.tghs-article-body { width: min(1040px, calc(100% - 96px)); margin: 90px auto 120px; display: grid; grid-template-columns: minmax(0,720px) 220px; gap: 85px; align-items: start; }
.tghs-article-copy { color: #5f5555; font-size: 15px; line-height: 1.9; }
.tghs-article-copy h2 { margin: 54px 0 20px; color: var(--tghs-wine); font: 500 42px/1 var(--tghs-serif); }
.tghs-article-copy h3 { margin: 34px 0 10px; color: var(--tghs-wine); font: 500 28px var(--tghs-serif); }
.tghs-article-copy li { margin-bottom: 10px; }
.tghs-article-body aside { position: sticky; top: 110px; border-top: 1px solid var(--tghs-line); padding-top: 22px; }
.tghs-article-body aside span { color: #9b8b8b; font-size: 8px; letter-spacing: .17em; }
.tghs-article-body aside p { color: var(--tghs-wine); font: 500 25px/1.15 var(--tghs-serif); }
.tghs-article-body aside a { color: var(--tghs-wine); font-size: 9px; font-weight: 600; letter-spacing: .13em; }

/* Product detail */
.tghs-product-overview { margin-top: 78px; padding: 64px 0 110px; }
.tghs-product-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 45px; color: #9a8d8c; font-size: 8px; letter-spacing: .15em; }
.tghs-product-overview-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(370px,.95fr); gap: clamp(60px,8vw,120px); align-items: center; }
.tghs-product-main-image { height: 660px; margin: 0; background: #f3eee8; }
.tghs-product-main-image img { width: 100%; height: 100%; padding: 8%; object-fit: contain; mix-blend-mode: multiply; }
.tghs-product-summary h1 { margin: 0 0 20px; color: var(--tghs-wine); font: 500 clamp(58px,6vw,86px)/.9 var(--tghs-serif); }
.tghs-product-summary > p { color: #706464; font-size: 13px; line-height: 1.8; }
.tghs-spec-grid { display: grid; grid-template-columns: repeat(2,1fr); margin: 36px 0; border-top: 1px solid var(--tghs-line); border-left: 1px solid var(--tghs-line); }
.tghs-spec-grid div { display: grid; gap: 9px; border-right: 1px solid var(--tghs-line); border-bottom: 1px solid var(--tghs-line); padding: 19px; }
.tghs-spec-grid span { color: #9a8a8a; font-size: 8px; letter-spacing: .15em; }
.tghs-spec-grid strong { color: var(--tghs-wine); font: 500 23px var(--tghs-serif); }
.tghs-product-detail-gallery { background: #f6f0e9; }
.tghs-product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.tghs-product-detail-grid figure { height: 590px; margin: 0; background: #fff; }
.tghs-product-detail-grid figure img { width: 100%; height: 100%; padding: 7%; object-fit: contain; mix-blend-mode: multiply; }
.tghs-product-detail-grid h2 { color: var(--tghs-wine); font: 500 50px/1 var(--tghs-serif); }
.tghs-product-detail-grid p, .tghs-product-detail-grid li { color: #716565; font-size: 12px; line-height: 1.8; }
.tghs-recommendations .tghs-product-grid { max-width: 1050px; }

/* CTA and classic footer */
.tghs-shared-cta { position: relative; min-height: 510px; display: grid; place-items: center; background: var(--tghs-cta) center/cover; text-align: center; }
.tghs-shared-cta-shade { position: absolute; inset: 0; background: rgba(72,25,35,.5); }
.tghs-shared-cta-copy { position: relative; z-index: 1; width: min(720px, calc(100% - 48px)); color: #fff; }
.tghs-shared-cta .tghs-kicker { color: #fff; }
.tghs-shared-cta h2 { margin: 0 0 22px; font: 500 clamp(48px,6vw,78px)/.92 var(--tghs-serif); }
.tghs-shared-cta p { max-width: 590px; margin: 0 auto 30px; font-size: 12px; line-height: 1.8; }
.tghs-footer-classic { position: relative; padding: 76px 0 26px; background-color: var(--tghs-wine); background-image: linear-gradient(rgba(92,37,47,.94), rgba(92,37,47,.94)), var(--tghs-bg); background-position: center; background-size: cover; color: rgba(255,255,255,.82); }
.tghs-footer-columns { display: grid; grid-template-columns: 1.35fr .75fr 1fr 1.1fr 1.3fr; gap: clamp(26px,3.8vw,62px); }
.tghs-footer-columns > div:not(.tghs-footer-about) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.tghs-footer-brand img { width: 150px; height: 86px; object-fit: contain; object-position: left center; filter: sepia(1) saturate(.65) brightness(1.35); }
.tghs-footer-about > p { max-width: 260px; color: rgba(255,255,255,.68); font-size: 10px; line-height: 1.75; }
.tghs-footer-columns h3 { margin: 12px 0 16px; color: #e2c998; font: 500 21px var(--tghs-serif); }
.tghs-footer-columns a, .tghs-footer-columns address { color: rgba(255,255,255,.72); font-size: 9px; line-height: 1.65; font-style: normal; transition: color .2s; }
.tghs-footer-columns a:hover { color: #fff; }
.tghs-footer-about .tghs-socials { display: flex; gap: 7px; margin-top: 20px; }
.tghs-footer-about .tghs-socials a { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); font-size: 8px; }
.tghs-footer-contact address { margin-bottom: 8px; }
.tghs-footer-inquiry p { margin: 0; color: rgba(255,255,255,.62); font-size: 9px; line-height: 1.6; }
.tghs-footer-inquiry form { position: relative; width: 100%; margin-top: 9px; }
.tghs-footer-inquiry label { display: block; }
.tghs-footer-inquiry label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.tghs-footer-inquiry input { width: 100%; border: 0; border-bottom: 1px solid rgba(255,255,255,.28); border-radius: 0; padding: 10px 34px 10px 0; background: transparent; color: #fff; font: 9px var(--tghs-sans); letter-spacing: .08em; }
.tghs-footer-inquiry input::placeholder { color: rgba(255,255,255,.5); }
.tghs-footer-inquiry button { position: absolute; right: 0; bottom: 5px; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff; }
.tghs-footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 64px; border-top: 1px solid rgba(255,255,255,.17); padding-top: 22px; color: rgba(255,255,255,.52); font-size: 8px; letter-spacing: .08em; }
.tghs-footer-bottom p { display: flex; gap: 24px; margin: 0; }

/* Motion */
.tghs-motion-enabled .tghs-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--delay,0ms); }
.tghs-motion-enabled .tghs-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } .tghs-reveal { opacity: 1 !important; transform: none !important; } }

@media (max-width: 1120px) {
	.tghs-container { width: min(100% - 56px, 1100px); }
	.tghs-product-grid { grid-template-columns: repeat(2,1fr); }
	.tghs-footer-columns { grid-template-columns: 1.2fr 1fr 1fr; }
	.tghs-footer-inquiry { grid-column: span 2; }
	.tghs-reason-grid { grid-template-columns: repeat(2,1fr); }
	.tghs-reason-grid article:nth-child(2) { border-right: 0; }
	.tghs-process-grid { grid-template-columns: repeat(4,1fr); row-gap: 36px; }
	.tghs-about-intro-grid { grid-template-columns: 1fr 1fr; }
	.tghs-about-trust-list { grid-column: 1/-1; grid-template-columns: repeat(3,1fr); }
	.tghs-about-trust-list article, .tghs-about-trust-list article:first-child { grid-template-columns: 44px 1fr; border-top: 1px solid var(--tghs-line); border-right: 1px solid var(--tghs-line); padding: 24px; }
	.tghs-about-trust-list article:last-child { border-right: 0; }
	.tghs-blog-tile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
	.admin-bar .tghs-header { top: 46px !important; }
	.admin-bar .tghs-header.is-scrolled { top: 0 !important; }
	.tghs-header,
	.tghs-header.is-scrolled,
	.tghs-header.menu-open { height: 70px; padding: 0 18px; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
	.tghs-header.menu-open { background: rgb(251,248,242) !important; border-color: rgba(103,43,53,.12) !important; box-shadow: 0 7px 28px rgba(55,20,25,.05) !important; }
	.tghs-brand { flex-basis: 100px; }
	.tghs-brand img { width: 98px; height: 54px; }
	.tghs-menu-toggle { display: block; }
	.tghs-header .tghs-nav { position: fixed !important; z-index: 1 !important; inset: 0 !important; height: 100dvh; display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 0; padding: 106px clamp(24px,8vw,52px) 36px; background: rgb(251,248,242); overflow-y: auto; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: translateY(-8px) !important; transition: opacity .25s, transform .25s, visibility .25s; }
	.tghs-header .tghs-nav.is-open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }
	body.tghs-menu-active { overflow: hidden !important; touch-action: none; }
	body.tghs-menu-active #tghs-main,
	body.tghs-menu-active .tghs-footer { visibility: hidden; }
	.tghs-nav > a { width: 100%; border-bottom: 1px solid var(--tghs-line); padding: 17px 0; color: var(--tghs-wine); font: 500 clamp(27px,8vw,38px)/1 var(--tghs-serif); letter-spacing: 0; }
	.tghs-nav > a::after { display: none; }
	.tghs-nav .tghs-nav-quote { margin-top: 22px; border: 1px solid var(--tghs-wine); padding: 15px 18px; font: 600 10px var(--tghs-sans); letter-spacing: .15em; text-align: center; }
	.tghs-container { width: min(100% - 34px, 720px); }
	.tghs-section { padding: 76px 0; }
	.tghs-page-hero { min-height: 540px; margin-top: 70px; background-position: 62% center; }
	.tghs-page-hero-copy { width: min(100% - 40px, 620px); text-align: center; }
	.tghs-page-hero-copy h1 { margin-inline: auto; font-size: clamp(48px,13vw,70px); }
	.tghs-page-hero-copy p { margin-inline: auto; }
	.tghs-section-heading { grid-template-columns: 32px 1fr; gap: 14px; margin-bottom: 40px; text-align: left; }
	.tghs-section-heading h2 { font-size: 45px; }
	.tghs-section-heading p { grid-column: 2; text-align: left; }
	.tghs-homepage .tghs-hero { min-height: 720px; height: 100svh; background-position: 67% center !important; }
	.tghs-homepage .tghs-hero-shade { background: linear-gradient(180deg, rgba(85,31,42,.3), rgba(85,31,42,.1) 42%, rgba(85,31,42,.82) 100%); }
	.tghs-homepage .tghs-hero-copy { top: auto !important; right: 24px !important; bottom: 88px !important; left: 24px !important; width: auto !important; transform: none !important; text-align: center; }
	.tghs-homepage .tghs-hero-copy .tghs-button { margin-inline: auto; }
	.tghs-catalog-layout { grid-template-columns: 1fr; gap: 38px; }
	.tghs-catalog-nav { position: static; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding: 0; border: 0; }
	.tghs-catalog-nav .tghs-kicker, .tghs-catalog-nav h2 { grid-column: 1/-1; text-align: center; }
	.tghs-catalog-nav h2 { margin-bottom: 18px; }
	.tghs-catalog-nav button { grid-template-columns: 22px 1fr; border: 1px solid var(--tghs-line); padding: 13px; }
	.tghs-catalog-nav button span { font-size: 17px; }
	.tghs-catalog-nav button i { display: none; }
	.tghs-catalog-toolbar { align-items: start; }
	.tghs-catalog-toolbar h2 { font-size: 38px; }
	.tghs-concept-grid, .tghs-pillar-grid { grid-template-columns: 1fr; }
	.tghs-about-collage span { right: -16px; }
	.tghs-concept-card { min-height: 310px; }
	.tghs-pillar-grid article, .tghs-pillar-grid article + article { border-right: 0; border-bottom: 1px solid var(--tghs-line); padding: 26px 0; text-align: center; }
	.tghs-process-grid { grid-template-columns: repeat(2,1fr); }
	.tghs-about-story-grid, .tghs-about-intro-grid, .tghs-contact-grid, .tghs-product-overview-grid, .tghs-product-detail-grid { grid-template-columns: 1fr; gap: 50px; }
	.tghs-about-trust-list { grid-column: auto; grid-template-columns: 1fr; }
	.tghs-about-trust-list article, .tghs-about-trust-list article:first-child { border-right: 0; padding-inline: 0; }
	.tghs-about-copy, .tghs-about-closing, .tghs-product-summary, .tghs-product-detail-grid > div { text-align: center; }
	.tghs-about-stats .tghs-stat-grid { grid-template-columns: repeat(2,1fr); }
	.tghs-service-strip .tghs-container, .tghs-benefit-grid { grid-template-columns: repeat(2,1fr); }
	.tghs-blog-layout, .tghs-blog-document-layout { grid-template-columns: 1fr; gap: 50px; }
	.tghs-blog-aside, .tghs-blog-document-aside, .tghs-article-body aside { position: static; }
	.tghs-blog-document-aside { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 24px; }
	.tghs-blog-document-aside > .tghs-kicker, .tghs-latest-posts, .tghs-blog-newsletter { grid-column: 1/-1; }
	.tghs-article-image { height: 420px; }
	.tghs-article-body { width: min(100% - 34px,720px); grid-template-columns: 1fr; gap: 40px; margin-block: 60px 80px; }
	.tghs-product-main-image { height: 520px; }
	.tghs-product-summary .tghs-button { margin-inline: auto; }
	.tghs-product-detail-grid figure { height: 480px; }
	.tghs-footer-columns { grid-template-columns: repeat(2,1fr); text-align: center; }
	.tghs-footer-columns > div:not(.tghs-footer-about) { align-items: center; }
	.tghs-footer-about, .tghs-footer-inquiry { grid-column: 1/-1; }
	.tghs-footer-brand img, .tghs-footer-about > p, .tghs-footer-about .tghs-socials { margin-inline: auto; }
	.tghs-footer-bottom { flex-direction: column; align-items: center; text-align: center; }
	.tghs-skip-link:not(:focus) { top: -200px !important; }
}

@media (max-width: 560px) {
	.tghs-page-hero { min-height: 500px; }
	.tghs-page-hero-copy h1 { font-size: 45px; }
	.tghs-product-grid { grid-template-columns: 1fr; }
	.tghs-product-image { aspect-ratio: 1.05/1; padding: 10%; }
	.tghs-catalog-nav { grid-template-columns: 1fr; }
	.tghs-catalog-nav .tghs-kicker, .tghs-catalog-nav h2 { grid-column: auto; }
	.tghs-concept-card { padding: 26px; text-align: center; }
	.tghs-concept-card svg { margin-block: 35px 30px; }
	.tghs-process-grid, .tghs-about-stats .tghs-stat-grid, .tghs-reason-grid, .tghs-service-strip .tghs-container, .tghs-benefit-grid { grid-template-columns: 1fr; }
	.tghs-reason-grid article, .tghs-reason-grid article:nth-child(2) { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--tghs-line); text-align: center; }
	.tghs-reason-grid h3 { margin-top: 50px; }
	.tghs-service-strip span { min-height: 76px; justify-content: center; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
	.tghs-contact-form { grid-template-columns: 1fr; }
	.tghs-contact-form .tghs-field-wide { grid-column: auto; }
	.tghs-contact-form .tghs-button { margin-inline: auto; }
	.tghs-blog-card > a { grid-template-columns: 1fr; gap: 24px; text-align: center; }
	.tghs-blog-document-aside { display: block; }
	.tghs-blog-tile-grid { grid-template-columns: 1fr; }
	.tghs-blog-tile > a > div { min-height: 280px; text-align: center; }
	.tghs-article-hero { padding: 92px 0 60px; }
	.tghs-article-hero h1 { font-size: 42px; }
	.tghs-article-image { height: 330px; }
	.tghs-product-overview { padding-block: 38px 76px; }
	.tghs-product-main-image { height: 420px; }
	.tghs-product-summary h1 { font-size: 58px; }
	.tghs-spec-grid { grid-template-columns: 1fr; }
	.tghs-product-detail-grid figure { height: 380px; }
	.tghs-footer-columns { grid-template-columns: 1fr; }
	.tghs-footer-columns > div, .tghs-footer-about, .tghs-footer-inquiry { grid-column: auto; }
	.tghs-footer-bottom p { flex-direction: column; gap: 10px; }
}
