:root{--bg:#f5f3ee;--ink:#222525;--muted:#6e7371;--accent:#aa684b;--line:#d8d9d4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 6%;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.brand{text-decoration:none;font-weight:800;letter-spacing:.06em;line-height:1.2}.brand span{display:block;font-size:10px;letter-spacing:.23em;color:var(--accent);margin-top:5px}nav{display:flex;flex-wrap:wrap;gap:25px}nav a{text-decoration:none;font-size:13px;font-weight:bold}nav a:hover,.social a:hover{color:var(--accent)}.hero{padding:120px 6% 130px;background:linear-gradient(130deg,#ece9e2,#f7f6f1);min-height:580px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.22em;color:var(--accent)}h1{font-size:clamp(44px,7.5vw,104px);letter-spacing:-.065em;line-height:1.02;max-width:1000px;margin:25px 0}h1 em{color:var(--accent);font-style:normal}.hero p{font-size:19px;max-width:610px;color:var(--muted)}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:35px}.btn{display:inline-block;border:0;background:var(--ink);color:white;padding:14px 22px;text-decoration:none;font-weight:bold;font-size:13px;cursor:pointer}.btn:hover{background:var(--accent)}.outline{text-decoration:none;font-weight:bold;font-size:13px}.section{padding:95px 6%;border-top:1px solid var(--line);scroll-margin-top:80px}.section-title{display:flex;justify-content:space-between;gap:25px;align-items:end}.section-title p{color:var(--muted);font-size:13px}h2{font-size:clamp(38px,5vw,68px);letter-spacing:-.05em;line-height:1.05;margin:12px 0 25px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.filters button{padding:9px 17px;background:transparent;border:1px solid var(--line);cursor:pointer}.filters button.active,.filters button:hover{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.work{min-width:0}.thumb{aspect-ratio:4/3;display:grid;place-items:center;background:#e0ddd5;border:1px solid var(--line);color:#777;text-align:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.work h3{font-size:17px;margin:13px 0 2px}.work p{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.reel{background:#eae7e0}.video{max-width:900px;background:#242424;aspect-ratio:16/9}.video video{width:100%;height:100%}.reel>p,.note{font-size:12px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{max-width:650px;color:var(--muted)}.contact{max-width:1000px}.contact>p{color:var(--muted)}form{display:grid;gap:8px;max-width:610px;margin-top:30px}label{font-weight:bold;font-size:13px;margin-top:10px}input,textarea{font:inherit;padding:12px;border:1px solid var(--line);background:white;color:var(--ink);width:100%}form button{justify-self:start;margin-top:12px}.social{margin-top:25px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:30px 6%;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.about{grid-template-columns:1fr;gap:0}}@media(max-width:550px){header{position:static;align-items:start;flex-direction:column}nav{gap:16px}.hero{padding:75px 6%}.section{padding:65px 6%}.gallery{grid-template-columns:1fr}.section-title{display:block}}

/* Centered, cropped portfolio thumbnails. */
.thumb {
  width: 100%;
  padding: 0;
  font: inherit;
  cursor: zoom-in;
}
.thumb img {
  display: block;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center center;
}
.thumb:hover { border-color: var(--accent); }
.thumb:focus-visible, .viewer-close:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}
.thumb:disabled { cursor: default; }
.art-viewer {
  width: min(1100px, 94vw);
  max-height: 92vh;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
}
.art-viewer::backdrop { background: rgba(0, 0, 0, .8); }
.art-viewer img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  object-position: center;
}
.art-viewer h3 { margin: 15px 0 0; text-align: center; }
.viewer-close {
  display: block;
  margin: 0 0 16px auto;
  padding: 10px 18px;
  border: 0;
  background: var(--ink);
  color: white;
  font: inherit;
  cursor: pointer;
}
body.viewer-open { overflow: hidden; }
.about-image {
  display: block;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  margin-top: 20px;
}
/* CARTOON PORTFOLIO STYLE */
:root {
  --bg: #fff8e8;
  --ink: #27383e;
  --muted: #485a60;
  --accent: #9c432f;
  --line: #27383e;
}

body {
  background-color: var(--bg);
  background-image: radial-gradient(
    #27383e20 1px,
    transparent 1px
  );
  background-size: 18px 18px;
  font-family: "Trebuchet MS", Verdana, sans-serif;
}

h1,
h2,
.brand {
  font-family: "Comic Sans MS", "Trebuchet MS", sans-serif;
  font-weight: 900;
}

header {
  background: var(--bg);
  border-bottom: 3px solid var(--ink);
}

.hero {
  background: transparent;
  border-bottom: 3px solid var(--ink);
}

h1 em {
  color: var(--accent);
  text-shadow: 2px 2px 0 #f9d56b;
}

.btn,
.outline,
.filters button,
.viewer-close {
  padding: 12px 20px;
  border: 3px solid var(--ink);
  border-radius: 16px;
  background: #f9d56b;
  color: var(--ink);
  font-family: inherit;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 4px 4px 0 var(--ink);
}

.outline {
  background: #cce5e8;
}

.btn:hover,
.outline:hover,
.viewer-close:hover {
  background: #f2a181;
  color: var(--ink);
}

.filters button.active,
.filters button:hover {
  background: var(--ink);
  color: white;
}

.gallery {
  gap: 30px;
}

.work {
  padding: 12px 12px 18px;
  background: white;
  border: 3px solid var(--ink);
  border-radius: 20px;
  box-shadow: 6px 6px 0 var(--ink);
}

.thumb {
  border: 2px solid var(--ink);
  border-radius: 12px;
  background: #cce5e8;
  overflow: hidden;
}

.thumb img {
  object-fit: cover;
  object-position: center;
}

.reel {
  background: #cce5e8;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
}

.video {
  border: 3px solid var(--ink);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 6px 6px 0 var(--ink);
}

.about-image {
  border: 3px solid var(--ink);
  border-radius: 24px;
  box-shadow: 6px 6px 0 var(--ink);
}

input,
textarea {
  border: 2px solid var(--ink);
  border-radius: 12px;
}

footer {
  background: #f9d56b;
  color: var(--ink);
  border-top: 3px solid var(--ink);
}

.art-viewer {
  border: 3px solid var(--ink);
  border-radius: 20px;
}
/* BLOG LAYOUT */
.blog-hero {
  min-height: auto;
  padding-top: 75px;
  padding-bottom: 75px;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 30px;
}

.blog-card {
  min-width: 0;
  padding: 28px;
  background: var(--bg);
  border: 3px solid var(--ink);
  border-radius: 20px;
  box-shadow: 6px 6px 0 var(--ink);
}

.blog-card h3 {
  margin: 14px 0;
  font-family: "Comic Sans MS", "Trebuchet MS", sans-serif;
  font-size: 25px;
  line-height: 1.3;
}

.blog-card p {
  margin-bottom: 25px;
  color: var(--muted);
}

.blog-post {
  max-width: 900px;
  margin: 0 auto;
  border-top: 2px dashed var(--ink);
}

.blog-post p {
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.blog-post .outline {
  display: inline-block;
  margin-top: 15px;
}

.blog-image {
  display: block;
  width: 100%;
  height: auto;
  margin: 25px 0;
  border: 3px solid var(--ink);
  border-radius: 18px;
}

nav a[aria-current="page"] {
  background: #f9d56b;
  color: var(--ink);
  border-radius: 10px;
}

@media (max-width: 650px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }

  .blog-card {
    padding: 22px;
  }
}
/* INSTAGRAM IMAGE PREVIEW */
.instagram-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 30px 0;
}

.instagram-grid a {
  display: block;
  overflow: hidden;
  border: 3px solid var(--ink);
  border-radius: 18px;
  background: var(--bg);
  box-shadow: 5px 5px 0 var(--ink);
}

.instagram-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 650px) {
  .instagram-grid {
    grid-template-columns: 1fr;
  }
}