/* ==========================================================================
   ISS INVESTIGATIONS
   Home Stylesheet
   Refactored Edition
   ========================================================================== */

/* ==========================================================================
   Root Variables
   ========================================================================== */

:root{

    --iss-bg:#0a1525;
    --iss-bg-alt:#0f1f35;
    --iss-surface:#152238;
    --iss-surface-light:#1a2d45;
    --iss-surface-strong:#0d1828;
    --iss-bg-elevated:#1e3a5f;

    --iss-border:#2d4159;
    --iss-border-light:#3a5270;
    --iss-border-strong:#4a6385;

    --iss-primary:#e87722;
    --iss-primary-dark:#cf6818;
    --iss-primary-light:#f0954d;
    --iss-accent:#e87722;
    --iss-accent-soft:rgba(232,119,34,0.15);

    --iss-white:#ffffff;

    --iss-text:#f5f2ec;
    --iss-text-light:#d4d9de;
    --iss-text-muted:#8a9bb0;
    --iss-text-soft:#6b7d93;

    --iss-shadow-sm:0 2px 8px rgba(0,0,0,.25);
    --iss-shadow-md:0 8px 24px rgba(0,0,0,.30);
    --iss-shadow-lg:0 16px 40px rgba(0,0,0,.35);
    --iss-shadow-glow:0 0 20px rgba(232,119,34,0.15);

    --iss-radius:4px;
    --iss-radius-sm:2px;
    --iss-radius-lg:8px;

    --iss-container:92%;
    --iss-container-mob:94%;
    --iss-max-width:1280px;

    --transition:.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast:.2s ease;

}

/* ==========================================================================
   Base
   ========================================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--iss-bg);
    color:var(--iss-text);
    font-family:'Lato',sans-serif;
    line-height:1.6;
    font-size:1rem;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    margin:0 auto;
    min-height:100vh;
}

main,
.site-main,
.iss-home,
.public-page-shell{
    background:var(--iss-bg);
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

section{
    position:relative;
    color:var(--iss-text);
    background:transparent;
}

h1,h2,h3,h4,h5,h6{
    color:var(--iss-text);
    font-family:'EB Garamond',serif;
    line-height:1.15;
    margin:0;
}

p, li, label, small, input, textarea, select, button{
    font-family:'Lato',sans-serif;
}

p, li, label, small{
    color:var(--iss-text-light);
}

.home-shell{
    overflow:hidden;
}

.home-container{

    width:100%;
    margin:auto;
    padding:5rem 0;

}
.home-section{
	padding:0 5rem;
}
/* ==========================================================================
   Typography
   ========================================================================== */

.home-kicker{

    display:inline-block;

    color:var(--iss-primary);

    font-size:0.7rem;

    font-weight:700;

    letter-spacing:.22em;

    text-transform:uppercase;

    margin-bottom:1rem;

}

.home-section-title{

    font-family:'EB Garamond',serif;

    font-size:clamp(2rem, 4vw, 3rem);

    line-height:1.15;

    margin-bottom:1.25rem;

    font-weight:600;

}

.home-section-copy{

    color:var(--iss-text-light);

    font-size:1rem;

    line-height:1.75;

}

/* ==========================================================================
   Hero
   ========================================================================== */

.home-hero{

    padding:8rem 0 6rem;
    display:flex;
    align-items:center;

}

.home-hero-layout{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:3rem;

    align-items:center;

}

.home-hero-title{

    font-family:'EB Garamond',serif;

    font-size:clamp(2.5rem, 5vw, 4rem);

    line-height:1.08;

    margin-bottom:1.5rem;

    font-weight:600;

}

.home-hero-title em{

    color:var(--iss-primary);

    font-style:normal;

}

.home-hero-copy{

    font-size:1rem;

    color:var(--iss-text-light);

    line-height:1.75;

}

.home-hero-actions{

    display:flex;

    gap:16px;

    flex-wrap:wrap;

    margin-top:35px;

}

/* ==========================================================================
   Buttons
   ========================================================================== */

.home-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:0.85rem 1.75rem;

    border-radius:var(--iss-radius-sm);

    font-size:0.8rem;

    font-weight:700;

    letter-spacing:.10em;

    text-transform:uppercase;

    transition:var(--transition);

    cursor:pointer;

    gap:0.5rem;

}

.home-button:hover{

    transform:translateY(-2px);
    box-shadow:var(--iss-shadow-md);

}

.home-button--primary{

    background:linear-gradient(135deg, var(--iss-primary) 0%, var(--iss-primary-dark) 100%);

    color:#fff;

    box-shadow:var(--iss-shadow-sm);

}

.home-button--primary:hover{

    background:linear-gradient(135deg, var(--iss-primary-light) 0%, var(--iss-primary) 100%);
    box-shadow:var(--iss-shadow-glow);

}

.home-button--secondary{

    border:1px solid var(--iss-border-light);

    color:var(--iss-white);

    background:transparent;

}

.home-button--secondary:hover{

    background:var(--iss-surface);
    border-color:var(--iss-primary);

}

.home-button--ghost{

    background:transparent;

    border:1px solid var(--iss-primary);

    color:var(--iss-primary);

}

.home-button--ghost:hover{

    background:var(--iss-accent-soft);
    border-color:var(--iss-primary-light);

}

/* ==========================================================================
   Hero Information Panel
   ========================================================================== */

.home-hero-panel{

    background:var(--iss-surface);

    border-radius:var(--iss-radius);

    padding:2rem;

    box-shadow:var(--iss-shadow-md);
    transition:var(--transition);

}

.home-hero-panel:hover{
    box-shadow:var(--iss-shadow-lg);
}

.home-panel-label{

    color:var(--iss-primary);

    text-transform:uppercase;

    font-size:0.7rem;

    letter-spacing:.18em;

    font-weight:700;

}

.home-panel-head{

    font-family:'EB Garamond',serif;

    font-size:clamp(1.5rem, 3vw, 2rem);

    margin:1rem 0;

    font-weight:600;

}

.home-panel-copy{

    color:var(--iss-text-light);

    margin-bottom:1.5rem;

    line-height:1.7;

    font-size:0.95rem;

}

/* ==========================================================================
   Investigation Process
   ========================================================================== */

.home-protocol{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.home-protocol-item{

    display:grid;

    grid-template-columns:55px auto;

    gap:18px;

    align-items:flex-start;

    background:var(--iss-bg-alt);

    padding:18px;

    border-radius:var(--iss-radius);

}

.home-protocol-num{

    display:flex;

    align-items:center;

    justify-content:center;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--iss-primary);

    color:#fff;

    font-weight:bold;

    font-size:18px;

}

.home-protocol-title{

    font-size:18px;

    font-weight:700;

    margin-bottom:6px;

}

.home-protocol-text{

    color:var(--iss-text-light);

}
/* ==========================================================================
   Hero Signals
   ========================================================================== */

.home-hero-signals{

    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:35px;

}

.home-pill{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:10px 18px;

    background:var(--iss-bg-alt);

    border:1px solid var(--iss-border);

    border-radius:0px;

    color:var(--iss-text-light);

    font-size:0.95rem;

}

/* ==========================================================================
   Metrics
   ========================================================================== */

.home-metrics{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-top:35px;

}

.home-metric{

    background:var(--iss-bg-alt);

    border:1px solid var(--iss-border);

    padding:25px;

    border-radius:var(--iss-radius);

    text-align:center;

}

.home-metric-value{

    display:block;

    font-family:'EB Garamond',serif;

    font-size:42px;

    color:var(--iss-primary);

    margin-bottom:8px;

}

.home-metric-label{

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:var(--iss-text-muted);

}

/* ==========================================================================
   Layout Helpers
   ========================================================================== */

.home-grid-2{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:2rem;

}

.home-grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

}

.home-grid-auto{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:2rem;

}

.two-col-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:3rem;

    align-items:center;

}

.two-col-form{

    display:grid;

    grid-template-columns:1fr 1.2fr;

    gap:2.5rem;

    align-items:flex-start;

}

/* ==========================================================================
   Cards
   ========================================================================== */

.home-card{

    background:var(--iss-surface);

    border:1px solid var(--iss-border);

    border-radius:var(--iss-radius);

    padding:2rem;

    transition:var(--transition);

    height:100%;

}

.home-card:hover{

    border-color:var(--iss-primary);

    transform:translateY(-4px);

    box-shadow:var(--iss-shadow-lg);

}

.home-card--link{

    display:flex;

    flex-direction:column;

}

.home-card-icon{

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:var(--iss-radius);

    background:var(--iss-accent-soft);

    color:var(--iss-primary);

    margin-bottom:1.5rem;

    font-size:1.5rem;

    transition:var(--transition);

}

.home-card--link:hover .home-card-icon{
    background:var(--iss-primary);
    color:#fff;
    transform:scale(1.05);
}

.home-card-kicker{

    color:var(--iss-primary);

    text-transform:uppercase;

    font-size:0.7rem;

    font-weight:700;

    letter-spacing:.18em;

    margin-bottom:0.75rem;

}

.home-card-title{

    font-family:'EB Garamond',serif;

    font-size:clamp(1.25rem, 2.5vw, 1.75rem);

    margin-bottom:1rem;

    font-weight:600;

}

.home-card-text{

    color:var(--iss-text-light);

    margin-bottom:1.5rem;

    flex:1;

    line-height:1.7;

    font-size:0.95rem;

}

.home-card-linktext{

    color:var(--iss-primary);

    font-weight:700;

    text-transform:uppercase;

    font-size:13px;

    letter-spacing:.08em;

}

/* ==========================================================================
   Services
   ========================================================================== */

.home-service-card{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

}

.home-service-card h3{

    font-family:'EB Garamond',serif;

    font-size:28px;

    margin-bottom:15px;

}

.home-service-card p{

    color:var(--iss-text-light);

}

.home-service-card ul{

    margin-top:20px;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.home-service-card li{

    color:var(--iss-text-light);

    padding-left:18px;

    position:relative;

}

.home-service-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:10px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--iss-primary);

}

/* ==========================================================================
   Highlight Band
   ========================================================================== */

.home-band{

    background:var(--iss-surface);

    border:1px solid var(--iss-border);

    padding:2.5rem;

    border-radius:var(--iss-radius);

}

/* ==========================================================================
   Why Choose Us
   ========================================================================== */

.home-why-layout{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:45px;

}

.home-check-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.home-check-card{

    background:var(--iss-surface);

    border:1px solid var(--iss-border);

    border-radius:var(--iss-radius);

    padding:1.75rem;

    transition:var(--transition);

}

.home-check-card:hover{
    border-color:var(--iss-border-light);
    transform:translateY(-2px);
}

.home-check-card h4{

    margin:15px 0 10px;

    font-size:22px;

    font-family:'EB Garamond',serif;

}

.home-check-card p{

    color:var(--iss-text-light);

}

/* ==========================================================================
   Track Grid
   ========================================================================== */

.track-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:20px;

    text-align:center;

}

.track-grid .home-card{

    padding:25px;

}

.track-grid h4{

    margin-top:15px;

    font-size:18px;

}

.track-grid p{

    margin-top:10px;

    color:var(--iss-text-light);

}

/* ==========================================================================
   Utility
   ========================================================================== */

.text-center{

    text-align:center;

}

.mt-1{margin-top:2px;}
.mt-2{margin-top:5px;}
.mt-3{margin-top:10px;}
.mt-4{margin-top:20px;}
.mt-5{margin-top:30px;}

.mb-1{margin-bottom:2px;}
.mb-2{margin-bottom:5px;}
.mb-3{margin-bottom:10px;}
.mb-4{margin-bottom:20px;}
.mb-5{margin-bottom:30px;}
/* ==========================================================================
   Testimonials
   ========================================================================== */

.home-review-score{
    text-align:right;
}

.home-review-number{
    display:block;
    font-family:'EB Garamond',serif;
    font-size:54px;
    color:var(--iss-primary);
    line-height:1;
}

.home-review-meta{
    margin-top:8px;
    color:var(--iss-text-muted);
    text-transform:uppercase;
    letter-spacing:.10em;
    font-size:13px;
}

.home-review-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.home-stars{
    color:var(--iss-primary);
    font-size:18px;
    letter-spacing:4px;
}

.home-review-body{
    margin:25px 0;
    color:var(--iss-text-light);
    line-height:1.8;
    flex:1;
}

.home-review-footer{

    display:flex;
    justify-content:space-between;
    align-items:center;

    border-top:1px solid var(--iss-border);

    padding-top:20px;

}

.home-review-name{

    color:var(--iss-primary);

    font-weight:700;

}

.home-review-date{

    color:var(--iss-text-muted);

    font-size:14px;

}

.home-review-empty{

    text-align:center;
    padding:70px 20px;

}

/* ==========================================================================
   Articles / Insights
   ========================================================================== */

.home-insight-card{

    display:flex;
    flex-direction:column;

}

.home-insight-meta{

    display:flex;
    justify-content:space-between;

    margin-bottom:20px;

    font-size:13px;

    text-transform:uppercase;

}

.home-insight-meta span:first-child{

    color:var(--iss-primary);
    font-weight:700;

}

.home-insight-meta span:last-child{

    color:var(--iss-text-muted);

}

.home-insight-card h3{

    font-family:'EB Garamond',serif;
    font-size:28px;
    margin-bottom:20px;

}

.home-insight-card p{

    color:var(--iss-text-light);

    flex:1;

}

/* ==========================================================================
   Contact Section
   ========================================================================== */

.home-contact-shell{

    display:grid;

    grid-template-columns:.95fr 1.05fr;

    gap:40px;

}

.home-contact-panel,
.home-form-panel{

    background:var(--iss-surface);

    border:1px solid var(--iss-border);

    border-radius:var(--iss-radius);

    padding:40px;

}

.home-contact-links{

    display:flex;

    flex-direction:column;

    gap:20px;

    margin-top:35px;

}

.home-contact-link{

    display:grid;

    grid-template-columns:55px auto;

    gap:18px;

    padding:20px;

    background:var(--iss-bg-alt);

    border:1px solid var(--iss-border);

    border-radius:var(--iss-radius);

    transition:var(--transition);

}

.home-contact-link:hover{

    border-color:var(--iss-primary);

}

.home-contact-link strong{

    display:block;

    color:var(--iss-primary);

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:.15em;

}

.home-contact-link span{

    display:block;

    margin-top:4px;

    color:var(--iss-text);

    font-size:18px;

}

.home-callout{

    margin-top:35px;

    padding:20px;

    border-left:4px solid var(--iss-primary);

    background:rgba(232,119,34,.08);

    color:var(--iss-text-light);

}

/* ==========================================================================
   Forms
   ========================================================================== */

.home-form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.home-form-field{

    display:flex;

    flex-direction:column;

}

.home-form-field.full{

    grid-column:1/-1;

}

.home-form-field label{

    margin-bottom:8px;

    color:var(--iss-primary);

    font-size:12px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.15em;

}

.home-form-field input,
.home-form-field textarea,
.home-form-field select{

    width:100%;

    padding:0.85rem 1rem;

    background:var(--iss-bg);

    border:1px solid var(--iss-border);

    color:var(--iss-text);

    border-radius:var(--iss-radius-sm);

    font-size:0.95rem;

    transition:var(--transition);

    font-family:'Lato',sans-serif;

}

.home-form-field textarea{

    resize:vertical;

    min-height:170px;

}

.home-form-field input:focus,
.home-form-field textarea:focus,
.home-form-field select:focus{

    outline:none;

    border-color:var(--iss-primary);
    box-shadow:0 0 0 3px var(--iss-accent-soft);

}

.home-form-actions{

    margin-top:30px;

}

.home-form-footnote{

    margin-top:20px;

    color:var(--iss-text-muted);

    font-size:13px;

}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:40px;

}

.footer-grid h4{

    margin-bottom:20px;

    font-family:'EB Garamond',serif;

    font-size:22px;

}

.footer-grid ul{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.footer-grid li{

    color:var(--iss-text-light);

}

.footer-grid a{

    transition:var(--transition);

}

.footer-grid a:hover{

    color:var(--iss-primary);

}

/* ==========================================================================
   Empty States
   ========================================================================== */

.home-muted-empty{

    color:var(--iss-text-muted);

}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media(max-width:1200px){

.home-hero-title{

font-size:clamp(2rem, 4.5vw, 3.5rem);

}

.home-section-title{

font-size:clamp(1.75rem, 3.5vw, 2.5rem);

}

}

@media(max-width:992px){

.home-hero-layout,
.home-contact-shell,
.home-why-layout,
.two-col-grid,
.two-col-form{

grid-template-columns:1fr;

}

.home-grid-3{

grid-template-columns:repeat(2,1fr);

}

.track-grid{

grid-template-columns:repeat(2,1fr);

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

.home-review-score{

text-align:left;

margin-bottom:25px;

}

}

@media(max-width:768px){

.home-section{

padding:4rem 0;

}

.home-section--tight{

padding:3rem 0;

}

.home-section--compact{

padding:2.5rem 0;

}

.home-hero{

padding:6rem 0 4rem;

min-height:auto;

}

.home-hero-title{

font-size:clamp(2rem, 6vw, 2.5rem);

}

.home-section-title{

font-size:clamp(1.5rem, 4vw, 2rem);

}

.home-grid-2,
.home-grid-3,
.home-grid-auto,
.home-form-grid,
.home-check-grid,
.home-metrics,
.track-grid,
.footer-grid{

grid-template-columns:1fr;

}

.home-hero-actions{

flex-direction:column;

gap:1rem;

}

.home-button{

width:100%;

justify-content:center;

}

.home-contact-panel,
.home-form-panel,
.home-card,
.home-band,
.home-hero-panel{

padding:1.75rem;

}

.home-hero-layout{

gap:2rem;

}

}

@media(max-width:576px){

.home-container{

padding:0 18px;

}

.home-hero-title{

font-size:40px;

}

.home-section-title{

font-size:32px;

}

.home-card{

padding:24px;

}

.home-panel-head{

font-size:30px;

}

.home-metric-value{

font-size:34px;

}

}
.flex-grow{margin-top:50px;}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes fadeInUp{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes fadeIn{
    from{opacity:0;}
    to{opacity:1;}
}

@keyframes slideInRight{
    from{
        opacity:0;
        transform:translateX(-20px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

.animate-fade-in-up{
    animation:fadeInUp 0.6s ease-out forwards;
}

.animate-fade-in{
    animation:fadeIn 0.4s ease-out forwards;
}

.animate-slide-in{
    animation:slideInRight 0.5s ease-out forwards;
}

/* Staggered animation delays */
.animate-delay-1{animation-delay:0.1s;}
.animate-delay-2{animation-delay:0.2s;}
.animate-delay-3{animation-delay:0.3s;}
.animate-delay-4{animation-delay:0.4s;}

/* Smooth scroll behavior */
html{
    scroll-behavior:smooth;
    scroll-padding-top:80px;
}

/* Selection styling */
::selection{
    background:var(--iss-primary);
    color:#fff;
}

::-moz-selection{
    background:var(--iss-primary);
    color:#fff;
}

/* Focus visible for accessibility */
:focus-visible{
    outline:2px solid var(--iss-primary);
    outline-offset:2px;
}