@font-face {
    font-family: 'ET Book';
    src: url('../fonts/et-book-roman-line-figures.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'ET Book';
    src: url('../fonts/et-book-bold-line-figures.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'ET Book';
    src: url('../fonts/et-book-display-italic-old-style-figures.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

body{
    font-family: "ET Book", "Bembo", serif;
    background-color: #EFEFD5;
    background-image: url("../images/noise.png");
    background-repeat: repeat;
    line-height: 1.5;
}
ul{
    padding: 0;
    list-style-type: none;
}
*{
    margin: 0;
    padding: 0;
}
.container{
    max-width: 1400px;
    padding-left: 40px;
    padding-right: 40px;
}
h1, h2, h3, h4, h5, p{
    margin: 0;
}

/* ============================================
   HOMEPAGE (ORIGINAL — sidebar layout)
   ============================================ */

.logo-section{
    padding-top: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid #38443A;
}
.video-banner{
    padding: 32px 0 64px 0;
}
.video-banner p{
    font-weight: 400;
    font-size: 24px;
    color: #2D2929;
    text-transform: uppercase;
    line-height: 1.3;
}
.video-wrapper{
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #EFEFD5;
}
.video-wrapper video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.video-banner h6{
    font-size: 22px;
    color: #000;
    margin-top: 24px;
    line-height: 1.5;
}

/* Sidebar Navigation */
.main-navbar{
    position: absolute;
    top: 15%;
}
.main-navbar ul{
    display: flex;
    flex-direction: column;
    gap: 32px;
    list-style-type: none;
    padding: 0;
}
.main-navbar ul li a, .horizontal-navbar li a{
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.main-navbar ul li a p, .horizontal-navbar li a p{
    font-weight: 400;
    font-size: 20px;
    color: #000;
}
.main-navbar ul li a img, .horizontal-navbar li a img{
    width: 31px;
}

/* ============================================
   WRITING CARDS
   ============================================ */

.recent-writing h2, .who-we-work h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
}
.writing-card{
    width: 100%;
    height: 320px;
    border-radius: 11px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 24px;
    text-decoration: none;
    margin-bottom: 16px;
    transition: 0.3s all;
    border: 3px solid transparent;
    position: relative;
    overflow: hidden;
}
.writing-card::before{
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: url("../images/noise.png");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    opacity: 0;
    transition: opacity 0.4s;
    z-index: 1;
    pointer-events: none;
}
.writing-card:hover::before{
    opacity: 1;
}
.writing-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    color: inherit;
}
.writing-card-top, .writing-card-bottom{
    position: relative;
    z-index: 2;
}
.writing-card-top h3{
    font-weight: 400;
    font-size: 20px;
    line-height: 1.3;
}
.writing-card-top p{
    font-size: 15px;
    margin-top: 6px;
}
.writing-card-bottom{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.writing-card-bottom small{
    font-size: 13px;
}
.writing-card-one{
    background-color: #1E392B;
    color: #fff;
 }
.writing-card-two{
    background-color: #EBDDB2;
    color: #5C0504;
}
.writing-card-three{
    background-color: #4D5C68;
    color: #fff;
}
.writing-card-four{
    background-color: #8F4F34;
    color: #fff;
}
.writing-card-five{
    background-color: #C5B883;
    color: #1E1E1E;
}
.writing-card-six{
    background-color: #B47951;
    color: #4F0302;
}
.writing-card-seven{
    background-color: #878B66;
    color: #fff;
}
.writing-card-eight{
    background-color: #5E5351;
    color: #fff;
}
.writing-card-nine{
    background-color: #D3B37A;
    color: #1E1E1E;
}

/* ============================================
   VIEW ALL BUTTON
   ============================================ */

.view-all-button{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 8px;
}
.view-all-button a{
    font-size: 20px;
    color: #3E220E;
    font-style: italic;
    text-decoration: none;
}

/* ============================================
   SUBSCRIBE NEWSLETTER
   ============================================ */

.subscribe-newsletter{
    padding-top: 48px;
}
.subscribe-header{
    display: flex;
    align-items: center;
    gap: 8px;
}
.subscribe-header h2{
    font-size: 22px;
    color: #5C0504;
}
.subscribe-header img{
    width: 47px;
}
.subscribe-newsletter form{
    display: flex;
    align-items: center;
    gap: 2px;
    margin-top: 8px;
}
.subscribe-newsletter form input{
    padding: 10px;
    border-radius: 2px;
    border: 1px solid #5C0504;
    height: 42px;
    background-color: transparent;
    width: 100%;
    transition: 0.5s all;
    font-family: "ET Book", "Bembo", serif;
    font-size: 16px;
}
.subscribe-newsletter form button{
    width: 60px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: 1px solid #5C0504;
    border-radius: 2px;
    cursor: pointer;
}
.subscribe-newsletter form input:focus{
    outline: none;
    box-shadow: none;
    background-color: #fff;
}

/* ============================================
   WHO WE WORK WITH
   ============================================ */

.who-we-work{
    padding-top: 48px;
}
.single-work{
    width: 100%;
    height: 51px;
    border: 1px solid #5C0504;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 24px 0;
    padding: 10px 16px;
    position: relative;
    transition: 0.3s all;
    cursor: pointer;
}
.single-work:before{
    content: "";
    width: 100%;
    position: absolute;
    top: 130%;
    left: 0;
    right: 0;
    background-color: #5C0504;
    height: 1px;
}
.single-work:after{
    content: "";
    width: 5px;
    height: 5px;
    background-color: #5C0504;
    position: absolute;
    right: 0;
    top: 126%;
    transform: rotate(45deg);
}
.single-work p{
    font-size: 20px;
}
.single-work p:nth-child(2){
    font-style: italic;
    font-size: 18px;
}

.single-work-fuser:hover{
    background-color: #1E392B;
    border-color: #1E392B;
    color: #EFEFD5 !important;
}
.single-work-fuser:hover:before{ background-color: #1E392B; }
.single-work-fuser:hover:after{ background-color: #1E392B; }
.single-work-falcon:hover{
    background-color: #5C0504;
    border-color: #5C0504;
    color: #EFEFD5 !important;
}
.single-work-falcon:hover:before{ background-color: #5C0504; }
.single-work-falcon:hover:after{ background-color: #5C0504; }
.single-work-behold:hover{
    background-color: #8F6B3A;
    border-color: #8F6B3A;
    color: #EFEFD5 !important;
}
.single-work-behold:hover:before{ background-color: #8F6B3A; }
.single-work-behold:hover:after{ background-color: #8F6B3A; }
.single-work-tapestry:hover{
    background-color: #4D5C68;
    border-color: #4D5C68;
    color: #EFEFD5 !important;
}
.single-work-tapestry:hover:before{ background-color: #4D5C68; }
.single-work-tapestry:hover:after{ background-color: #4D5C68; }
.single-work-anythingllm:hover{
    background-color: #38443A;
    border-color: #38443A;
    color: #EFEFD5 !important;
}
.single-work-anythingllm:hover:before{ background-color: #38443A; }
.single-work-anythingllm:hover:after{ background-color: #38443A; }
.single-work-rubric:hover{
    background-color: #8F4F34;
    border-color: #8F4F34;
    color: #EFEFD5 !important;
}
.single-work-rubric:hover:before{ background-color: #8F4F34; }
.single-work-rubric:hover:after{ background-color: #8F4F34; }
.single-work-boom:hover{
    background-color: #878B66;
    border-color: #878B66;
    color: #EFEFD5 !important;
}
.single-work-boom:hover:before{ background-color: #878B66; }
.single-work-boom:hover:after{ background-color: #878B66; }
.single-work-hex:hover{
    background-color: #5E5351;
    border-color: #5E5351;
    color: #EFEFD5 !important;
}
.single-work-hex:hover:before{ background-color: #5E5351; }
.single-work-hex:hover:after{ background-color: #5E5351; }

/* ============================================
   FOOTER
   ============================================ */

.horizontal-navbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 64px;
}
.footer-image{
    width: 100%;
    height: 280px;
}
.footer-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================================
   CASE STUDY MODAL
   ============================================ */

.modal-dialog{
    max-width: 1172px;
    width: 100%;
}
.modal-content{
    padding: 48px 64px;
    background-color: #EFEFD5;
}
.modal-body h2{
    font-weight: 400;
    font-size: 32px;
    color: #000;
    margin-bottom: 4px;
}
.modal-body .case-study-tagline{
    font-weight: 400;
    font-size: 20px;
    font-style: italic;
    color: #555;
    margin-bottom: 16px;
}
.modal-body .case-study-description{
    font-weight: 400;
    font-size: 18px;
    color: #000;
    line-height: 1.6;
    margin-bottom: 8px;
}
.modal-body .case-study-scope{
    font-weight: 400;
    font-size: 16px;
    color: #666;
    font-style: italic;
    margin-bottom: 32px;
}
.modal-body .case-study-meta{
    margin-bottom: 24px;
}
.modal-body .case-study-meta .case-study-scope{
    margin-bottom: 2px;
    font-style: normal;
}
.modal-body .case-study-meta .case-study-scope strong{
    color: #000;
}
.modal-body .case-studies{
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}
.modal-body .case-studies img{
    border-radius: 6px;
    background-color: #1E392B;
    padding: 24px;
    box-sizing: border-box;
    width: 100%;
    max-height: 600px;
    object-fit: contain;
}
.modal-body .case-study-quotes{
    font-weight: 400;
    font-size: 18px;
    color: #000;
    font-style: italic;
    line-height: 1.7;
}
.modal-body .case-study-quotes p{
    margin-bottom: 16px;
}
.modal-body .case-study-quotes p:last-child{
    margin-bottom: 0;
}
.modal-body .case-study-testimonial{
    margin-top: 32px;
    padding: 28px 32px;
    background-color: #E5E2CE;
    border-radius: 8px;
}
.modal-body .case-study-testimonial blockquote{
    margin: 0;
}
.modal-body .case-study-testimonial p{
    font-size: 18px;
    font-style: italic;
    line-height: 1.7;
    color: #000;
    margin-bottom: 12px;
}
.modal-body .case-study-testimonial cite{
    font-style: normal;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}
.modal-body .case-study-testimonial cite span{
    font-weight: 400;
    color: #666;
    display: block;
    font-size: 14px;
    margin-top: 2px;
}

/* Brand-matched modal accents */
#case-study-fuser .modal-content{
    border-top: 4px solid #7C3AED;
}
#case-study-falcon .modal-content{
    border-top: 4px solid #E31B23;
}
#case-study-behold .modal-content{
    border-top: 4px solid #D4C5A0;
}
#case-study-tapestry .modal-content{
    border-top: 4px solid #4D5C68;
}

/* ============================================
   INNER PAGE HEADER
   ============================================ */

header{
    padding: 16px 0;
    border-bottom: 1px solid #38443A;
}
header nav{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 96px;
}
header nav .logo img{
    width: 118px;
}
header nav ul{
    gap: 64px;
}
/* Hamburger toggle — hidden on desktop */
.nav-toggle{
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    width: 28px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}
.nav-toggle span{
    display: block;
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    position: absolute;
    left: 0;
    transition: 0.3s all;
}
.nav-toggle span:nth-child(1){ top: 0; }
.nav-toggle span:nth-child(2){ top: 9px; }
.nav-toggle span:nth-child(3){ top: 18px; }
.nav-toggle.open span:nth-child(1){
    top: 9px;
    transform: rotate(45deg);
}
.nav-toggle.open span:nth-child(2){
    opacity: 0;
}
.nav-toggle.open span:nth-child(3){
    top: 9px;
    transform: rotate(-45deg);
}
/* Mobile nav overlay */
.mobile-nav{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #EFEFD5;
    z-index: 999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
}
.mobile-nav.open{
    display: flex;
}
.mobile-nav a{
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-size: 22px;
    color: #1a1a1a;
    transition: color 0.2s;
}
.mobile-nav a:hover{
    color: #5C0504;
}
.mobile-nav a img{
    width: 28px;
}
.mobile-nav .mobile-nav-close{
    position: absolute;
    top: 20px;
    right: 24px;
    background: none;
    border: none;
    cursor: pointer;
    width: 28px;
    height: 28px;
    padding: 0;
}
.mobile-nav .mobile-nav-close span{
    display: block;
    width: 100%;
    height: 2px;
    background-color: #1a1a1a;
    position: absolute;
    left: 0;
    top: 13px;
}
.mobile-nav .mobile-nav-close span:first-child{
    transform: rotate(45deg);
}
.mobile-nav .mobile-nav-close span:last-child{
    transform: rotate(-45deg);
}

/* ============================================
   WRITING (ESSAY) PAGE
   ============================================ */

.banner{
    position: relative;
    padding-top: 16px;
}
.banner .banner-img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    position: relative;
}
.banner .banner-inner{
    position: relative;
    overflow: hidden;
}
.banner .banner-inner::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.5) 100%);
    pointer-events: none;
}
.banner h1{
    font-size: 80px;
    color: #EAE2CF;
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.1;
    z-index: 1;
}
.writing-content{
    padding: 64px 0;
}
.writing-sidebar{
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px;
}
.writing-sidebar small{
    font-size: 15px;
    color: #000;
    font-style: italic;
}
.writing-sidebar ul{
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}
/* Progress track */
.writing-sidebar ul::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #D5CFC0;
}
/* Progress fill — height set by JS */
.writing-sidebar .progress-fill{
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 0%;
    background-color: #5C0504;
    transition: height 0.15s ease-out;
    z-index: 1;
}
.writing-sidebar ul li{
    padding-left: 20px;
    position: relative;
}
.writing-sidebar ul li a{
    font-size: 17px;
    color: #9E9A90;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    padding: 8px 0;
}
.writing-sidebar ul li a:hover{
    color: #5C0504;
}
/* Active TOC item — set by JS on scroll */
.writing-sidebar ul li.active a{
    color: #5C0504;
}
/* Dot indicator on active item */
.writing-sidebar ul li.active::before{
    content: "";
    position: absolute;
    left: -3px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: #5C0504;
    border-radius: 50%;
    z-index: 2;
}
/* Read percentage */
.writing-sidebar .read-percent{
    font-size: 13px;
    color: #9E9A90;
    font-style: italic;
    margin-top: 16px;
    transition: color 0.3s ease;
}
.writing-sidebar .read-percent.reading{
    color: #5C0504;
}

/* Essay without sidebar — centered single column */
.writing-content-centered{
    padding: 64px 0;
}
.writing-content-centered .writing-text{
    max-width: 680px;
    margin: 0 auto;
}
.writing-meta{
    text-align: center;
    margin-bottom: 48px;
    color: #666;
    font-style: italic;
    font-size: 15px;
}

/* Conversation/interview styles */
.writing-text .speaker{
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5C0504;
    margin-bottom: 4px;
    margin-top: 32px;
}
.writing-text .speaker:first-of-type{
    margin-top: 0;
}
.writing-text h2{
    font-size: 24px;
    color: #2D2929;
    margin-top: 48px;
    margin-bottom: 24px;
    line-height: 1.3;
}

/* Essay text */
.writing-text{
    max-width: 680px;
}
.writing-text p{
    font-size: 19px;
    line-height: 1.75;
    color: #1a1a1a;
    margin-bottom: 24px;
}
.writing-text p:last-child{
    margin-bottom: 0;
}

/* ============================================
   WRITING & CONVERSATIONS (INDEX) PAGE
   ============================================ */

.writing-conversations, .about-section{
    padding: 48px 0;
}
.writing-conversations-header{
    display: flex;
    align-items: center;
    gap: 32px;
}
.writing-conversations-header h1{
    font-weight: 400;
    font-size: 64px;
    color: #000;
    line-height: 1.1;
}
.writing-conversations-header img{
    width: 120px;
}
.writing-conversations h2{
    font-size: 21px;
    margin-top: 32px;
    line-height: 1.5;
    color: #333;
}

/* ============================================
   ABOUT PAGE
   ============================================ */

.about-header{
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
    align-items: center;
    margin-bottom: 64px;
}
.about-header img{
    max-width: 140px;
    width: 100%;
}
.about-header h1{
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    color: #2D2929;
    line-height: 1.2;
    max-width: 700px;
}
.about-section h2{
    font-size: 30px;
    text-align: center;
    margin-bottom: 24px;
    color: #2D2929;
}
.about-section p, .about-section ul li{
    font-size: 19px;
    margin-bottom: 24px;
    font-weight: 400;
    line-height: 1.7;
    color: #1a1a1a;
}
.about-section .about-body{
    max-width: 800px;
    margin: 0 auto;
}
.about-section ul{
    padding-left: 40px;
    list-style-type: disc;
}
.about-section ul li{
    margin-bottom: 8px;
}

/* ============================================
   HOMEPAGE CENTERED VARIANT
   ============================================ */

/* Hero */
.centered-home .hero-tagline{
    text-align: center;
    padding: 48px 0 32px 0;
}
.centered-home .hero-tagline p{
    font-weight: 400;
    font-size: 28px;
    color: #2D2929;
    text-transform: uppercase;
    line-height: 1.25;
    max-width: 860px;
    margin: 0 auto;
    letter-spacing: 0.04em;
}
.centered-home .video-wrapper{
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #EFEFD5;
}
.centered-home .video-wrapper video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Intro section */
.centered-home .intro-section{
    padding-top: 48px;
}
.centered-home .hero-statement{
    font-size: 26px;
    color: #000;
    line-height: 1.35;
    margin-bottom: 20px;
}
.centered-home .hero-body{
    font-size: 19px;
    color: #555;
    line-height: 1.7;
    margin-top: 12px;
}
/* Wayfinding — case-study style bars */
.centered-home .wayfinding{
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 0;
}
.centered-home .wayfinding-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    height: 51px;
    border: 1px solid #5C0504;
    border-radius: 4px;
    text-decoration: none;
    position: relative;
    margin: 8px 0;
    transition: 0.3s all;
}
.centered-home .wayfinding-item:hover{
    background-color: #1E392B;
    border-color: #1E392B;
    color: #EFEFD5 !important;
}
.centered-home .wayfinding-item:hover:before{
    background-color: #1E392B;
}
.centered-home .wayfinding-item:hover:after{
    background-color: #1E392B;
}
.centered-home .wayfinding-title{
    font-size: 20px;
    color: #1a1a1a;
    display: block;
    transition: color 0.3s;
}
.centered-home .wayfinding-desc{
    font-size: 18px;
    color: #1a1a1a;
    font-style: italic;
    display: block;
    transition: color 0.3s;
}
.centered-home .wayfinding-item:hover .wayfinding-title,
.centered-home .wayfinding-item:hover .wayfinding-desc{
    color: #EFEFD5;
}

/* Mosaic icon interaction */
.mosaic-icon-wrap{
    display: inline-block;
    position: relative;
}
.mosaic-icon-wrap img{
    display: block;
}
/* Lifted tiles — generated by JS, proximity activated */
.mosaic-lift-tile{
    position: absolute;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    pointer-events: none;
    z-index: 2;
    background-repeat: no-repeat;
}
.mosaic-lift-tile.active{
    opacity: 1;
    transform: translateY(-3px);
    box-shadow: 0 3px 6px rgba(0,0,0,0.18);
}

/* Writing — full-width 3-column */
.centered-home .recent-writing{
    padding-top: 80px;
}
.centered-home .recent-writing h2,
.centered-home .who-we-work h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
}
.centered-home .writing-card-top p{
    font-style: italic;
}

/* Case studies — full width */
.centered-home .who-we-work{
    padding-top: 80px;
}

/* Testimonial Deck */
.testimonial-deck-wrap{
    padding-top: 8px;
}
.testimonial-deck-wrap h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
    margin-bottom: 32px;
}
.testimonial-deck{
    position: relative;
    height: 320px;
    perspective: 600px;
}
.testimonial-card{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--card-bg, #1E392B);
    color: #EAE2CF;
    border-radius: 6px;
    padding: 32px 28px 28px;
    cursor: pointer;
    transition: transform 0.5s ease, opacity 0.5s ease, box-shadow 0.5s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    user-select: none;
}
.testimonial-card:nth-child(2){ transform: rotate(1.5deg) translateY(6px); z-index: 3; }
.testimonial-card:nth-child(3){ transform: rotate(-1deg) translateY(12px); z-index: 2; }
.testimonial-card:nth-child(4){ transform: rotate(2deg) translateY(18px); z-index: 1; }
.testimonial-card.active{
    transform: rotate(0deg) translateY(0);
    z-index: 10;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.testimonial-mark{
    font-size: 72px;
    line-height: 0.6;
    display: block;
    opacity: 0.25;
    margin-bottom: 8px;
    font-family: Georgia, serif;
}
.testimonial-card p{
    font-size: 18px;
    line-height: 1.65;
    margin: 0;
}
.testimonial-card cite{
    display: block;
    margin-top: 20px;
    font-style: normal;
    font-size: 15px;
    opacity: 0.8;
}
.testimonial-card cite span{
    display: block;
    font-style: italic;
    font-size: 14px;
    opacity: 0.7;
    margin-top: 2px;
}

/* Subscribe band */
.centered-home .subscribe-band{
    margin-top: 80px;
    padding: 64px 0;
    border-top: 1px solid #C5BDA8;
    border-bottom: 1px solid #C5BDA8;
}
.centered-home .subscribe-band-inner{
    display: flex;
    align-items: center;
    gap: 48px;
    max-width: 800px;
    margin: 0 auto;
}
.centered-home .subscribe-band-icon{
    width: 80px;
    flex-shrink: 0;
}
.centered-home .subscribe-band-content{
    flex: 1;
}
.centered-home .subscribe-band-content h2{
    font-size: 24px;
    color: #5C0504;
    margin-bottom: 6px;
}
.centered-home .subscribe-band-content p{
    font-size: 17px;
    color: #666;
    font-style: italic;
    margin-bottom: 16px;
}
.centered-home .subscribe-band-content form{
    display: flex;
    align-items: center;
    gap: 2px;
}
.centered-home .subscribe-band-content form input{
    padding: 10px;
    border-radius: 2px;
    border: 1px solid #5C0504;
    height: 42px;
    background-color: transparent;
    width: 100%;
    transition: 0.5s all;
    font-family: "ET Book", "Bembo", serif;
    font-size: 16px;
}
.centered-home .subscribe-band-content form input:focus{
    outline: none;
    box-shadow: none;
    background-color: #fff;
}
.centered-home .subscribe-band-content form button{
    width: 60px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: 1px solid #5C0504;
    border-radius: 2px;
    cursor: pointer;
    flex-shrink: 0;
}

/* ============================================
   CANON PAGE
   ============================================ */

.canon-section{
    padding: 48px 0;
}
.canon-header{
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
    align-items: center;
    margin-bottom: 32px;
}
.canon-header img{
    max-width: 140px;
    width: 100%;
}
.canon-header h1{
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    color: #2D2929;
    line-height: 1.2;
    letter-spacing: 0.06em;
}
.canon-intro{
    font-size: 19px;
    color: #555;
    line-height: 1.7;
    font-style: italic;
    max-width: 720px;
    margin: 0 auto 64px auto;
    text-align: center;
}
.canon-body{
    max-width: 900px;
    margin: 0 auto;
}
.canon-theme{
    margin-bottom: 64px;
}
.canon-theme:last-child{
    margin-bottom: 0;
}
.canon-theme h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.canon-theme-note{
    font-size: 16px;
    color: #888;
    font-style: italic;
    margin-bottom: 24px;
    line-height: 1.6;
}
.canon-entries{
    display: flex;
    flex-direction: column;
    gap: 0;
}
.canon-entry{
    padding: 20px 0;
    border-bottom: 1px solid #D5CFC0;
}
.canon-entry:last-child{
    border-bottom: none;
}
.canon-entry-title{
    font-size: 20px;
    color: #000;
}
.canon-entry-author{
    font-size: 16px;
    color: #888;
    font-style: italic;
    margin-bottom: 6px;
}
.canon-entry-note{
    font-size: 17px;
    color: #444;
    line-height: 1.6;
}
.canon-guide{
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid #C5BDA8;
}
.canon-guide h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
    margin-bottom: 24px;
}
.canon-guide-group{
    margin-bottom: 20px;
}
.canon-guide-group h3{
    font-size: 18px;
    color: #000;
    font-weight: 400;
    margin-bottom: 4px;
}
.canon-guide-group p{
    font-size: 17px;
    color: #666;
    font-style: italic;
    line-height: 1.6;
}

/* ============================================
   SUBSCRIBE PAGE
   ============================================ */

.subscribe-section{
    padding: 48px 0;
}
.subscribe-header-block{
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
    align-items: center;
    margin-bottom: 48px;
}
.subscribe-header-block img{
    max-width: 140px;
    width: 100%;
}
.subscribe-header-block h1{
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    color: #2D2929;
    line-height: 1.2;
    letter-spacing: 0.06em;
}
.subscribe-body{
    max-width: 1000px;
    margin: 0 auto;
}
.subscribe-pitch{
    font-size: 24px;
    color: #000;
    line-height: 1.4;
    margin-bottom: 20px;
}
.subscribe-detail{
    font-size: 19px;
    color: #555;
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 40px;
}
.subscribe-form-block form{
    display: flex;
    align-items: center;
    gap: 2px;
    max-width: 480px;
}
.subscribe-form-block form input{
    padding: 10px;
    border-radius: 2px;
    border: 1px solid #5C0504;
    height: 48px;
    background-color: transparent;
    width: 100%;
    transition: 0.5s all;
    font-family: "ET Book", "Bembo", serif;
    font-size: 18px;
}
.subscribe-form-block form input:focus{
    outline: none;
    box-shadow: none;
    background-color: #fff;
}
.subscribe-form-block form button{
    width: 64px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: 1px solid #5C0504;
    border-radius: 2px;
    cursor: pointer;
    flex-shrink: 0;
}
.subscribe-note{
    font-size: 14px;
    color: #999;
    font-style: italic;
    margin-top: 12px;
}
.subscribe-recent{
    margin-top: 16px;
}
.subscribe-recent h3{
    font-size: 18px;
    color: #5C0504;
    margin-bottom: 16px;
    font-weight: 400;
}
.subscribe-recent-item{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 0;
    border-top: 1px solid #D5CFC0;
    text-decoration: none;
    transition: 0.2s all;
}
.subscribe-recent-item:last-child{
    border-bottom: 1px solid #D5CFC0;
}
.subscribe-recent-item:hover{
    padding-left: 8px;
}
.subscribe-recent-title{
    font-size: 17px;
    color: #000;
    transition: color 0.2s;
}
.subscribe-recent-item:hover .subscribe-recent-title{
    color: #5C0504;
}
.subscribe-recent-date{
    font-size: 14px;
    color: #999;
    font-style: italic;
    white-space: nowrap;
    margin-left: 16px;
}

/* ============================================
   WORK WITH US PAGE
   ============================================ */

.work-section{
    padding: 48px 0;
}
.work-header{
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
    align-items: center;
    margin-bottom: 48px;
}
.work-header img{
    max-width: 140px;
    width: 100%;
}
.work-header h1{
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    color: #2D2929;
    line-height: 1.2;
    letter-spacing: 0.06em;
}
.work-body{
    max-width: 1000px;
    margin: 0 auto;
}
.work-statement{
    font-size: 24px;
    color: #000;
    line-height: 1.4;
    margin-bottom: 20px;
}
.work-detail{
    font-size: 19px;
    color: #444;
    line-height: 1.7;
    margin-bottom: 16px;
}
.work-fit{
    margin-top: 16px;
}
.work-fit h3{
    font-size: 18px;
    color: #5C0504;
    margin-bottom: 16px;
    font-weight: 400;
}
.work-fit-item{
    padding: 12px 0;
    border-top: 1px solid #D5CFC0;
}
.work-fit-item:last-child{
    border-bottom: 1px solid #D5CFC0;
}
.work-fit-item p{
    font-size: 17px;
    color: #444;
    line-height: 1.5;
}
.work-engagements{
    margin-top: 80px;
}
.work-engagements h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
    margin-bottom: 32px;
}
.work-engagement-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}
.work-engagement h3{
    font-size: 20px;
    color: #000;
    margin-bottom: 4px;
    font-weight: 400;
}
.work-engagement-duration{
    font-size: 15px;
    color: #888;
    font-style: italic;
    margin-bottom: 12px;
}
.work-engagement p:last-child{
    font-size: 17px;
    color: #444;
    line-height: 1.6;
}
.work-clients{
    margin-top: 80px;
    padding-top: 48px;
    border-top: 1px solid #C5BDA8;
}
.work-clients h2{
    font-size: 22px;
    color: #5C0504;
    border-bottom: 1px solid #5C0504;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.work-client-list{
    margin-top: 48px;
}
.work-client-list h3{
    font-size: 18px;
    color: #918B7B;
    font-style: italic;
    margin-bottom: 20px;
}
.work-client-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.work-client-grid span{
    font-size: 18px;
    color: #1a1a1a;
    padding: 14px 0;
    border-bottom: 1px solid #D5CFC0;
}
.work-contact{
    margin-top: 80px;
    padding-top: 48px;
    border-top: 1px solid #C5BDA8;
}
.work-contact h2{
    font-size: 24px;
    color: #000;
    margin-bottom: 12px;
}
.work-contact > .row > .col-lg-7 > p{
    font-size: 18px;
    color: #555;
    font-style: italic;
    margin-bottom: 32px;
    line-height: 1.6;
}
.work-contact-links{
    display: flex;
    gap: 12px;
}
.work-contact-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 1px solid #5C0504;
    border-radius: 4px;
    font-family: "ET Book", "Bembo", serif;
    font-size: 18px;
    color: #1a1a1a;
    text-decoration: none;
    transition: 0.3s all;
}
.work-contact-link:hover{
    background-color: #1E392B;
    border-color: #1E392B;
    color: #EFEFD5;
}
.work-aside{
    margin-top: 48px;
    padding: 24px;
    border-left: 2px solid #5C0504;
}
.work-aside p{
    font-size: 17px;
    color: #555;
    line-height: 1.6;
    font-style: italic;
    margin-bottom: 16px;
}
.work-aside-link{
    font-size: 17px;
    color: #5C0504;
    text-decoration: none;
    transition: 0.2s all;
}
.work-aside-link:hover{
    color: #000;
}

/* ============================================
   PHILOSOPHY PAGE
   ============================================ */

.philosophy{
    padding: 80px 0 96px;
}
.philosophy-title{
    text-align: center;
    padding: 48px 0 72px;
    border-bottom: 1px solid #C5BDA8;
    margin-bottom: 64px;
}
.philosophy-title h1{
    font-size: 64px;
    color: #1a1a1a;
    line-height: 1.1;
    letter-spacing: -0.5px;
}
.philosophy-body{
    max-width: 680px;
    margin: 0 auto;
}
.philosophy-body p{
    font-size: 19px;
    color: #333;
    line-height: 1.75;
    margin-bottom: 28px;
}
.philosophy-pullquote{
    margin: 56px 0;
    padding: 0;
    border: none;
}
.philosophy-pullquote p{
    font-size: 28px;
    color: #5C0504;
    line-height: 1.4;
    margin-bottom: 0;
    font-style: italic;
}
.philosophy-closing{
    font-size: 22px !important;
    color: #1a1a1a !important;
    line-height: 1.6 !important;
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid #C5BDA8;
}
