@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500&display=swap');
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
@layer utilities{.col-span-1{grid-column:span 1 / span 1;}.col-start-1{grid-column-start:1;}.row-span-1{grid-row:span 1 / span 1;}.row-start-1{grid-row-start:1;}.row-start-2{grid-row-start:2;}.row-start-3{grid-row-start:3;}.m-0{margin:calc(var(--spacing) * 0);}.mx-auto{margin-inline:auto;}.my-4{margin-block:calc(var(--spacing) * 4);}.my-auto{margin-block:auto;}.ms-10{margin-inline-start:calc(var(--spacing) * 10);}.-mt-5{margin-top:calc(var(--spacing) * -5);}.-mt-6{margin-top:calc(var(--spacing) * -6);}.-mt-8{margin-top:calc(var(--spacing) * -8);}.mt-0{margin-top:calc(var(--spacing) * 0);}.mt-2{margin-top:calc(var(--spacing) * 2);}.mt-3{margin-top:calc(var(--spacing) * 3);}.mt-5{margin-top:calc(var(--spacing) * 5);}.mt-6{margin-top:calc(var(--spacing) * 6);}.mt-8{margin-top:calc(var(--spacing) * 8);}.mt-10{margin-top:calc(var(--spacing) * 10);}.mt-16{margin-top:calc(var(--spacing) * 16);}.mt-20{margin-top:calc(var(--spacing) * 20);}.mt-\[calc\(var\(--navbar-height\)\*-1\)\]{margin-top:calc(var(--navbar-height) * -1);}.mt-auto{margin-top:auto;}.mb-0{margin-bottom:calc(var(--spacing) * 0);}.mb-2{margin-bottom:calc(var(--spacing) * 2);}.mb-5{margin-bottom:calc(var(--spacing) * 5);}.mb-6{margin-bottom:calc(var(--spacing) * 6);}.mb-8{margin-bottom:calc(var(--spacing) * 8);}.mb-10{margin-bottom:calc(var(--spacing) * 10);}.mb-16{margin-bottom:calc(var(--spacing) * 16);}.mb-20{margin-bottom:calc(var(--spacing) * 20);}.ml-auto{margin-left:auto;}.block{display:block;}.contents{display:contents;}.flex{display:flex;}.grid{display:grid;}.hidden{display:none;}.inline{display:inline;}.inline-block{display:inline-block;}.inline-flex{display:inline-flex;}.aspect-1\/1{aspect-ratio:1;}.aspect-2\/1{aspect-ratio:2;}.aspect-3\/2{aspect-ratio:3/2;}.aspect-4\/3{aspect-ratio:4/3;}.aspect-16\/9{aspect-ratio:16/9;}.aspect-square{aspect-ratio:1;}.aspect-video{aspect-ratio:var(--aspect-video);}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16);}.h-0{height:calc(var(--spacing) * 0);}.h-3\/4{height:75%;}.h-6{height:calc(var(--spacing) * 6);}.h-11{height:calc(var(--spacing) * 11);}.h-\[100\%\]{height:100%;}.h-auto{height:auto;}.h-dvh{height:100dvh;}.h-full{height:100%;}.max-h-\[calc\(100vh-12rem\)\]{max-height:calc(100vh - 12rem);}.max-h-full{max-height:100%;}.min-h-0{min-height:calc(var(--spacing) * 0);}.min-h-8{min-height:calc(var(--spacing) * 8);}.min-h-11{min-height:calc(var(--spacing) * 11);}.min-h-80{min-height:calc(var(--spacing) * 80);}.min-h-\[300px\]{min-height:300px;}.min-h-\[600px\]{min-height:600px;}.\!w-auto{width:auto !important;}.w-6{width:calc(var(--spacing) * 6);}.w-11{width:calc(var(--spacing) * 11);}.w-\[60px\]{width:60px;}.w-fit{width:fit-content;}.w-full{width:100%;}.max-w-2xl{max-width:var(--container-2xl);}.max-w-3xl{max-width:var(--container-3xl);}.max-w-full{max-width:100%;}.min-w-0{min-width:calc(var(--spacing) * 0);}.min-w-8{min-width:calc(var(--spacing) * 8);}.flex-0{flex:0;}.flex-1{flex:1;}.flex-initial{flex:0 auto;}.shrink{flex-shrink:1;}.shrink-0{flex-shrink:0;}.grow{flex-grow:1;}.grow-0{flex-grow:0;}.basis-0{flex-basis:calc(var(--spacing) * 0);}.-translate-y-2{--tw-translate-y:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y);}.rotate-180{rotate:180deg;}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
      var(--tw-skew-x,) var(--tw-skew-y,);}.cursor-pointer{cursor:pointer;}.resize{resize:both;}.list-none{list-style-type:none;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-cols-\[1fr\]{grid-template-columns:1fr;}.grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto;}.flex-col{flex-direction:column;}.flex-col-reverse{flex-direction:column-reverse;}.flex-row{flex-direction:row;}.flex-row-reverse{flex-direction:row-reverse;}.flex-wrap{flex-wrap:wrap;}.items-baseline{align-items:baseline;}.items-center{align-items:center;}.items-end{align-items:flex-end;}.items-start{align-items:flex-start;}.items-stretch{align-items:stretch;}.justify-between{justify-content:space-between;}.justify-center{justify-content:center;}.justify-center-safe{justify-content:safe center;}.justify-end{justify-content:flex-end;}.justify-start{justify-content:flex-start;}.gap-1{gap:calc(var(--spacing) * 1);}.gap-2{gap:calc(var(--spacing) * 2);}.gap-3{gap:calc(var(--spacing) * 3);}.gap-4{gap:calc(var(--spacing) * 4);}.gap-6{gap:calc(var(--spacing) * 6);}.gap-8{gap:calc(var(--spacing) * 8);}.gap-16{gap:calc(var(--spacing) * 16);}.gap-\[2px\]{gap:2px;}.gap-x-2{column-gap:calc(var(--spacing) * 2);}.gap-x-6{column-gap:calc(var(--spacing) * 6);}.gap-x-8{column-gap:calc(var(--spacing) * 8);}.gap-y-4{row-gap:calc(var(--spacing) * 4);}.self-center{align-self:center;}.self-end{align-self:flex-end;}.self-start{align-self:flex-start;}.overflow-auto{overflow:auto;}.overflow-hidden{overflow:hidden;}.overflow-visible{overflow:visible;}.overflow-y-auto{overflow-y:auto;}.rounded{border-radius:0.25rem;}.rounded-\[20px\]{border-radius:20px;}.rounded-\[24px\]{border-radius:24px;}.rounded-full{border-radius:3.40282e38px;}.rounded-lg{border-radius:var(--radius);}.rounded-md{border-radius:calc(var(--radius) - 2px);}.rounded-none{border-radius:0;}.rounded-sm{border-radius:calc(var(--radius) - 4px);}.rounded-xl{border-radius:calc(var(--radius) + 4px);}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius);}.border{border-style:var(--tw-border-style);border-width:1px;}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px;}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;}.border-\[var\(--hgc-btn-border\)\]{border-color:var(--hgc-btn-border);}.border-accent{border-color:var(--accent);}.border-border{border-color:var(--border);}.border-foreground\/50{border-color:var(--foreground);}.border-input{border-color:var(--input);}.border-muted\/70{border-color:var(--muted);}.border-primary{border-color:var(--primary);}.border-secondary{border-color:var(--secondary);}.border-white{border-color:var(--color-white);}.bg-none{background-image:none;}.bg-clip-padding{background-clip:padding-box;}.object-cover{object-fit:cover;}.object-bottom{object-position:bottom;}.object-center{object-position:center;}.object-top{object-position:top;}.\!p-2{padding:calc(var(--spacing) * 2) !important;}.\!p-3{padding:calc(var(--spacing) * 3) !important;}.p-0{padding:calc(var(--spacing) * 0);}.p-1{padding:calc(var(--spacing) * 1);}.p-2{padding:calc(var(--spacing) * 2);}.p-4{padding:calc(var(--spacing) * 4);}.p-5{padding:calc(var(--spacing) * 5);}.p-6{padding:calc(var(--spacing) * 6);}.p-8{padding:calc(var(--spacing) * 8);}.p-10{padding:calc(var(--spacing) * 10);}.p-16{padding:calc(var(--spacing) * 16);}.p-32{padding:calc(var(--spacing) * 32);}.p-\[10\%\]{padding:10%;}.px-0{padding-inline:calc(var(--spacing) * 0);}.px-2{padding-inline:calc(var(--spacing) * 2);}.px-4{padding-inline:calc(var(--spacing) * 4);}.px-5{padding-inline:calc(var(--spacing) * 5);}.px-6{padding-inline:calc(var(--spacing) * 6);}.py-0{padding-block:calc(var(--spacing) * 0);}.py-1{padding-block:calc(var(--spacing) * 1);}.py-1\.5{padding-block:calc(var(--spacing) * 1.5);}.py-2{padding-block:calc(var(--spacing) * 2);}.py-2\.5{padding-block:calc(var(--spacing) * 2.5);}.py-3{padding-block:calc(var(--spacing) * 3);}.py-4{padding-block:calc(var(--spacing) * 4);}.py-10{padding-block:calc(var(--spacing) * 10);}.py-\[90px\]{padding-block:90px;}.ps-2{padding-inline-start:calc(var(--spacing) * 2);}.pe-2{padding-inline-end:calc(var(--spacing) * 2);}.pt-0{padding-top:calc(var(--spacing) * 0);}.pt-2{padding-top:calc(var(--spacing) * 2);}.pt-4{padding-top:calc(var(--spacing) * 4);}.pt-6{padding-top:calc(var(--spacing) * 6);}.pt-10{padding-top:calc(var(--spacing) * 10);}.pb-0{padding-bottom:calc(var(--spacing) * 0);}.pb-4{padding-bottom:calc(var(--spacing) * 4);}.pb-6{padding-bottom:calc(var(--spacing) * 6);}.pb-8{padding-bottom:calc(var(--spacing) * 8);}.pb-10{padding-bottom:calc(var(--spacing) * 10);}.text-center{text-align:center;}.text-end{text-align:end;}.text-left{text-align:left;}.text-right{text-align:right;}.text-start{text-align:start;}@media (hover:hover){.hover\:scale-103:hover{--tw-scale-x:103%;--tw-scale-y:103%;--tw-scale-z:103%;scale:var(--tw-scale-x) var(--tw-scale-y);}.hover\:scale-104:hover{--tw-scale-x:104%;--tw-scale-y:104%;--tw-scale-z:104%;scale:var(--tw-scale-x) var(--tw-scale-y);}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y);}.hover\:border-\[var\(--hgc-btn-border-hover\)\]:hover{border-color:var(--hgc-btn-border-hover);}.hover\:border-secondary-dark:hover{border-color:var(--secondary-dark);}.hover\:bg-\[var\(--hgc-btn-bg-hover\)\]:hover{background-color:var(--hgc-btn-bg-hover);}.hover\:bg-accent:hover{background-color:var(--accent);}.hover\:bg-accent-dark:hover{background-color:var(--accent-dark);}.hover\:bg-accent\/20:hover{background-color:var(--accent);}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/20:hover{background-color:color-mix(in oklab,var(--accent) 20%,transparent);}}.hover\:bg-blue-200:hover{background-color:var(--color-blue-200);}.hover\:bg-green-200:hover{background-color:var(--color-green-200);}.hover\:bg-muted:hover,.hover\:bg-muted\/20:hover{background-color:var(--muted);}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/20:hover{background-color:color-mix(in oklab,var(--muted) 20%,transparent);}}.hover\:bg-primary-dark:hover{background-color:var(--primary-dark);}.hover\:bg-primary\/20:hover{background-color:var(--primary);}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary) 20%,transparent);}}.hover\:bg-primary\/90:hover{background-color:var(--primary);}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent);}}.hover\:bg-red-200:hover{background-color:var(--color-red-200);}.hover\:bg-secondary-dark:hover{background-color:var(--secondary-dark);}.hover\:bg-secondary\/20:hover{background-color:var(--secondary);}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/20:hover{background-color:color-mix(in oklab,var(--secondary) 20%,transparent);}}.hover\:bg-white\/30:hover{background-color:#ffffff4d;}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white) 30%,transparent);}}.hover\:bg-white\/60:hover{background-color:#fff9;}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/60:hover{background-color:color-mix(in oklab,var(--color-white) 60%,transparent);}}.hover\:bg-yellow-200:hover{background-color:var(--color-yellow-200);}.hover\:text-\[var\(--hgc-btn-label-hover\)\]:hover{color:var(--hgc-btn-label-hover);}.hover\:text-blue-900:hover{color:var(--color-blue-900);}.hover\:text-foreground\/70:hover{color:var(--foreground);}@supports (color:color-mix(in lab,red,red)){.hover\:text-foreground\/70:hover{color:color-mix(in oklab,var(--foreground) 70%,transparent);}}.hover\:text-green-900:hover{color:var(--color-green-900);}.hover\:text-muted-foreground:hover{color:var(--muted-foreground);}.hover\:text-primary:hover{color:var(--primary);}.hover\:text-primary-light:hover{color:var(--primary-light);}.hover\:text-red-900:hover{color:var(--color-red-900);}.hover\:text-secondary-dark:hover{color:var(--secondary-dark);}.hover\:text-white:hover{color:var(--color-white);}.hover\:text-yellow-900:hover{color:var(--color-yellow-900);}.hover\:no-underline:hover{text-decoration-line:none;}.hover\:underline:hover{text-decoration-line:underline;}.hover\:decoration-1:hover{text-decoration-thickness:1px;}.hover\:underline-offset-2:hover{text-underline-offset:2px;}.hover\:underline-offset-3:hover{text-underline-offset:3px;}.hover\:opacity-60:hover{opacity:0.6;}.hover\:opacity-80:hover{opacity:0.8;}.hover\:opacity-90:hover{opacity:0.9;}.hover\:shadow-2xl:hover{--tw-shadow:var(--shadow-2xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);}}.focus\:border-\[var\(--hgc-btn-border-hover\)\]:focus{border-color:var(--hgc-btn-border-hover);}.focus\:bg-\[var\(--hgc-btn-bg-hover\)\]:focus{background-color:var(--hgc-btn-bg-hover);}.focus\:text-\[var\(--hgc-btn-label-hover\)\]:focus{color:var(--hgc-btn-label-hover);}.focus\:underline:focus{text-decoration-line:underline;}.focus-visible\:border-transparent:focus-visible{border-color:#0000;}.focus-visible\:bg-accent:focus-visible{background-color:var(--accent);}.focus-visible\:bg-accent-dark:focus-visible{background-color:var(--accent-dark);}.focus-visible\:bg-primary-dark:focus-visible{background-color:var(--primary-dark);}.focus-visible\:bg-secondary-dark:focus-visible{background-color:var(--secondary-dark);}.focus-visible\:bg-white\/30:focus-visible{background-color:#ffffff4d;}@supports (color:color-mix(in lab,red,red)){.focus-visible\:bg-white\/30:focus-visible{background-color:color-mix(in oklab,var(--color-white) 30%,transparent);}}.focus-visible\:text-primary:focus-visible{color:var(--primary);}.focus-visible\:text-secondary-dark:focus-visible{color:var(--secondary-dark);}.focus-visible\:text-white:focus-visible{color:var(--color-white);}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0
      calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px;}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;}.focus-visible\:outline-muted:focus-visible{outline-color:var(--muted);}.focus-visible\:outline-primary-light:focus-visible{outline-color:var(--primary-light);}.focus-visible\:outline-secondary:focus-visible{outline-color:var(--secondary);}.focus-visible\:outline-secondary-dark:focus-visible{outline-color:var(--secondary-dark);}.focus-visible\:outline-secondary-light:focus-visible{outline-color:var(--secondary-light);}.focus-visible\:outline-solid:focus-visible{--tw-outline-style:solid;outline-style:solid;}.active\:border-transparent:active{border-color:#0000;}.active\:bg-accent:active{background-color:var(--accent);}.active\:bg-primary:active{background-color:var(--primary);}.active\:bg-white:active{background-color:var(--color-white);}.active\:text-primary:active{color:var(--primary);}.active\:text-secondary:active{color:var(--secondary);}.active\:text-white:active{color:var(--color-white);}.active\:outline-1:active{outline-style:var(--tw-outline-style);outline-width:1px;}.active\:outline-accent-light:active{outline-color:var(--accent-light);}.active\:outline-muted:active{outline-color:var(--muted);}.active\:outline-primary-light:active{outline-color:var(--primary-light);}.active\:outline-secondary-dark:active{outline-color:var(--secondary-dark);}.active\:outline-secondary-light:active{outline-color:var(--secondary-light);}.active\:outline-solid:active{--tw-outline-style:solid;outline-style:solid;}.disabled\:pointer-events-none:disabled{pointer-events:none;}.disabled\:cursor-default:disabled{cursor:default;}.disabled\:border-\[var\(--hgc-btn-border-disabled\)\]:disabled{border-color:var(--hgc-btn-border-disabled);}.disabled\:bg-\[var\(--hgc-btn-bg-disabled\)\]:disabled{background-color:var(--hgc-btn-bg-disabled);}.disabled\:bg-muted:disabled{background-color:var(--muted);}.disabled\:text-\[var\(--hgc-btn-label-disabled\)\]:disabled{color:var(--hgc-btn-label-disabled);}.disabled\:text-muted-foreground:disabled{color:var(--muted-foreground);}:where(.accordion--animate) .in-\[\.accordion--animate\]\:duration-500{--tw-duration:0.5s;transition-duration:0.5s;}:where(.accordion--js.accordion--open)
    .in-\[\.accordion--js\.accordion--open\]\:h-\(--natural-height\){height:var(--natural-height);}:where(.accordion--js.accordion--open)
    .in-\[\.accordion--js\.accordion--open\]\:rotate-180{rotate:180deg;}:where(.accordion--open) .in-\[\.accordion--open\]\:overflow-visible{overflow:visible;}:where(.accordion--open) .in-\[\.accordion--open\]\:py-5{padding-block:calc(var(--spacing) * 5);}:where(.accordion--open:not(.accordion--js))
    .in-\[\.accordion--open\:not\(\.accordion--js\)\]\:h-auto,:where(.accordion--resizing.accordion--open)
    .in-\[\.accordion--resizing\.accordion--open\]\:h-auto{height:auto;}:where(.views-row) .in-\[\.views-row\]\:h-full{height:100%;}@media (min-width:40rem){.sm\:right-4{right:calc(var(--spacing) * 4);}.sm\:w-fit{width:fit-content;}.sm\:max-w-lg{max-width:var(--container-lg);}.sm\:columns-2{columns:2;}.sm\:columns-3{columns:3;}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.sm\:flex-row{flex-direction:row;}.sm\:p-0{padding:calc(var(--spacing) * 0);}}@media (min-width:48rem){.md\:relative{position:relative;}.md\:static{position:static;}.md\:mx-0{margin-inline:calc(var(--spacing) * 0);}.md\:ms-auto{margin-inline-start:auto;}.md\:mt-7{margin-top:calc(var(--spacing) * 7);}.md\:mt-8{margin-top:calc(var(--spacing) * 8);}.md\:mt-10{margin-top:calc(var(--spacing) * 10);}.md\:mt-13{margin-top:calc(var(--spacing) * 13);}.md\:mt-20{margin-top:calc(var(--spacing) * 20);}.md\:mt-24{margin-top:calc(var(--spacing) * 24);}.md\:mb-7{margin-bottom:calc(var(--spacing) * 7);}.md\:mb-8{margin-bottom:calc(var(--spacing) * 8);}.md\:mb-10{margin-bottom:calc(var(--spacing) * 10);}.md\:mb-13{margin-bottom:calc(var(--spacing) * 13);}.md\:mb-20{margin-bottom:calc(var(--spacing) * 20);}.md\:mb-24{margin-bottom:calc(var(--spacing) * 24);}.md\:flex{display:flex;}.md\:grid{display:grid;}.md\:hidden{display:none;}.md\:h-auto{height:auto;}.md\:min-h-\[80px\]{min-height:80px;}.md\:min-h-\[400px\]{min-height:400px;}.md\:min-h-auto{min-height:auto;}.md\:w-auto{width:auto;}.md\:w-xs{width:var(--container-xs);}.md\:max-w-\[375px\]{max-width:375px;}.md\:max-w-lg{max-width:var(--container-lg);}.md\:max-w-xl{max-width:var(--container-xl);}.md\:flex-1{flex:1;}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,3fr);}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr);}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);}.md\:grid-cols-\[minmax\(0\,3fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,3fr) minmax(0,1fr);}.md\:flex-row{flex-direction:row;}.md\:flex-row-reverse{flex-direction:row-reverse;}.md\:flex-nowrap{flex-wrap:nowrap;}.md\:items-center{align-items:center;}.md\:justify-center{justify-content:center;}.md\:justify-end{justify-content:flex-end;}.md\:justify-start{justify-content:flex-start;}.md\:gap-2{gap:calc(var(--spacing) * 2);}.md\:gap-3{gap:calc(var(--spacing) * 3);}.md\:gap-6{gap:calc(var(--spacing) * 6);}.md\:overflow-visible{overflow:visible;}.md\:rounded-2xl{border-radius:var(--radius-2xl);}.md\:rounded-\[32px\]{border-radius:32px;}.md\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius);}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0;}.md\:rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0;}.md\:bg-transparent{background-color:#0000;}.md\:p-0{padding:calc(var(--spacing) * 0);}.md\:p-6{padding:calc(var(--spacing) * 6);}.md\:p-8{padding:calc(var(--spacing) * 8);}.md\:px-3{padding-inline:calc(var(--spacing) * 3);}.md\:px-6{padding-inline:calc(var(--spacing) * 6);}.md\:px-10{padding-inline:calc(var(--spacing) * 10);}.md\:px-12{padding-inline:calc(var(--spacing) * 12);}.md\:py-4{padding-block:calc(var(--spacing) * 4);}.md\:pt-2{padding-top:calc(var(--spacing) * 2);}.md\:pt-6{padding-top:calc(var(--spacing) * 6);}.md\:pt-12{padding-top:calc(var(--spacing) * 12);}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0);}.md\:pb-2{padding-bottom:calc(var(--spacing) * 2);}.md\:pb-13{padding-bottom:calc(var(--spacing) * 13);}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height));}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height));}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));}.md\:text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height));}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}.md\:after\:content-none:after{content:var(--tw-content);--tw-content:none;content:none;}}@media (min-width:64rem){.lg\:mx-auto{margin-inline:auto;}.lg\:w-md{width:var(--container-md);}.lg\:max-w-1\/2{max-width:50%;}.lg\:max-w-2\/3{max-width:66.6667%;}.lg\:max-w-3\/4{max-width:75%;}.lg\:max-w-6\/10{max-width:60%;}.lg\:max-w-7\/10{max-width:70%;}.lg\:max-w-8\/10{max-width:80%;}.lg\:max-w-9\/10{max-width:90%;}.lg\:max-w-full{max-width:100%;}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.lg\:gap-1{gap:calc(var(--spacing) * 1);}.lg\:gap-8{gap:calc(var(--spacing) * 8);}.lg\:px-4{padding-inline:calc(var(--spacing) * 4);}.lg\:py-2{padding-block:calc(var(--spacing) * 2);}.lg\:py-\[115px\]{padding-block:115px;}.lg\:ps-4{padding-inline-start:calc(var(--spacing) * 4);}.lg\:pe-4{padding-inline-end:calc(var(--spacing) * 4);}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height));}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height));}.lg\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height));}.lg\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}}@media (min-width:80rem){.xl\:mt-8{margin-top:calc(var(--spacing) * 8);}.xl\:mt-10{margin-top:calc(var(--spacing) * 10);}.xl\:mt-12{margin-top:calc(var(--spacing) * 12);}.xl\:mt-16{margin-top:calc(var(--spacing) * 16);}.xl\:mt-24{margin-top:calc(var(--spacing) * 24);}.xl\:mt-32{margin-top:calc(var(--spacing) * 32);}.xl\:mb-8{margin-bottom:calc(var(--spacing) * 8);}.xl\:mb-10{margin-bottom:calc(var(--spacing) * 10);}.xl\:mb-12{margin-bottom:calc(var(--spacing) * 12);}.xl\:mb-16{margin-bottom:calc(var(--spacing) * 16);}.xl\:mb-24{margin-bottom:calc(var(--spacing) * 24);}.xl\:mb-32{margin-bottom:calc(var(--spacing) * 32);}.xl\:min-h-\[600px\]{min-height:600px;}.xl\:min-h-\[800px\]{min-height:800px;}.xl\:max-w-2xl{max-width:var(--container-2xl);}.xl\:max-w-xl{max-width:var(--container-xl);}.xl\:gap-7{gap:calc(var(--spacing) * 7);}.xl\:\!p-2\.5{padding:calc(var(--spacing) * 2.5) !important;}.xl\:\!p-3\.5{padding:calc(var(--spacing) * 3.5) !important;}.xl\:py-2\.5{padding-block:calc(var(--spacing) * 2.5);}.xl\:py-3{padding-block:calc(var(--spacing) * 3);}.xl\:py-3\.5{padding-block:calc(var(--spacing) * 3.5);}.xl\:py-\[140px\]{padding-block:140px;}.xl\:pt-16{padding-top:calc(var(--spacing) * 16);}.xl\:pb-16{padding-bottom:calc(var(--spacing) * 16);}.xl\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}.xl\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}.xl\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));}.xl\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));}.xl\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));}.xl\:text-md{font-size:var(--text-md);line-height:var(--tw-leading,var(--text-md--line-height));}.xl\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}}@media (min-width:96rem){.\32 xl\:p-8{padding:calc(var(--spacing) * 8);}.\32 xl\:pt-7{padding-top:calc(var(--spacing) * 7);}.\32 xl\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));}.\32 xl\:text-\[3\.15rem\]{font-size:3.15rem;}}@container (min-width:250px){.\@min-\[250px\]\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}}@container (min-width:350px){.\@min-\[350px\]\:p-6{padding:calc(var(--spacing) * 6);}.\@min-\[350px\]\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));}}@container (min-width:24rem){.\@sm\:gap-6{gap:calc(var(--spacing) * 6);}.\@sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}.\@sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));}}@container (min-width:28rem){.\@md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}}@container (min-width:42rem){.\@2xl\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}}@container (min-width:48rem){.\@3xl\:gap-8{gap:calc(var(--spacing) * 8);}}.\[\&_\.branding\]\:h-8 .branding{height:calc(var(--spacing) * 8);}.\[\&_\.cq-full\]\:mx-0 .cq-full{margin-inline:calc(var(--spacing) * 0);}.\[\&_\.cq-full\]\:w-full .cq-full{width:100%;}.\[\&_\.view-content\]\:grid .view-content{display:grid;}.\[\&_\.view-content\]\:w-full .view-content{width:100%;}.\[\&_\.view-content\]\:min-w-0 .view-content{min-width:calc(var(--spacing) * 0);}.\[\&_\.view-content\]\:gap-4 .view-content{gap:calc(var(--spacing) * 4);}@media (min-width:40rem){.\[\&_\.view-content\]\:sm\:grid-cols-2 .view-content{grid-template-columns:repeat(2,minmax(0,1fr));}.\[\&_\.view-content\]\:sm\:grid-cols-3 .view-content{grid-template-columns:repeat(3,minmax(0,1fr));}}@media (min-width:48rem){.\[\&_\.view-content\]\:md\:grid-cols-2 .view-content{grid-template-columns:repeat(2,minmax(0,1fr));}.\[\&_\.view-content\]\:md\:grid-cols-3 .view-content{grid-template-columns:repeat(3,minmax(0,1fr));}.\[\&_\.view-content\]\:md\:gap-6 .view-content{gap:calc(var(--spacing) * 6);}}@media (min-width:64rem){.\[\&_\.view-content\]\:lg\:grid-cols-4 .view-content{grid-template-columns:repeat(4,minmax(0,1fr));}.\[\&_\.view-content\]\:lg\:grid-cols-5 .view-content{grid-template-columns:repeat(5,minmax(0,1fr));}.\[\&_\.view-content\]\:lg\:grid-cols-6 .view-content{grid-template-columns:repeat(6,minmax(0,1fr));}}@media (min-width:80rem){.\[\&_\.view-content\]\:xl\:gap-8 .view-content{gap:calc(var(--spacing) * 8);}}.\[\&_a\]\:underline a{text-decoration-line:underline;}.\[\&_a\]\:underline-offset-2 a{text-underline-offset:2px;}.\[\&_a\]\:transition a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));}.\[\&_a\]\:duration-300 a{--tw-duration:0.3s;transition-duration:0.3s;}.\[\&_blockquote\]\:m-auto blockquote{margin:auto;}.\[\&_blockquote\]\:my-8 blockquote{margin-block:calc(var(--spacing) * 8);}.\[\&_blockquote\]\:max-w-3xl blockquote{max-width:var(--container-3xl);}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px;}.\[\&_blockquote\]\:border-border\/40 blockquote{border-color:var(--border);}@supports (color:color-mix(in lab,red,red)){.\[\&_blockquote\]\:border-border\/40 blockquote{border-color:color-mix(in oklab,var(--border) 40%,transparent);}}.\[\&_blockquote\]\:py-1\.5 blockquote{padding-block:calc(var(--spacing) * 1.5);}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:calc(var(--spacing) * 4);}.\[\&_blockquote\]\:text-xl blockquote{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}.\[\&_blockquote\]\:italic blockquote{font-style:italic;}@media (min-width:48rem){.\[\&_blockquote\]\:md\:text-2xl blockquote{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}}.\[\&_div\.align-center\]\:my-6 div.align-center{margin-block:calc(var(--spacing) * 6);}.\[\&_div\.align-center\]\:w-fit div.align-center{width:fit-content;}.\[\&_figcaption\]\:block figcaption{display:block;}.\[\&_figcaption\]\:pt-2 figcaption{padding-top:calc(var(--spacing) * 2);}.\[\&_figcaption\]\:pb-3 figcaption{padding-bottom:calc(var(--spacing) * 3);}.\[\&_figcaption\]\:text-sm figcaption{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));}.\[\&_figcaption\]\:opacity-80 figcaption{opacity:0.8;}@media (min-width:64rem){.\[\&_figcaption\]\:lg\:text-base figcaption{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));}}.\[\&_figure\]\:my-6 figure{margin-block:calc(var(--spacing) * 6);}.\[\&_figure\]\:w-fit figure{width:fit-content;}.\[\&_form\]\:flex form{display:flex;}.\[\&_form\]\:flex-row form{flex-direction:row;}.\[\&_form\]\:gap-\[1px\] form{gap:1px;}@media (min-width:48rem){.md\:\[\&_form\]\:items-end form{align-items:flex-end;}}.\[\&_h2\]\:mt-6 h2{margin-top:calc(var(--spacing) * 6);}.\[\&_h2\]\:mb-3 h2{margin-bottom:calc(var(--spacing) * 3);}.\[\&_h2\]\:text-2xl h2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}@media (min-width:64rem){.\[\&_h2\]\:lg\:text-3xl h2{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));}}.\[\&_h3\]\:mt-4 h3{margin-top:calc(var(--spacing) * 4);}.\[\&_h3\]\:mb-2 h3{margin-bottom:calc(var(--spacing) * 2);}.\[\&_h3\]\:text-xl h3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}@media (min-width:64rem){.\[\&_h3\]\:lg\:text-2xl h3{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));}}.\[\&_h4\]\:mt-3 h4{margin-top:calc(var(--spacing) * 3);}.\[\&_h4\]\:mb-1 h4{margin-bottom:calc(var(--spacing) * 1);}.\[\&_h4\]\:text-lg h4{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));}@media (min-width:64rem){.\[\&_h4\]\:lg\:text-xl h4{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));}}.\[\&_h5\]\:my-2 h5{margin-block:calc(var(--spacing) * 2);}.\[\&_h6\]\:my-1 h6{margin-block:calc(var(--spacing) * 1);}.\[\&_input\]\:bg-background input{background-color:var(--background);}.\[\&_input\:focus\]\:bg-primary-foreground input:focus{background-color:var(--primary-foreground);}.\[\&_input\[type\=\"email\"\]\]\:rounded-l-full input[type="email"] {
    border-top-left-radius: 3.40282e38px;
    border-bottom-left-radius: 3.40282e38px;
  }
  .\[\&_input\[type\=\"email\"\]\]\:border-none input[type="email"] {
    --tw-border-style: none;
    border-style: none;
  }
  .\[\&_input\[type\=\"email\"\]\]\:pl-4 input[type="email"] {
    padding-left: calc(var(--spacing) * 4);
  }
  .\[\&_input\[type\=\"submit\"\]\]\:rounded-l-none input[type="submit"] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .\[\&_input\[type\=\"submit\"\]\]\:bg-accent input[type="submit"] {
    background-color: var(--accent);
  }
  .\[\&_input\[type\=\"submit\"\]\]\:text-primary input[type="submit"] {
    color: var(--primary);
  }
  .\[\&_input\[type\=\"submit\"\]\:focus-visible\]\:bg-accent-dark
    input[type="submit"]:focus-visible,
  .\[\&_input\[type\=\"submit\"\]\:hover\]\:bg-accent-dark
    input[type="submit"]:hover {
    background-color: var(--accent-dark);
  }
  .\[\&_input\[type\=\"text\"\]\]\:rounded-l-full input[type="text"] {
    border-top-left-radius: 3.40282e38px;
    border-bottom-left-radius: 3.40282e38px;
  }
  .\[\&_input\[type\=\"text\"\]\]\:border-none input[type="text"] {
    --tw-border-style: none;
    border-style: none;
  }
  .\[\&_input\[type\=\"text\"\]\]\:pl-4 input[type="text"] {
    padding-left: calc(var(--spacing) * 4);
  }
  .\[\&_li\]\:mb-1 li {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .\[\&_li\]\:text-base li {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .\[\&_li\]\:text-lg li {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .\[\&_li\]\:text-xs li {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  @media (min-width: 48rem) {
    .\[\&_li\]\:md\:text-sm li {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  @media (min-width: 80rem) {
    .\[\&_li\]\:xl\:text-md li {
      font-size: var(--text-md);
      line-height: var(--tw-leading, var(--text-md--line-height));
    }
  }
  .\[\&_ol\]\:my-4 ol {
    margin-block: calc(var(--spacing) * 4);
  }
  .\[\&_ol\]\:list-decimal ol {
    list-style-type: decimal;
  }
  .\[\&_sup\]\:\!text-\[60\%\] sup {
    font-size: 60% !important;
  }
  .\[\&_svg\]\:me-1 svg {
    margin-inline-end: calc(var(--spacing) * 1);
  }
  .\[\&_table\]\:my-6 table {
    margin-block: calc(var(--spacing) * 6);
  }
  .\[\&_td\]\:p-3 td,
  .\[\&_th\]\:p-3 th {
    padding: calc(var(--spacing) * 3);
  }
  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .\[\&_tr\]\:border-b-border\/40 tr {
    border-bottom-color: var(--border);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_tr\]\:border-b-border\/40 tr {
      border-bottom-color: color-mix(in oklab, var(--border) 40%, transparent);
    }
  }
  .\[\&_ul\]\:my-0 ul {
    margin-block: calc(var(--spacing) * 0);
  }
  .\[\&_ul\]\:my-4 ul {
    margin-block: calc(var(--spacing) * 4);
  }
  .\[\&\>\*\]\:w-full > * {
    width: 100%;
  }
  .\[\&\>\*\]\:min-w-0 > * {
    min-width: calc(var(--spacing) * 0);
  }
  .\[\&\>\*\:first-child\]\:order-1 > :first-child {
    order: 1;
  }
  .\[\&\>\*\:first-child\]\:mt-0 > :first-child {
    margin-top: calc(var(--spacing) * 0);
  }
  @media (min-width: 48rem) {
    .md\:\[\&\>\*\:first-child\]\:-order-1 > :first-child {
      order: calc(1 * -1);
    }
  }
  .\[\&\>\*\:last-child\]\:-order-1 > :last-child {
    order: calc(1 * -1);
  }
  .\[\&\>\*\:last-child\]\:mb-0 > :last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }
  @media (min-width: 48rem) {
    .md\:\[\&\>\*\:last-child\]\:order-1 > :last-child {
      order: 1;
    }
  }
  .\[\&_blockquote\]\:\[\&\>\*\:last-child\]\:mb-0 blockquote > :last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .\[\&\>\:first-child\]\:mt-0 > :first-child {
    margin-top: calc(var(--spacing) * 0);
  }
  .\[\&\>\:last-child\]\:mb-0 > :last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .\[\&\>div\]\:flex > div {
    display: flex;
  }
  .\[\&\>div\]\:flex-col > div {
    flex-direction: column;
  }
  .\[\&\>div\]\:justify-center > div {
    justify-content: center;
  }
  .layout-content {
    z-index: 100;
    border-bottom-right-radius: var(--radius-3xl);
    border-bottom-left-radius: var(--radius-3xl);
    background-color: var(--background);
    position: relative;
    container-type: inline-size;
  }
  .region-content {
    width: 100%;
  }
  @media (min-width: 40rem) {
    .region-content {
      max-width: 40rem;
    }
  }
  @media (min-width: 48rem) {
    .region-content {
      max-width: 48rem;
    }
  }
  @media (min-width: 64rem) {
    .region-content {
      max-width: 64rem;
    }
  }
  @media (min-width: 80rem) {
    .region-content {
      max-width: 80rem;
    }
  }
  @media (min-width: 96rem) {
    .region-content {
      max-width: 96rem;
    }
  }
  .region-content {
    padding-inline: calc(var(--spacing) * 4);
    margin-inline: auto;
  }
  @media (min-width: 48rem) {
    .region-content {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .region-content {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .site-footer .branding img {
    filter: brightness(0) invert(92%) sepia(51%) saturate(793%)
      hue-rotate(329deg) brightness(105%) contrast(101%);
  }
  .cq-full {
    width: 100cqw;
    margin-inline: calc(50% - 50cqw);
  }
  .heading-responsive-8xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-8xl {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  @media (min-width: 80rem) {
    .heading-responsive-8xl {
      font-size: var(--text-8xl);
      line-height: var(--tw-leading, var(--text-8xl--line-height));
    }
  }
  .heading-responsive-7xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-7xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  @media (min-width: 80rem) {
    .heading-responsive-7xl {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .heading-responsive-6xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-6xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  @media (min-width: 80rem) {
    .heading-responsive-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .heading-responsive-5xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-5xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  @media (min-width: 80rem) {
    .heading-responsive-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .heading-responsive-4xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  @media (min-width: 80rem) {
    .heading-responsive-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .heading-responsive-3xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  @media (min-width: 80rem) {
    .heading-responsive-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .heading-responsive-2xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .heading-responsive-xl {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  @media (min-width: 48rem) {
    .heading-responsive-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }
}

/* ── 1. FONTS & TOKENS ─────────────────────────────────────────── */


:root {
  --ink: #1A1210;
  --cream: #FAF7F2;
  --sand: #F0E9DC;
  --linen: #E4D9C8;
  --sienna: #8B3A2A;
  --rust: #C0542C;
  --copper: #B87333;
  --sage: #5C7260;
  --charcoal: #2C2420;
  --muted: #7A6E68;
  --white: #FFFFFF;
  --border: rgba(26,18,16,.10);
  --radius: 6px;
  --nav-h: 72px;
  --container: 1380px;
}

/* ── 2. RESET ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--ink); overflow-x: hidden; line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
img.cover { width: 100%; height: 100%; object-fit: cover; }
a { text-decoration: none; }
ul { list-style: none; padding: 0; margin: 0; }
main { display: block; }

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--sand); }
::-webkit-scrollbar-thumb { background: var(--copper); border-radius: 2px; }

/* Accessibility */
:focus-visible { outline: 2px solid var(--rust); outline-offset: 2px; }
.visually-hidden { position: absolute; left: -9999px; }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--charcoal); color: #fff; padding: .6rem 1rem; z-index: 999; }
.skip-link:focus { left: 0; }

/* ── 3. LAYOUT ─────────────────────────────────────────────────── */
.layout-container { max-width: var(--container); margin: 0 auto; }
.fabrixe-section { padding: 7rem 8vw; }

.layout-sidebar-content { display: grid; gap: 3rem; }
@media(min-width:900px) {
  .has-sidebar-first  { grid-template-columns: 280px 1fr; }
  .has-sidebar-second { grid-template-columns: 1fr 280px; }
}

/* ── 4. TYPOGRAPHY ─────────────────────────────────────────────── */
.section-tag {
  display: inline-flex; align-items: center; gap: .7rem;
  font-size: .65rem; letter-spacing: .22em; text-transform: uppercase;
  font-weight: 500; color: var(--rust); margin-bottom: 1.2rem;
}
.section-tag::before { content: ''; display: inline-block; width: 2rem; height: 1.5px; background: var(--rust); }
.section-h2 { font-family: 'Playfair Display', serif; font-size: clamp(2rem,3.5vw,3rem); font-weight: 700; line-height: 1.15; color: var(--charcoal); }
.section-h2 em { font-style: italic; color: var(--rust); }
.section-lead { font-size: .96rem; color: var(--muted); line-height: 1.85; font-weight: 300; max-width: 52ch; }

/* ── 5. BUTTONS ────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .62rem 1.5rem; font-family: 'DM Sans', sans-serif; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; cursor: pointer; transition: all .28s; border: none; text-decoration: none; }
.btn-dark    { background: var(--charcoal); color: var(--cream); }
.btn-dark:hover { background: var(--rust); transform: translateY(-1px); }
.btn-outline { background: transparent; border: 1px solid var(--ink); color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--cream); }
.btn-white   { background: var(--white); color: var(--charcoal); }
.btn-white:hover { background: var(--sand); }
.btn-rust    { background: var(--rust); color: var(--white); }
.btn-rust:hover { background: var(--sienna); transform: translateY(-1px); }

/* ── 6. NAVIGATION ─────────────────────────────────────────────── */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 200; height: var(--nav-h); display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; background: rgba(250,247,242,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--border); transition: box-shadow .3s; }
.site-header.scrolled { box-shadow: 0 2px 24px rgba(26,18,16,.08); }
.site-logo { font-family: 'Playfair Display', serif; font-size: 1.55rem; font-weight: 700; letter-spacing: .04em; color: var(--charcoal); text-decoration: none; }
.site-logo span { color: var(--rust); font-style: italic; }
.nav-center-wrap nav ul,
.nav-center-wrap > ul { display: flex; gap: 2.4rem; list-style: none; margin: 0; padding: 0; }
.nav-center-wrap a { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: var(--muted); text-decoration: none; transition: color .25s; }
.nav-center-wrap a:hover,
.nav-center-wrap a.is-active { color: var(--rust); }
.nav-right { display: flex; align-items: center; gap: 1rem; }
.nav-domain { font-size: .72rem; letter-spacing: .08em; color: var(--muted); border: 1px solid var(--border); padding: .3rem .8rem; border-radius: 99px; text-decoration: none; transition: all .25s; }
.nav-domain:hover { border-color: var(--rust); color: var(--rust); }
.nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; }
.nav-burger span { display: block; width: 24px; height: 1.5px; background: var(--charcoal); transition: all .3s; }
.nav-burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── 7. HERO ───────────────────────────────────────────────────── */
.hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 0 8vw 8vh; margin-top: var(--nav-h); overflow: hidden; }
.hero-bg { position: absolute; inset: 0; z-index: 0; background: var(--charcoal); }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top,rgba(26,18,16,.85) 0%,rgba(26,18,16,.2) 60%,transparent 100%); }
.hero-content { position: relative; z-index: 1; max-width: 780px; }
.hero-badge { display: inline-flex; align-items: center; gap: .6rem; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 1.6rem; }
.hero-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--copper); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }
.hero-h1 { font-family: 'Playfair Display', serif; font-size: clamp(2.8rem,6vw,6rem); font-weight: 700; line-height: 1.06; color: var(--white); margin-bottom: 1.6rem; }
.hero-h1 em { font-style: italic; color: var(--copper); }
.hero-sub { font-size: 1rem; line-height: 1.8; color: rgba(255,255,255,.75); max-width: 52ch; margin-bottom: 2.5rem; font-weight: 300; }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; align-items: center; }
.hero-scroll { position: absolute; bottom: 2.5rem; right: 8vw; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .5rem; color: rgba(255,255,255,.5); font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; }
.hero-scroll-line { width: 1px; height: 50px; background: rgba(255,255,255,.3); animation: scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }
.hero-stats-bar { position: relative; z-index: 1; display: flex; border-top: 1px solid rgba(255,255,255,.15); margin-top: 4rem; padding-top: 2rem; }
.hero-stat { flex: 1; padding-right: 2rem; border-right: 1px solid rgba(255,255,255,.12); }
.hero-stat:last-child { border-right: none; padding-right: 0; }
.hero-stat:not(:first-child) { padding-left: 2rem; }
.hstat-num { font-family: 'Playfair Display', serif; font-size: 2.2rem; font-weight: 700; color: var(--copper); line-height: 1; }
.hstat-label { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: .4rem; }

/* ── 8. TICKER ─────────────────────────────────────────────────── */
.ticker { background: var(--charcoal); padding: .8rem 0; overflow: hidden; }
.ticker-inner { display: flex; width: max-content; animation: ticker 35s linear infinite; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(232,217,200,.6); white-space: nowrap; padding: 0 2.5rem; display: flex; align-items: center; gap: 2rem; }
.ticker-sep { color: var(--copper); font-size: .5rem; }

/* ── 9. TRUST BAR ──────────────────────────────────────────────── */
.trust-bar { background: var(--sand); padding: 2.5rem 8vw; }
.trust-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.trust-label { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.trust-logos { display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; }
.trust-logo { font-family: 'Playfair Display', serif; font-size: 1rem; font-weight: 700; color: var(--charcoal); letter-spacing: .08em; opacity: .35; transition: opacity .25s; }
.trust-logo:hover { opacity: .7; }

/* ── 10. ABOUT ─────────────────────────────────────────────────── */
.about-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.about-img-stack { position: relative; height: 560px; }
.about-img-main { position: absolute; right: 0; top: 0; bottom: 0; left: 4rem; border-radius: var(--radius); overflow: hidden; }
.about-img-main img, .about-img-accent img { width: 100%; height: 100%; object-fit: cover; }
.about-img-accent { position: absolute; left: 0; bottom: 3rem; width: 55%; height: 220px; border-radius: var(--radius); overflow: hidden; border: 4px solid var(--cream); box-shadow: 0 8px 40px rgba(26,18,16,.18); }
.about-badge { position: absolute; top: 2rem; right: -1rem; z-index: 2; background: var(--rust); color: #fff; padding: 1.2rem 1.5rem; border-radius: var(--radius); text-align: center; box-shadow: 0 8px 32px rgba(192,84,44,.35); }
.about-badge-num { font-family: 'Playfair Display', serif; font-size: 2.4rem; font-weight: 700; line-height: 1; display: block; }
.about-badge-label { font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; opacity: .85; margin-top: .3rem; }
.about-text p { font-size: .94rem; line-height: 1.9; color: var(--muted); font-weight: 300; margin-bottom: 1.1rem; }
.about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.about-feat { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; background: var(--sand); border-radius: var(--radius); }
.about-feat-icon { width: 36px; height: 36px; border-radius: 50%; background: var(--rust); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: .9rem; }
.about-feat-label { font-size: .82rem; font-weight: 500; color: var(--charcoal); line-height: 1.4; }
.about-feat-sub { font-size: .75rem; color: var(--muted); margin-top: .15rem; }

/* ── 11. FABRIC CARDS ──────────────────────────────────────────── */
.fabrics-section { background: var(--sand); }
.fabrics-top { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 3.5rem; flex-wrap: wrap; gap: 1.5rem; }

/* Grid — applies to both static markup and Views-rendered ul wrapper */
ul.fabrics-grid,
.view--fabric-types ul,
.view--fabric-types .item-list > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.view--fabric-types .views-row { display: contents; }

.fabric-card { border-radius: var(--radius); overflow: hidden; background: var(--linen); position: relative; cursor: pointer; transition: transform .35s, box-shadow .35s; }
.fabric-card:hover { transform: translateY(-5px); box-shadow: 0 20px 60px rgba(26,18,16,.15); }
.fabric-card.tall { grid-row: span 2; }
.fabric-img { position: relative; overflow: hidden; height: 240px; }
.fabric-card.tall .fabric-img { height: 520px; }
.fabric-card:not(.tall) .fabric-img { height: 240px; }
.fabric-img img {  position: absolute;  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .5s; }
.fabric-card:hover .fabric-img img { transform: scale(1.05); }
.fabric-overlay { position: absolute; inset: 0; background: linear-gradient(to top,rgba(26,18,16,.75) 0%,rgba(26,18,16,.1) 60%,transparent 100%); opacity: 0; transition: opacity .35s; }
.fabric-card:hover .fabric-overlay { opacity: 1; }
.fabric-body { padding: 1.25rem 1.5rem; }
.fabric-cat { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--rust); font-weight: 500; margin-bottom: .4rem; }
.fabric-name { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 600; color: var(--charcoal); margin-bottom: .4rem; }
.fabric-name a { color: inherit; }
.fabric-name a:hover { color: var(--rust); }
.fabric-desc, .fabric-desc p { font-size: .8rem; color: var(--muted); line-height: 1.65; }
.fabric-meta { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .8rem; }
.fabric-tag { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; padding: .25rem .65rem; background: var(--linen); color: var(--muted); border-radius: 99px; border: 1px solid var(--border); }
.fabric-hover-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.5rem; color: #fff; transform: translateY(10px); opacity: 0; transition: all .35s; z-index: 2; }
.fabric-card:hover .fabric-hover-info { transform: translateY(0); opacity: 1; }
.fabric-hover-info h4 { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 600; margin-bottom: .4rem; }
.fabric-hover-info p, .fabric-hover-info p * { font-size: .78rem; opacity: .8; line-height: 1.6; }

/* Fabric Type — full detail page */
.fabric-type-full { margin-top: var(--nav-h); }
.fabric-detail-hero { position: relative; height: 55vh; min-height: 380px; overflow: hidden; background: var(--charcoal); }
.fabric-detail-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top,rgba(26,18,16,.7) 0%,transparent 60%); }
.fabric-detail-image { position: absolute; inset: 0; }
.fabric-detail-image img { width: 100%; height: 100%; object-fit: cover; opacity: .6; }
.fabric-detail-intro { position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; padding: 3rem 8vw; }
.fabric-detail-intro .section-tag { color: rgba(255,255,255,.7); }
.fabric-detail-intro .section-tag::before { background: rgba(255,255,255,.7); }
.fabric-detail-intro .section-h2 { color: #fff; margin-bottom: 1rem; }
.fabric-detail-body { padding: 4rem 8vw 5rem; }

/* ── 12. PROCESS ───────────────────────────────────────────────── */
.process-section { background: var(--charcoal); color: #fff; }
.process-section .section-h2 { color: #fff; }
.process-section .section-tag { color: var(--copper); }
.process-section .section-tag::before { background: var(--copper); }
.process-section .section-lead { color: rgba(255,255,255,.55); }
.process-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-top: 4rem; position: relative; }
.process-steps::before { content: ''; position: absolute; top: 2.5rem; left: 8%; right: 8%; height: 1px; background: linear-gradient(90deg,transparent,rgba(184,115,51,.5),rgba(184,115,51,.5),transparent); }
.process-step { padding: 2.5rem 2rem; border-right: 1px solid rgba(255,255,255,.07); position: relative; text-align: center; }
.process-step:last-child { border-right: none; }
.process-icon-wrap { width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--copper); display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; font-size: 1.2rem; background: rgba(184,115,51,.08); position: relative; z-index: 1; }
.process-num-small { position: absolute; top: -10px; right: -10px; width: 22px; height: 22px; border-radius: 50%; background: var(--rust); color: #fff; font-size: .6rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.process-title { font-family: 'Playfair Display', serif; font-size: 1.05rem; font-weight: 600; margin-bottom: .75rem; color: #fff; }
.process-body { font-size: .8rem; line-height: 1.75; color: rgba(255,255,255,.55); font-weight: 300; }

/* ── 13. MATERIALS ─────────────────────────────────────────────── */
.materials-section { background: var(--cream); }
.materials-grid { display: grid; grid-template-columns: 5fr 4fr; gap: 4rem; align-items: start; margin-top: 4rem; }
.material-tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.mat-tab { padding: .45rem 1.1rem; border-radius: 99px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; border: 1px solid var(--border); background: transparent; color: var(--muted); cursor: pointer; transition: all .25s; }
.mat-tab.active, .mat-tab:hover { background: var(--rust); color: #fff; border-color: var(--rust); }
.mat-image { border-radius: var(--radius); overflow: hidden; height: 380px; }
.mat-image img { width: 100%; height: 100%; object-fit: cover; transition: opacity .3s; }
.mat-panel { display: none; animation: fadeIn .4s both; }
.mat-panel.active { display: block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.mat-name { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 700; color: var(--charcoal); margin-bottom: .6rem; }
.mat-origin { font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; color: var(--copper); margin-bottom: 1.2rem; }
.mat-body { font-size: .9rem; line-height: 1.85; color: var(--muted); font-weight: 300; margin-bottom: 1.5rem; }
.mat-props { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.mat-prop { font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; padding: .35rem .9rem; border: 1px solid var(--copper); color: var(--copper); border-radius: 99px; }
.mat-bar-row { margin-bottom: .8rem; }
.mat-bar-label { display: flex; justify-content: space-between; font-size: .72rem; color: var(--muted); margin-bottom: .35rem; }
.mat-bar-track { height: 4px; background: var(--linen); border-radius: 2px; overflow: hidden; }
.mat-bar-fill { height: 100%; background: var(--rust); border-radius: 2px; transition: width .6s .2s; }
.mat-stat-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.mat-stat-box { text-align: center; padding: .8rem; background: var(--sand); border-radius: var(--radius); }
.mat-stat-val { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: var(--rust); line-height: 1; }
.mat-stat-key { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: .3rem; }

/* ── 14. SUSTAINABILITY SECTION ────────────────────────────────── */
.sustain-section { position: relative; overflow: hidden; background: var(--sage); color: #fff; }
.sustain-bg { position: absolute; inset: 0; z-index: 0; opacity: .18; }
.sustain-bg img { width: 100%; height: 100%; object-fit: cover; }
.sustain-content { position: relative; z-index: 1; }
.sustain-section .section-tag { color: rgba(255,255,255,.8); }
.sustain-section .section-tag::before { background: rgba(255,255,255,.8); }
.sustain-section .section-h2 { color: #fff; }
.sustain-section .section-lead { color: rgba(255,255,255,.75); }
.sustain-header { max-width: 660px; margin-bottom: 3.5rem; }

/* Grid — applies to both static markup and Views-rendered ul */
ul.sustain-grid,
.view--sustainable-textiles ul,
.view--sustainable-textiles .item-list > ul {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.view--sustainable-textiles .views-row { display: contents; }

/* Sustainability card */
.sustain-card { background: rgba(255,255,255,.1); padding: 2.5rem 2rem; transition: background .3s, transform .3s; border-top: 2px solid rgba(255,255,255,.15); }
.sustain-card:hover { background: rgba(255,255,255,.18); transform: translateY(-3px); }
.sustain-card-num { font-family: 'Playfair Display', serif; font-size: 3rem; font-weight: 700; color: rgba(255,255,255,.12); line-height: 1; margin-bottom: 1rem; }
.sustain-card-icon { font-size: 1.5rem; margin-bottom: 1.2rem; display: block; }
.sustain-card-h3 { font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 600; margin-bottom: .8rem; color: #fff; }
.sustain-card-h3 a { color: inherit; }
.sustain-card-h3 a:hover { opacity: .85; text-decoration: underline; }
.sustain-card-p, .sustain-card-p p { font-size: .84rem; line-height: 1.8; opacity: .82; font-weight: 300; }
/* Stat block — shows field_sustain_stat + label */
.sustain-card-stat { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.15); }
.sustain-stat-value { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: var(--copper); line-height: 1; }
.sustain-stat-label { font-size: .72rem; letter-spacing: .08em; opacity: .7; }
/* Read-more link */
.sustain-card-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.2rem; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.6); text-decoration: none; transition: color .25s, gap .25s; }
.sustain-card-link:hover { color: #fff; gap: .7rem; }

/* Sustainability full detail page */
.sustainable-textile-full { margin-top: var(--nav-h); }
.sustain-detail-hero { background: var(--sage); padding: 5rem 8vw 4rem; display: grid; grid-template-columns: 80px 1fr auto; gap: 2rem; align-items: center; position: relative; overflow: hidden; }
.sustain-detail-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(44,36,32,.4) 0%,transparent 60%); }
.sustain-detail-icon { font-size: 3.5rem; position: relative; z-index: 1; line-height: 1; }
.sustain-detail-meta { position: relative; z-index: 1; }
.sustain-detail-meta .section-tag { color: rgba(255,255,255,.7); margin-bottom: .6rem; }
.sustain-detail-meta .section-tag::before { background: rgba(255,255,255,.7); }
.sustain-detail-title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 700; color: #fff; line-height: 1.15; }
.sustain-detail-stat-box { position: relative; z-index: 1; background: rgba(255,255,255,.12); padding: 1.2rem 1.8rem; border-radius: var(--radius); text-align: center; flex-shrink: 0; border: 1px solid rgba(255,255,255,.2); }
.sustain-detail-stat-box .sustain-stat-value { font-size: 2rem; display: block; }
.sustain-detail-stat-box .sustain-stat-label { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; opacity: .75; display: block; margin-top: .3rem; }
.sustain-detail-body { padding: 4rem 8vw 5rem; }
.sustain-detail-body .node__content { max-width: 72ch; }
.sustain-detail-body .node__content p { font-size: .96rem; line-height: 1.85; color: var(--muted); margin-bottom: 1.2rem; }

/* ── 15. GLOSSARY ──────────────────────────────────────────────── */
.glossary-section { background: var(--sand); }
/* IMPORTANT: clear float/grid after glossary so following sections are isolated */
.glossary-section::after { content: ''; display: block; clear: both; }
.glossary-search { display: flex; max-width: 400px; margin: 2.5rem 0 3rem; border: 1.5px solid var(--border); border-radius: var(--radius); overflow: hidden; background: #fff; }
.glossary-input { flex: 1; padding: .8rem 1.2rem; font-family: 'DM Sans', sans-serif; font-size: .85rem; border: none; background: transparent; color: var(--ink); outline: none; }
.glossary-btn { padding: .8rem 1.2rem; background: var(--rust); border: none; color: #fff; cursor: pointer; font-size: .85rem; transition: background .25s; }
.glossary-btn:hover { background: var(--sienna); }

/* Grid — static and Views-rendered */
ul.glossary-grid,
.view--glossary-terms ul,
.view--glossary-terms .item-list > ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  gap: 1px;
  background: var(--border);
  list-style: none;
  padding: 0;
  margin: 0;
}
.view--glossary-terms .views-row { display: contents; }

.glossary-card { background: #fff; padding: 1.8rem; transition: background .25s; }
.glossary-card:hover { background: var(--cream); }
.glossary-letter { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--rust); font-weight: 500; margin-bottom: .5rem; display: block; }
.glossary-term { font-family: 'Playfair Display', serif; font-size: 1.15rem; font-weight: 600; color: var(--charcoal); margin-bottom: .6rem; }
.glossary-term a { color: inherit; }
.glossary-term a:hover { color: var(--rust); }
.glossary-def, .glossary-def p { font-size: .83rem; line-height: 1.75; color: var(--muted); }

/* Glossary full term detail page */
.glossary-term-full { padding: 9rem 8vw 5rem; }

/* ── 16. EXPOSED FORM (Views search) ───────────────────────────── */
.views-exposed-form .form-item { display: flex; max-width: 400px; border: 1.5px solid var(--border); border-radius: var(--radius); overflow: hidden; background: #fff; margin-bottom: 2rem; }
.views-exposed-form input[type="text"],
.views-exposed-form input[type="search"] { flex: 1; padding: .8rem 1.2rem; border: none; font-family: 'DM Sans', sans-serif; font-size: .85rem; color: var(--ink); outline: none; background: transparent; }
.views-exposed-form .form-actions { margin: 0; }
.views-exposed-form input[type="submit"] { padding: .8rem 1.2rem; background: var(--rust); border: none; color: #fff; cursor: pointer; font-family: 'DM Sans', sans-serif; font-size: .85rem; transition: background .25s; }
.views-exposed-form input[type="submit"]:hover { background: var(--sienna); }
.views-exposed-form a.reset { display: inline-block; margin-top: .8rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); text-decoration: underline; }

/* ── 17. DRUPAL DEFAULT BLOCKS (Our latest insights / Our focus / promoted views)
   FIX: These blocks appear in the content region on the front page from
   Drupal's Standard profile or demo content. We style them to match the
   Fabrixe design system instead of showing unstyled Drupal markup.
   ─────────────────────────────────────────────────────────────────── */

/* Generic Drupal block wrapper reset */
.block { margin-bottom: 0; }
.block h2.block-title,
.block h2.block__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--charcoal);
  margin-bottom: 1.2rem;
}

/* Views element container */
.views-element-container { width: 100%; }

/* Promoted / front-page default views (Recent content, Promoted content, etc.) */
.block-views,
.block-views-blockfrontpage-block-1,
.block-views-promoted-items,
[class*="block-views"] {
  padding: 5rem 8vw;
  background: var(--cream);
}
.block-views h2,
.block-views .block-title,
[class*="block-views"] h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 2.5vw, 2.4rem);
  font-weight: 700;
  color: var(--charcoal);
  margin-bottom: .6rem;
}
.block-views .section-tag,
[class*="block-views"] .section-tag { display: inline-flex; }

/* View rows inside default promoted content blocks */
.view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}
.view-content .views-row { }
.view-content article.node--type-article,
.view-content article.node--view-mode-teaser {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
}
.view-content article:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(26,18,16,.1); }
.view-content .node__title { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 600; color: var(--charcoal); padding: 1.2rem 1.4rem .4rem; }
.view-content .node__title a { color: inherit; }
.view-content .node__title a:hover { color: var(--rust); }
.view-content .node__content,
.view-content .field--name-body { padding: 0 1.4rem 1.4rem; font-size: .84rem; color: var(--muted); line-height: 1.7; }

/* "Our latest insights" — common title from promoted content blocks */
.block--views-blockfrontpage-block-1,
.block--system-main-block,
.view-id-frontpage { }

/* "Our focus" — often a custom block or paragraph block */
.block--block-content,
.block--system-powered-by-block { }

/* Hide Drupal "Powered by" block if it slips through */
.block--system-powered-by-block { display: none; }

/* Content region on front page — isolate and style cleanly */
.fabrixe-front-content-region {
  background: var(--cream);
  padding: 5rem 8vw;
  border-top: 1px solid var(--border);
}
.fabrixe-front-content-region > .block + .block { margin-top: 4rem; border-top: 1px solid var(--border); padding-top: 4rem; }

/* Ensure each block section has clean visual separation */
.fabrixe-front-content-region .block-title-wrap {
  margin-bottom: 2rem;
}
.fabrixe-front-content-region .block-title-wrap .section-tag { display: inline-flex; margin-bottom: .8rem; }
.fabrixe-front-content-region h2.block__title {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  color: var(--charcoal);
  margin-bottom: 1.5rem;
}

/* ── 18. NEWSLETTER / CTA ──────────────────────────────────────── */
.cta-section { position: relative; min-height: 400px; display: flex; align-items: center; overflow: hidden; padding: 7rem 8vw; }
.cta-bg { position: absolute; inset: 0; z-index: 0; }
.cta-bg img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.45); }
.cta-content { position: relative; z-index: 1; max-width: 600px; color: #fff; margin: 0 auto; text-align: center; }
.cta-content .section-h2 { color: #fff; font-size: 2.6rem; }
.cta-content p { font-size: .96rem; color: rgba(255,255,255,.75); margin: 1.2rem 0 2.5rem; font-weight: 300; line-height: 1.8; }
.cta-form { display: flex; max-width: 420px; margin: 0 auto; }
.cta-input { flex: 1; padding: 1rem 1.4rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); border-right: none; color: #fff; font-family: 'DM Sans', sans-serif; font-size: .85rem; outline: none; }
.cta-input::placeholder { color: rgba(255,255,255,.5); }
.cta-input:focus { background: rgba(255,255,255,.2); }
.cta-note { font-size: .72rem; color: rgba(255,255,255,.4); margin-top: 1rem; }

/* ── 19. FOOTER ────────────────────────────────────────────────── */
.site-footer { background: var(--charcoal); color: rgba(232,217,200,.75); }
.footer-top { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1fr; gap: 4rem; padding: 5rem 8vw 4rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-logo-text { font-family: 'Playfair Display', serif; font-size: 1.7rem; font-weight: 700; letter-spacing: .04em; color: #fff; margin-bottom: .8rem; display: block; text-decoration: none; }
.footer-logo-text span { color: var(--copper); font-style: italic; }
.footer-tagline { font-size: .83rem; line-height: 1.8; max-width: 30ch; margin-bottom: 1.5rem; }
.footer-domain { display: inline-flex; align-items: center; gap: .5rem; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--copper); border: 1px solid rgba(184,115,51,.4); padding: .4rem 1rem; border-radius: 99px; text-decoration: none; transition: all .25s; }
.footer-domain:hover { border-color: var(--copper); color: #fff; }
.footer-col-h { font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: var(--copper); margin-bottom: 1.3rem; font-weight: 500; }
.footer-menu ul, .footer-links { list-style: none; display: flex; flex-direction: column; gap: .7rem; margin: 0; padding: 0; }
.footer-menu ul a, .footer-links a { font-size: .83rem; color: rgba(232,217,200,.6); text-decoration: none; transition: color .25s; }
.footer-menu ul a:hover, .footer-links a:hover { color: var(--cream); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 8vw; font-size: .72rem; color: rgba(232,217,200,.35); flex-wrap: wrap; gap: 1rem; }
.footer-bottom-links { display: flex; gap: 1.5rem; }
.footer-bottom-links a { color: inherit; text-decoration: none; transition: color .25s; }
.footer-bottom-links a:hover { color: rgba(232,217,200,.7); }

/* ── 20. DRUPAL UI ─────────────────────────────────────────────── */
.messages--status  { background:#d4edda; border-left:4px solid #28a745; padding:1rem 1.5rem; border-radius:var(--radius); margin:1rem 8vw; }
.messages--warning { background:#fff3cd; border-left:4px solid var(--copper); padding:1rem 1.5rem; border-radius:var(--radius); margin:1rem 8vw; }
.messages--error   { background:#f8d7da; border-left:4px solid var(--rust); padding:1rem 1.5rem; border-radius:var(--radius); margin:1rem 8vw; }
.breadcrumb { font-size:.78rem; color:var(--muted); padding:.8rem 8vw 0; }
.breadcrumb ol { display:flex; gap:.5rem; list-style:none; flex-wrap:wrap; }
.breadcrumb li+li::before { content:'›'; color:var(--linen); margin-right:.5rem; }
.breadcrumb a { color:var(--rust); }
.pager { display:flex; justify-content:center; gap:.5rem; margin:3rem 0; flex-wrap:wrap; }
.pager__item a, .pager__item span { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--border); border-radius:var(--radius); font-size:.82rem; color:var(--muted); text-decoration:none; transition:all .25s; }
.pager__item--current span, .pager__item a:hover { background:var(--rust); color:#fff; border-color:var(--rust); }
.form-item { margin-bottom:1.2rem; }
.form-item label { display:block; font-size:.82rem; font-weight:500; color:var(--charcoal); margin-bottom:.4rem; }
.form-item input, .form-item select, .form-item textarea { width:100%; padding:.75rem 1rem; border:1.5px solid var(--border); border-radius:var(--radius); font-family:'DM Sans',sans-serif; font-size:.88rem; color:var(--ink); background:#fff; outline:none; transition:border-color .25s; }
.form-item input:focus, .form-item textarea:focus { border-color:var(--rust); }
.tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin:0 8vw 2rem; flex-wrap:wrap; }
.tabs li a { display:block; padding:.6rem 1.2rem; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); text-decoration:none; border-bottom:2px solid transparent; transition:all .25s; }
.tabs li a:hover, .tabs li.is-active a { color:var(--rust); border-bottom-color:var(--rust); }

/* ── 21. NODE CONTENT ──────────────────────────────────────────── */
.node--view-mode-full { margin-top: var(--nav-h); }
.node__title { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,3vw,2.6rem); color:var(--charcoal); margin-bottom:1rem; line-height:1.15; }
.node__content { font-size:.96rem; line-height:1.85; color:var(--muted); max-width:75ch; }
.node__content h2, .node__content h3 { font-family:'Playfair Display',serif; color:var(--charcoal); margin:2rem 0 1rem; }
.node__content h2 { font-size:1.8rem; } .node__content h3 { font-size:1.3rem; }
.node__content p { margin-bottom:1.2rem; }
.node__content a { color:var(--rust); }
.node__content blockquote { border-left:3px solid var(--rust); padding-left:1.5rem; margin:2rem 0; font-family:'Playfair Display',serif; font-style:italic; font-size:1.15rem; color:var(--charcoal); }
.node__meta { display:flex; gap:1rem; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:1.5rem; }

/* ── 22. SCROLL REVEAL ─────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; } .reveal-delay-2 { transition-delay:.2s; } .reveal-delay-3 { transition-delay:.3s; }

/* ── 23. RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:1100px) { .footer-top { grid-template-columns:1fr 1fr; gap:3rem; } }
@media(max-width:960px) {
  .about-wrap { grid-template-columns:1fr; gap:2.5rem; }
  .about-img-stack { height:360px; }
  .materials-grid { grid-template-columns:1fr; gap:2.5rem; }
  ul.fabrics-grid,
  .view--fabric-types ul,
  .view--fabric-types .item-list > ul { grid-template-columns:1fr 1fr; }
  .fabric-card.tall { grid-row:auto; }
  .fabric-card.tall .fabric-img { height:240px; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .process-steps::before { display:none; }
  ul.sustain-grid,
  .view--sustainable-textiles ul,
  .view--sustainable-textiles .item-list > ul { grid-template-columns:1fr; }
  .hero-stats-bar { flex-wrap:wrap; gap:1.5rem; }
  .hero-stat { border-right:none; padding:0; flex:0 0 calc(50% - .75rem); }
  .nav-center-wrap { display:none; position:absolute; top:var(--nav-h); left:0; right:0; background:rgba(250,247,242,.98); padding:1.5rem 5vw; border-bottom:1px solid var(--border); flex-direction:column; }
  .nav-center-wrap.open { display:flex; }
  .nav-center-wrap nav ul, .nav-center-wrap > ul { flex-direction:column; gap:1rem; }
  .nav-burger { display:flex; }
  .fabrixe-section { padding:4.5rem 5vw; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2rem; padding:4rem 5vw 3rem; }
  .sustain-detail-hero { grid-template-columns:60px 1fr; }
  .sustain-detail-stat-box { grid-column:1/-1; }
  .view-content { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  ul.fabrics-grid,
  .view--fabric-types ul,
  .view--fabric-types .item-list > ul { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:1fr; }
  .hero-h1 { font-size:2.4rem; }
  .cta-form { flex-direction:column; }
  .about-features { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .trust-logos { justify-content:center; }
  .sustain-detail-hero { grid-template-columns:1fr; text-align:center; }
  .view-content { grid-template-columns:1fr; }
}
/* ──custom css─────────────────────────────────── */
ul.fabrics-grid > li,
.view--fabric-types ul > li,
.view--sustainable-textiles ul > li,
.view--glossary-terms ul > li {
  display: contents;
}

#main-content, 
article.node--view-mode-full{
  margin-top: 0px !important;

}

/* ── PAGE / BLOG CONTENT LAYOUT ─────────────────────────────────── */

/* Main content wrapper for About, Blog, and all basic pages */
/* .page-content-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 5rem 8vw 6rem;
  margin-top: var(--nav-h);
} */

/* Make sure images inside node body are contained, not full bleed */
/* .node__content img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: initial;
  display: block;
  border-radius: var(--radius);
  margin: 1.5rem 0;
} */

/* Full-width images added by editor via CKEditor image style */
/* .node__content .align-wide img,
.node__content figure.align-wide {
  max-width: 100%;
  width: 100%;
  margin: 2rem 0;
} */

/* CKEditor paragraph spacing */
/* .node__content p { margin-bottom: 1.2rem; }
.node__content h2 { font-family: 'Playfair Display', serif; font-size: 1.8rem; color: var(--charcoal); margin: 2.5rem 0 1rem; }
.node__content h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--charcoal); margin: 2rem 0 .8rem; }
.node__content ul, .node__content ol { padding-left: 1.5rem; margin-bottom: 1.2rem; }
.node__content ul { list-style: disc; }
.node__content ol { list-style: decimal; }
.node__content li { margin-bottom: .4rem; font-size: .96rem; line-height: 1.75; color: var(--muted); }
.node__content blockquote { border-left: 3px solid var(--rust); padding-left: 1.5rem; margin: 2rem 0; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.15rem; color: var(--charcoal); }
.node__content a { color: var(--rust); text-decoration: underline; }
.node__content figcaption { font-size: .78rem; color: var(--muted); text-align: center; margin-top: .5rem; } */

/* Node meta (author, date) */
/* .node__meta {
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
} */




/* ── BLOG CARD (listing) ─────────────────────────────────────── */
.blog-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26,18,16,.1);
}
.blog-card-img {
  height: 220px;
  overflow: hidden;
}
.blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.blog-card:hover .blog-card-img img {
  transform: scale(1.04);
}
.blog-card-body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.blog-card-tags {
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--rust);
  margin-bottom: .6rem;
}
.blog-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--charcoal);
  margin-bottom: .5rem;
  line-height: 1.3;
}
.blog-card-title a { color: inherit; }
.blog-card-title a:hover { color: var(--rust); }
.blog-card-byline {
  font-size: .75rem;
  color: var(--muted);
  margin-bottom: .8rem;
}
.blog-card-excerpt {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 1rem;
  flex: 1;
}
.blog-card-excerpt p { font-size: inherit; }
.blog-card-link {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rust);
  text-decoration: none;
  font-weight: 500;
  transition: gap .25s;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.blog-card-link:hover { gap: .7rem; }

/* ── BLOG DETAIL PAGE ────────────────────────────────────────── */
.blog-post-full {
  margin-top: var(--nav-h);
}
.blog-hero {
  position: relative;
  height: 55vh;
  min-height: 380px;
  overflow: hidden;
  background: var(--charcoal);
}
.blog-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .8;
}
.blog-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,18,16,.6) 0%, transparent 60%);
}
.blog-post-wrap {
  margin: 0 auto;
  padding: 0 5vw;
}
.blog-post-meta {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.blog-post-tags {
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--rust);
}
.blog-post-byline,
.blog-post-date {
  font-size: .78rem;
  color: var(--muted);
}
.blog-post-date::before {
  content: '·';
  margin-right: 1.2rem;
  color: var(--linen);
}

.blog-post-wrap .node__content{
      max-width: 100%;
}
.canvas_page-3 #block-fabrixe-page-title,
.canvas_page-2 #block-fabrixe-page-title,
.canvas_page-8 #block-fabrixe-page-title{
    display: none;
}
.canvas_page-3 .absolute.inset-0.z-\[-1\].rounded-lg.bg-white.text-primary-foreground {
    display: none;
}

/* ── ABOUT =============================*/
/* ══════════════════════════════════════════════════════════════
   DRUPAL CANVAS OVERRIDES
   Targets the exact utility classes Canvas outputs since
   Tailwind's own stylesheet is not loaded in this theme.
   ══════════════════════════════════════════════════════════════ */

/* ── Base container ── */
#content .container {
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 8vw;
  padding-right: 8vw;
}

/* ── HERO SECTION (full-height banner with background image) ── */
#content section.relative.flex.flex-col.h-3\/4,
#content section[class*="min-h-[600px]"] {
  position: relative;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  margin-top: 0;
}

/* Hero background image */
#content section[class*="min-h-[600px]"] .absolute.z-\[-1\] img,
#content section[class*="min-h-"] > .absolute img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Dark overlay on hero */
#content .absolute.inset-0.rounded-lg.bg-black\/20 {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  border-radius: 0;
  z-index: 0;
}

/* Hero text container */
#content section[class*="min-h-"] .container {
  position: relative;
  z-index: 1;
}

/* Badge / pill label (e.g. "About Haven") */
#content span[aria-label],
#content .bg-secondary {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.3);
  padding: .35rem 1rem;
  border-radius: 99px;
  margin-bottom: 1rem;
}
#content span[aria-label] .font-sans {
  font-family: 'DM Sans', sans-serif;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255,255,255,.85);
}

/* Hero headline */
#content section[class*="min-h-"] span.text-3xl,
#content section[class*="min-h-"] span.text-4xl,
#content section[class*="min-h-"] span.text-5xl {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  display: block;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

/* ── MISSION SECTION (image + text side by side) ── */
#content section.relative.flex.h-full {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  padding: 5rem 8vw;
  background: #fff;
  border-radius: var(--radius);
}

/* Mission image */
#content section.relative.flex.h-full .flex-1.overflow-hidden {
  border-radius: var(--radius);
  overflow: hidden;
  height: 480px;
}
#content section.relative.flex.h-full .flex-1.overflow-hidden img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Mission text side */
#content section.relative.flex.h-full .self-center {
  padding: 0;
}

/* Mission heading (h2) */
#content h2.text-secondary,
#content .text-secondary.text-4xl {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: var(--charcoal);
  margin-bottom: 1.2rem;
}

/* Mission body text */
#content .font-serif p {
  font-size: .96rem;
  line-height: 1.85;
  color: var(--muted);
  margin-bottom: 1.1rem;
}

/* ── VALUES SECTION (dark image background + 3 cards) ── */
#content section.text-primary-foreground {
  position: relative;
  padding: 5rem 8vw;
  overflow: hidden;
}

/* Values background image */
#content section.text-primary-foreground > .absolute.inset-0.z-\[-1\] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

/* Dark overlay on values section */
#content section.text-primary-foreground > .absolute.inset-0.z-\[-1\].opacity-50 {
  position: absolute;
  inset: 0;
  background: rgba(44,36,32,.6);
  z-index: 0;
}

/* Values header badge */
#content .bg-accent\/75 {
  display: inline-flex;
  background: rgba(184,115,51,.2);
  border: 1px solid rgba(184,115,51,.4);
  padding: .35rem 1rem;
  border-radius: 99px;
  margin-bottom: 1rem;
}
#content .bg-accent\/75 .font-sans {
  font-family: 'DM Sans', sans-serif;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--copper);
}

/* Values section heading */
#content section.text-primary-foreground h2.text-primary-foreground {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #fff;
  margin-bottom: 3rem;
}

/* Values 3-column grid */
#content .md\:grid-cols-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  position: relative;
  z-index: 1;
}

/* Individual value card */
#content .bg-primary\/30 {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px;
  padding: 2rem;
  transition: background .3s;
  text-align: center;
}
#content .bg-primary\/30:hover {
  background: rgba(255,255,255,.18);
}

/* Value card icon */
#content .bg-primary\/30 svg {
  color: #fff;
  width: 40px;
  height: 40px;
  margin: 0 auto 1rem;
  display: block;
}

/* Value card heading */
#content .bg-primary\/30 h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: .75rem;
}

/* Value card body */
#content .bg-primary\/30 p {
  font-size: .84rem;
  line-height: 1.8;
  color: rgba(255,255,255,.75);
}

/* ── CTA STRIP (Join the fight / Donate now) ── */
#content section.text-accent-foreground {
  position: relative;
  padding: 3rem 8vw;
  border-radius: var(--radius);
  overflow: hidden;
}
#content .bg-accent {
  background: var(--sand);
}
#content section.text-accent-foreground .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* CTA text */
#content section.text-accent-foreground span.text-primary {
  color: var(--charcoal);
}
#content section.text-accent-foreground span.text-xl {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--charcoal);
  display: block;
  margin-bottom: .8rem;
}
#content section.text-accent-foreground span.text-primary:not(.text-xl) {
  font-size: .9rem;
  line-height: 1.75;
  color: var(--muted);
}

/* CTA buttons */
#content section.text-accent-foreground .flex.flex-row {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
}
#content .bg-primary.text-white,
#content button.bg-primary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  background: var(--rust);
  color: #fff;
  border: none;
  border-radius: 99px;
  font-family: 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .08em;
  cursor: pointer;
  transition: background .28s;
  text-decoration: none;
}
#content .bg-primary.text-white:hover,
#content button.bg-primary:hover { background: var(--sienna); }

#content button.border-primary {
  display: inline-flex;
  align-items: center;
  padding: .75rem 1.5rem;
  background: transparent;
  color: var(--charcoal);
  border: 1.5px solid var(--charcoal);
  border-radius: 99px;
  font-family: 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .28s;
}
#content button.border-primary:hover {
  background: var(--charcoal);
  color: #fff;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  #content section.relative.flex.h-full {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 3rem 5vw;
  }
  #content section.relative.flex.h-full .flex-1.overflow-hidden {
    height: 280px;
  }
  #content .md\:grid-cols-3 {
    grid-template-columns: 1fr;
  }
  #content section.text-accent-foreground
    .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  #content section.text-accent-foreground .flex.flex-row {
    justify-content: flex-start;
  }
}



/* ══════════════════════════════════════════════════════════════
   BLOG PAGE — CANVAS OVERRIDES
   ══════════════════════════════════════════════════════════════ */

/* ── BLOG HERO ─────────────────────────────────────────────── */
.canvas_page-2 #content section[class*="min-h-[300px]"],
.canvas_page-2 #content section[class*="min-h-[400px]"] {
  position: relative;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding-bottom: 4rem;
}

/* Hero background image */
.canvas_page-2 #content section[class*="min-h-[300px]"] > .absolute,
.canvas_page-2 #content section[class*="min-h-[400px]"] > .absolute {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.canvas_page-2 #content section[class*="min-h-[300px]"] > .absolute img,
.canvas_page-2 #content section[class*="min-h-[400px]"] > .absolute img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

/* Dark overlay */
.canvas_page-2 #content section[class*="min-h-[300px]"] .absolute.inset-0.bg-black\/40,
.canvas_page-2 #content section[class*="min-h-[400px]"] .absolute.inset-0.bg-black\/40 {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1;
}

/* Hero inner content */
.canvas_page-2 #content section[class*="min-h-[300px]"] .container,
.canvas_page-2 #content section[class*="min-h-[400px]"] .container {
  position: relative;
  z-index: 2;
  padding: 0 8vw 0;
}

/* "Our blog" badge */
.canvas_page-2 #content section[class*="min-h-[300px]"] span[aria-label],
.canvas_page-2 #content section[class*="min-h-[400px]"] span[aria-label] {
  display: inline-flex;
  align-items: center;    
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .3);
  padding: .35rem 1rem;
  border-radius: 99px;
  margin-bottom: 1.2rem;
}
.canvas_page-2 #content section[class*="min-h-[300px]"] span[aria-label] .font-sans,
.canvas_page-2 #content section[class*="min-h-[400px]"] span[aria-label] .font-sans {
  font-family: 'DM Sans', sans-serif;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color:rgba(255,255,255,.85);
}

/* Hero h1 */
.canvas_page-2 #content section[class*="min-h-[300px]"] h1,
.canvas_page-2 #content section[class*="min-h-[400px]"] h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 1.2rem;
}

/* Hero subtext */
.canvas_page-2 #content section[class*="min-h-[300px]"] .font-serif p,
.canvas_page-2 #content section[class*="min-h-[400px]"] .font-serif p {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(255,255,255,.8);
  max-width: 55ch;
  font-weight: 300;
}

/* ── BLOG CARDS GRID ───────────────────────────────────────── */

/* The view-content div needs to be a 3-col grid */
.canvas_page-2 .view--blog .view-content,
.canvas_page-2 .view--blog--all .view-content {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

/* Each views-row is a grid item */
.canvas_page-2 .view--blog .views-row,
.canvas_page-2 .view--blog--all .views-row {
  display: block;
}

/* Blog card */
.canvas_page-2 .blog-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.canvas_page-2 .blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26,18,16,.1);
}

/* Card image */
.canvas_page-2 .blog-card-img {
  height: 220px;
  overflow: hidden;
  position: relative;
}
.canvas_page-2 .blog-card-img picture,
.canvas_page-2 .blog-card-img div,
.canvas_page-2 .blog-card-img > div > div {
  height: 100%;
}
.canvas_page-2 .blog-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s;
  display: block;
}
.canvas_page-2 .blog-card:hover .blog-card-img img {
  transform: scale(1.04);
}

/* Card body */
.canvas_page-2 .blog-card-body {
  padding: 1.4rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

/* Card title */
.canvas_page-2 .blog-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--charcoal);
  line-height: 1.35;
  margin: 0;
}
.canvas_page-2 .blog-card-title a {
  color: inherit;
  text-decoration: none;
}
.canvas_page-2 .blog-card-title a:hover { color: var(--rust); }
.canvas_page-2 .blog-card-title span { display: block; }

/* Read article link */
.canvas_page-2 .blog-card-link {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rust);
  text-decoration: none;
  font-weight: 500;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  transition: gap .25s;
}
.canvas_page-2 .blog-card-link:hover { gap: .7rem; }

/* Feed link — hide it */
.canvas_page-2 .feed-icon {
  display: none;
}

/* Blog section wrapper padding */
.canvas_page-2 .view--blog,
.canvas_page-2 .view--blog--all {
  padding: 4rem 8vw;
}

/* ── BLOG CTA STRIP ────────────────────────────────────────── */
.canvas_page-2 #content section.cq-full:last-of-type .bg-accent,
.canvas_page-2 #content .flex.bg-none.flex-col.items-start.justify-start.self-center.gap-4.rounded-sm.p-4.bg-accent {
  background: var(--sand);
  border-radius: var(--radius);
  padding: 3rem;
}

/* CTA inner grid */
.canvas_page-2 #content .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: center;
}

/* CTA headline */
.canvas_page-2 #content span.text-xl.lg\:text-2xl {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--charcoal);
  display: block;
  margin-bottom: .6rem;
}

/* CTA subtext */
.canvas_page-2 #content .flex.bg-none.flex-col span.text-primary:not([class*="text-xl"]) {
  font-size: .9rem;
  line-height: 1.75;
  color: var(--muted);
  display: block;
}

/* CTA buttons row */
.canvas_page-2 #content .flex.bg-none.flex-row.items-start {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .canvas_page-2 .view--blog .view-content,
  .canvas_page-2 .view--blog--all .view-content {
    grid-template-columns: 1fr 1fr !important;
  }
  .canvas_page-2 .view--blog,
  .canvas_page-2 .view--blog--all { padding: 3rem 5vw; }
  .canvas_page-2 #content .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .canvas_page-2 #content .flex.bg-none.flex-row.items-start {
    justify-content: flex-start;
  }
}
@media (max-width: 600px) {
  .canvas_page-2 .view--blog .view-content,
  .canvas_page-2 .view--blog--all .view-content {
    grid-template-columns: 1fr !important;
  }
  .canvas_page-2 #content section[class*="min-h-[300px]"] { min-height: 320px; }
}

.canvas_page-2 .view--blog.view--blog--all .views-infinite-scroll-content-wrapper {
    display: flex;
    justify-content: space-around;
}
.canvas_page-2 .view--blog.view--blog--all .views-infinite-scroll-content-wrapper .views-row{
    width: 32%;
}
 .canvas_page-2 section:nth-of-type(3) .container.\[\&_\.cq-full\]\:mx-0.\[\&_\.cq-full\]\:w-full{
    max-width: 100% !important;
    padding: 0 5vw !important;
    background: var(--sand);
}


/* ══════════════════════════════════════════════════════════════
   PRODUCT CONTENT TYPE
   ══════════════════════════════════════════════════════════════ */

/* ── PRODUCT CARD (listing grid) ──────────────────────────── */
.product-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26,18,16,.12);
}
.product-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.product-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--sand);
}
.product-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.product-card:hover .product-card-img img {
  transform: scale(1.04);
}
.product-card-body {
  padding: 1.2rem 1.4rem 1.5rem;
}
.product-card-cat {
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--copper);
  margin-bottom: .5rem;
  font-weight: 500;
}
.product-card-cat .field__item { display: inline; }
.product-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--charcoal);
  margin-bottom: .6rem;
  line-height: 1.35;
}
.product-card-price {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .8rem;
}
.product-card-price .field__item { display: inline; }
.price-currency {
  font-size: .85rem;
  font-weight: 400;
  margin-right: .15rem;
  opacity: .7;
}
.product-card-cta {
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rust);
  font-weight: 500;
}

/* Products grid — use this class on your View wrapper */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

/* ── PRODUCT DETAIL PAGE ───────────────────────────────────── */
.product-full {
  margin-top: var(--nav-h);
  background: var(--cream);
}
.product-full-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  padding: 4rem 8vw 6rem;
  max-width: var(--container);
  margin: 0 auto;
}

/* Image column */
.product-image-col { position: sticky; top: calc(var(--nav-h) + 2rem); }
.product-image-box {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--sand);
  aspect-ratio: 1 / 1;
  border: 1px solid var(--border);
}
.product-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Info column */
.product-detail-cat {
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--copper);
  margin-bottom: .8rem;
  font-weight: 500;
}
.product-detail-cat .field__item { display: inline; }
.product-detail-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--charcoal);
  line-height: 1.2;
  margin-bottom: 1rem;
}
.product-detail-price {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1.8rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.product-detail-price .field__item { display: inline; }

/* WhatsApp buttons */
.product-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.8rem;
  background: #25D366;
  color: #fff;
  border-radius: var(--radius);
  font-family: 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none;
  transition: background .25s, transform .25s;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
}
.btn-whatsapp:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
}
.btn-whatsapp svg { flex-shrink: 0; }
.btn-whatsapp-secondary {
  display: inline-flex;
  align-items: center;
  padding: .85rem 1.8rem;
  background: transparent;
  color: var(--charcoal);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  font-family: 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .25s;
}
.btn-whatsapp-secondary:hover {
  border-color: #25D366;
  color: #25D366;
}

/* Product specs */
.product-specs {
  background: var(--sand);
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.product-specs-title {
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--charcoal);
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1.5px solid var(--border);
}
.product-specs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.product-specs-list li {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.6;
  padding: .6rem 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.product-specs-list li:last-child { border-bottom: none; }
.product-specs-list strong {
  color: var(--charcoal);
  font-weight: 600;
  flex-shrink: 0;
}

/* Trust badges */
.product-trust {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.trust-badge {
  font-size: .8rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 960px) {
  .product-full-wrap {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 3rem 5vw 5rem;
  }
  .product-image-col { position: static; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .products-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .product-actions { flex-direction: column; }
  .btn-whatsapp, .btn-whatsapp-secondary { justify-content: center; }
}


/* ══════════════════════════════════════════════════════════════
   SHOP PAGE — PRODUCTS VIEW GRID
   Matches blog page 3-column layout exactly
   ══════════════════════════════════════════════════════════════ */





   /* Dark overlay */
.canvas_page-8 #content section[class*="min-h-[300px]"] .absolute.inset-0.bg-black\/40,
.canvas_page-8 #content section[class*="min-h-[400px]"] .absolute.inset-0.bg-black\/40 {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1;
}

/* Hero inner content */
.canvas_page-8 #content section[class*="min-h-[300px]"] .container,
.canvas_page-8 #content section[class*="min-h-[400px]"] .container {
  position: relative;
  z-index: 2;
  padding: 0 8vw 0;
}

/* "Our blog" badge */
.canvas_page-8 #content section[class*="min-h-[300px]"] span[aria-label],
.canvas_page-8 #content section[class*="min-h-[400px]"] span[aria-label] {
  display: inline-flex;
  align-items: center;    
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .3);
  padding: .35rem 1rem;
  border-radius: 99px;
  margin-bottom: 1.2rem;
}
.canvas_page-8 #content section[class*="min-h-[300px]"] span[aria-label] .font-sans,
.canvas_page-8 #content section[class*="min-h-[400px]"] span[aria-label] .font-sans {
  font-family: 'DM Sans', sans-serif;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color:rgba(255,255,255,.85);
}

/* Hero h1 */
.canvas_page-8 #content section[class*="min-h-[300px]"] h1,
.canvas_page-8 #content section[class*="min-h-[400px]"] h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 1.2rem;
}

/* Hero subtext */
.canvas_page-8 #content section[class*="min-h-[300px]"] .font-serif p,
.canvas_page-8 #content section[class*="min-h-[400px]"] .font-serif p {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(255,255,255,.8);
  max-width: 55ch;
  font-weight: 300;
}







/* ── Products view wrapper — padding like blog ─────────────── */
.view--products,
.view--products--block_1 {
  padding: 4rem 8vw;
}

/* ── 3-column grid (views-row items) ───────────────────────── */
.view--products .views-infinite-scroll-content-wrapper,
.view--products--block_1 .views-infinite-scroll-content-wrapper,
.view--products .clearfix,
.view--products--block_1 .clearfix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Each row is a direct grid item */
.view--products .views-row,
.view--products--block_1 .views-row {
  display: block;
  min-width: 0;
}

/* ── Product card matches blog card style exactly ──────────── */
.product-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26,18,16,.12);
}
.product-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* Card image — same ratio as blog cards */
.product-card-img {
  height: 220px;
  overflow: hidden;
  background: var(--sand);
  flex-shrink: 0;
}
.product-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.product-card:hover .product-card-img img {
  transform: scale(1.04);
}

/* Card body */
.product-card-body {
  padding: 1.4rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

/* Category label */
.product-card-cat {
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--copper);
  font-weight: 500;
}
.product-card-cat div { display: inline; }

/* Title */
.product-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--charcoal);
  line-height: 1.35;
  margin: 0;
}
.product-card-title span { display: block; }
.product-card-link:hover .product-card-title { color: var(--rust); }

/* Price */
.product-card-price {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  display: flex;
  align-items: baseline;
  gap: .2rem;
}
.product-card-price div { display: inline; }
.price-currency {
  font-size: .85rem;
  font-weight: 400;
  opacity: .65;
}

/* View product link */
.product-card-cta {
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rust);
  font-weight: 500;
  margin-top: auto;
  padding-top: .6rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  transition: gap .25s;
}
.product-card:hover .product-card-cta { gap: .7rem; }

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .view--products .views-infinite-scroll-content-wrapper,
  .view--products--block_1 .views-infinite-scroll-content-wrapper,
  .view--products .clearfix,
  .view--products--block_1 .clearfix {
    grid-template-columns: repeat(2, 1fr);
  }
  .view--products,
  .view--products--block_1 { padding: 3rem 5vw; }
}
@media (max-width: 500px) {
  .view--products .views-infinite-scroll-content-wrapper,
  .view--products--block_1 .views-infinite-scroll-content-wrapper,
  .view--products .clearfix,
  .view--products--block_1 .clearfix {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .product-card-img { height: 160px; }
}
 .canvas_page-8 section:nth-of-type(2) .container.\[\&_\.cq-full\]\:mx-0.\[\&_\.cq-full\]\:w-full{
    max-width: 100% !important;
    padding: 0 5vw !important;
}


/* ── BLOG CTA STRIP ────────────────────────────────────────── */
.canvas_page-8 #content section.cq-full:last-of-type .bg-accent,
.canvas_page-8 #content .flex.bg-none.flex-col.items-start.justify-start.self-center.gap-4.rounded-sm.p-4.bg-accent {
  background: var(--sand);
  border-radius: var(--radius);
  padding: 3rem;
}

/* CTA inner grid */
.canvas_page-8 #content .md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\] {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  align-items: center;
}

/* CTA headline */
.canvas_page-8 #content span.text-xl.lg\:text-2xl {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--charcoal);
  display: block;
  margin-bottom: .6rem;
}

/* CTA subtext */
.canvas_page-8 #content .flex.bg-none.flex-col span.text-primary:not([class*="text-xl"]){font-size:.9rem;line-height:1.75;color:var(--muted);display:block;}.canvas_page-8 #content .flex.bg-none.flex-row.items-start{display:flex;gap:1rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;}.canvas_page-3 section:nth-child(1) button{color:#fff;}.canvas_page-3 #content  section:nth-child(2)  section.relative.flex.h-full{padding:3rem 3vw;}.canvas_page-3 #content  section:nth-child(3)  header{position:relative;}.canvas_page-3 #content  section:nth-child(3)  header p{color:#fff;}.canvas_page-3 #content section h1,.canvas_page-3 #content section h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:1.2rem;}.canvas_page-3 #content section.relative.flex.flex-col.h-3\/4 .font-serif p,.canvas_page-3 #content section.relative.flex.flex-col.h-3\/4 .font-serif p{font-size:1rem;line-height:1.75;color:rgba(255,255,255,.8);max-width:55ch;font-weight:300;}.canvas_page-2 #content>div>section:nth-child(3){background:var(--sand);}.canvas_page-2 section:nth-child(1) button{color:#fff;}.canvas_page-2 section:nth-child(1) h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:1.2rem;}.canvas_page-2 section:nth-child(1) p{font-size:1rem;line-height:1.75;color:#fff;font-weight:300;}.webform-contact_form #main-content{max-width:800px;margin:auto;margin-top:45px !important;margin-bottom:20px;}body.canvas_page-3 footer .rich-text-section{background:#fff;padding-left:30px;padding-bottom:70px;padding-right:30px;}#content section:nth-child(2){background:#fff;}body.canvas-page .ticker,body.route-view-fabric_types-page_listing .ticker,body.route-view-glossary_terms-page_listing .ticker,body.route-view-sustainable_textiles-page_listing .ticker,body.webform-contact_form .ticker{margin-top:70px;}body.fabrixe-front .ticker{margin-top:0px !important;}.canvas_page-8 #content>div>section:nth-child(2){background:#fff;}.canvas_page-8 section:nth-child(1) button{color:#fff;}.canvas_page-8 section:nth-child(1) h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:1.2rem;}.canvas_page-8 section:nth-child(1) p{font-size:1rem;line-height:1.75;color:#fff;font-weight:300;}
