body {
    margin: 0;
    padding: 0;
    background-color: #fcfcfc; /* Off-white background */
    font-size: 12px;
    font-family: 'Source Sans Pro', sans-serif;
    -webkit-font-smoothing: subpixel-antialiased;
    line-height: 1.5;
}
* {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/*
 Primary Rules
*/
h1 {
    font-weight: 700; /* Bold for stronger presence */
    margin: 5px 0 0;
    font-size: 40px;
    color:#20B2AA; /* Light Sea Green / Teal */
    padding: 0 10px 10px;
    border-radius:2px;
    font-family: 'Merriweather', serif;
}
h2 {
    color: #20B2AA; /* Light Sea Green / Teal */
    width: 150px;
    font-size: 18px;
    padding-left: 20px;
    padding-top: 12px;
    font-weight:700;
    font-family: 'Merriweather', serif;
    border-right: 3px solid #FF8C00; /* Added: Orange accent line */
    padding-right: 10px;
}
h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 28px;
    font-family: 'Merriweather', serif;
    color: #444;
}
h2, h3 { margin-top: 5px }
a {
    color: #20B2AA; /* Teal for links */
    display: inline-block;
    text-decoration: none;
    padding:2px 4px;
    border-radius:2px;
    margin-right:-2px;
}
a:hover {
  background-color:#20B2AA;
  color:#fff;
}
.key:first-child { margin-left: 0 }
.key {
    margin: 0 10px;
    position: relative;
}
.key::before {
    content: '◆'; /* Kept original for the 'key' bullets */
    position: absolute;
    left: -15px;
    color: #FF8C00; /* Orange bullet points */
    font-size: 7pt;
}
.key:first-child::before { content: '' }
.section {
    border-bottom: 1px solid #F0F8F8; /* Very light teal border */
    padding: 10px 0 15px;
}
.section:last-child { border: none }
.section-text {
    width: 80%;
    font-size: 18px;
    line-height: 25px;
    margin: 10px 0 10px;
    padding: 0 10px;
}
.subsection { margin: 10px 0 5px }
.desc {
    font-size: 16px;
    font-family: 'Source Sans Pro', sans-serif;
    color:#444;
    line-height: 24px;
}
.contact-info {
    font-size: 16px;
    text-align: right;
    color: #555;
}
.light {
    color: #ccc; /* Lighter light text */
    letter-spacing:1px;
    font-size: 14px;
    line-height:28px;
    font-family: 'Source Sans Pro', sans-serif;
    text-transform:uppercase;
}

/* --- BULLET CHANGES START HERE --- */
ul{
  padding-left:25px; /* Increase padding to make room for custom bullet */
  list-style: none; /* Remove default list style */
}
ul li {
    margin-bottom: 8px; /* Slightly more space between list items */
    position: relative; /* Needed for positioning the custom bullet */
    padding-left: 18px; /* Space for the custom bullet */
}
ul li::before {
    content: '▶'; /* Custom bullet character: Right-pointing triangle */
    color: #FF8C00; /* Orange color for the bullet (first level) */
    font-size: 12px; /* Adjust size as needed */
    position: absolute;
    left: 0; /* Position the bullet */
    top: 5px; /* Aligned to the top */
    /* Removed transform: translateY(-50%); */
    line-height: 1; /* Ensure no extra line height from bullet */
}

/* Second level list bullets */
ul ul li {
    padding-left: 18px; /* Maintain indentation for second level */
}
ul ul li::before {
    content: '▶'; /* Still a triangle */
    color: #20B2AA; /* Teal color for second level bullets */
    font-size: 10px; /* Slightly smaller for second level */
    top: 5px; /* Align to top */
}
/* --- BULLET CHANGES END HERE --- */

ul.skills{
  float:left;
  width:30%;
  padding-left:0px;
  margin: 0 20px 0 0;
}

ul.skills li{
  list-style: none;
  font-size:16px;
  margin-bottom:10px;
}

ul.skills li:last-child{
  margin:0;
}

/*
 Float Rules
*/
.row:before, .row:after { content: ""; display: table; }
.row:after { clear: both }
.col { float: left }
.col-right { float: right }

/*
 Page Rules
*/
.page {
    width: 1000px;
    min-height: 29.7cm;
    margin: 1cm auto;
    background: white;
    padding: 25px 55px; /* Slightly adjusted padding */
    box-shadow: 0 2px 5px rgba(0,0,0,0.03); /* Very light shadow */
}
.subpage { padding: 1cm; border: 1px red solid; height: 297mm; }

@page { size: A4; margin: 0; }

@media print {
    .page { margin: 0; border: initial; border-radius: initial; width: initial; min-height: initial; box-shadow: initial; background: initial; page-break-after: always; }
    .page-break{ page-break-before: always; padding-top:30px; }
    body { font-size: 12pt;}
    h1{ font-size: 23pt; color: #20B2AA; }
    h2{ font-size:10pt; width: 3cm; padding-left: 10px; color: #20B2AA; border-right-width: 2px;}
    h3 { font-size: 10pt; line-height:11pt }
    .section-text { font-size: 9pt; line-height: 14pt; margin: 5px 0 8px;}
    .light { font-size: 7.5pt; line-height:12pt; color:#ccc;}
    .page { width: 21cm }

    /* --- PRINT BULLET CHANGES START HERE --- */
    ul {padding-left:18px; /* Adjust print padding */}
    ul li { margin-bottom: 3px; padding-left: 10px; }
    ul li::before {
        content: '▶';
        font-size: 8pt; /* Adjust print font size */
        left: 0;
        top: 2pt; /* Adjust for print alignment */
    }
    ul ul li {
        padding-left: 10px;
    }
    ul ul li::before {
        content: '▶';
        color: #20B2AA; /* Teal for print second level */
        font-size: 7pt; /* Slightly smaller in print */
        top: 2pt;
    }
    /* --- PRINT BULLET CHANGES END HERE --- */

    .section { padding: 5px 0 8px }
    .section-text { width: 15cm; margin: 5px 0 5px;}
    .subsection { margin: 5px 0 0 }
    .desc { font-size: 9pt; line-height: 14pt; }
    .contact-info { font-size: 9pt; line-height: 12pt; color: #555;}
    ul.skills{margin: 0 10px 0 0;}
    ul.skills li{ font-size: 9pt; margin-bottom:0}
}

/* Basic mobile responsiveness for screen viewing */
@media screen and (max-width: 768px) {
    .page { width: auto; margin: 0; padding: 15px; }
    .col, .col-right, .section-text { float: none; width: 100%; margin-left: 0; margin-right: 0; text-align: left; }
    .contact-info { text-align: left; margin-top: 10px; }
    h2 { width: auto; padding-left: 0; border-right: none; /* Remove border on mobile */ }
    ul.skills { width: 100%; float: none; margin: 0; }
    /* Mobile specific bullet adjustments if needed */
    ul li::before { left: 5px; top: 5px; } /* Adjust for mobile */
    ul ul li::before { left: 5px; top: 5px; }
}