
:root{
  --paper:#fff8ef;
  --white:#ffffff;
  --ink:#141414;
  --orange:#ff6a00;
  --red:#ff3b30;
  --pink:#ff4fa3;
  --yellow:#ffd400;
  --blue:#2457ff;
  --green:#00d27a;
  --line:rgba(20,20,20,.18);
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter', Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
button,input,select,textarea{font:inherit}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
  background:rgba(255,248,239,.92);
  border-bottom:2px solid var(--ink);
  backdrop-filter:blur(14px);
}
.wordmark{
  display:inline-flex;gap:6px;align-items:baseline;
  text-decoration:none;font-weight:900;letter-spacing:-.06em;
  font-size:1.32rem;line-height:1;
}
.wordmark span:first-child{color:var(--orange)}
.wordmark span:last-child{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-style:italic;font-weight:600;
}
.nav{display:flex;align-items:center;gap:24px;font-size:.82rem}
.nav a{text-decoration:none}
.nav-cta{
  padding:10px 12px;
  background:var(--yellow);
  border:2px solid var(--ink);
}
.menu-toggle{display:none;border:0;background:transparent;color:inherit}

.eyebrow{
  margin:0;
  font-size:.69rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:800;
}

.hero{
  max-width:var(--max);
  margin:0 auto;
  padding:62px 24px 42px;
  display:block;
}
.hero h1{
  margin:18px 0 22px;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(4.4rem,10vw,9rem);
  line-height:.79;
  letter-spacing:-.078em;
}
.hero h1 em{color:var(--orange)}
.hero-copy{
  max-width:760px;
  font-size:clamp(1.25rem,2vw,1.66rem);
  line-height:1.34;
  margin:0;
}
.hero-actions{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px;
}
.button{
  border:2px solid var(--ink);
  padding:13px 18px;
  text-decoration:none;
  font-weight:800;
  display:inline-block;
  cursor:pointer;
  box-shadow:6px 6px 0 var(--ink);
  transition:transform .12s ease, box-shadow .12s ease;
}
.button:hover{
  transform:translate(2px,2px);
  box-shadow:4px 4px 0 var(--ink);
}
.button-dark{background:var(--orange);color:var(--ink);border-color:var(--ink)}
.text-link{
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  border-bottom:2px solid var(--ink);
  padding-bottom:2px;
}
.band{
  overflow:hidden;
  display:flex;
  justify-content:space-around;
  gap:34px;
  padding:13px 18px;
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  background:var(--orange);
  color:var(--ink);
  white-space:nowrap;
}
.band span{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-size:.9rem;
  letter-spacing:.08em;
  font-weight:700;
}

.section{max-width:var(--max);margin:0 auto;padding:78px 24px}
.section-title{
  display:grid;
  grid-template-columns:.45fr 1.55fr;
  gap:30px;
  align-items:start;
  margin-bottom:34px;
}
.section-title h2{
  margin:0;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(2.9rem,5vw,5rem);
  line-height:.92;
  letter-spacing:-.05em;
}
.service-list{border-top:2px solid var(--ink)}
.service-row{
  display:grid;
  grid-template-columns:70px .85fr 1.25fr;
  gap:28px;
  padding:24px 0;
  border-bottom:2px solid var(--ink);
  align-items:start;
}
.service-row:nth-child(1){background:linear-gradient(90deg, transparent 0 4%, rgba(255,106,0,.16) 4% 100%)}
.service-row.highlight{background:linear-gradient(90deg, transparent 0 4%, rgba(255,212,0,.2) 4% 100%)}
.service-row.whisky{background:linear-gradient(90deg, transparent 0 4%, rgba(36,87,255,.13) 4% 100%)}
.service-row:nth-child(4){background:linear-gradient(90deg, transparent 0 4%, rgba(255,79,163,.12) 4% 100%)}
.service-index{
  font-size:.72rem;
  font-weight:900;
  color:var(--orange);
}
.service-row h3{
  margin:0 0 8px;
  font-size:1.7rem;
  letter-spacing:-.035em;
}
.service-row p{margin:0;line-height:1.48;max-width:470px}
.service-details{display:flex;flex-wrap:wrap;gap:7px}
.service-details span{
  border:2px solid var(--ink);
  padding:7px 10px;
  border-radius:999px;
  font-size:.78rem;
  background:var(--white);
}

.about{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:46px;
  align-items:center;
}
.portrait-placeholder{
  min-height:420px;
  background:
    radial-gradient(circle at 20% 20%, var(--yellow) 0 18%, transparent 18% 100%),
    radial-gradient(circle at 80% 75%, var(--pink) 0 16%, transparent 16% 100%),
    linear-gradient(145deg,var(--orange),var(--red));
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--ink);
  box-shadow:14px 14px 0 var(--blue);
  text-align:center;
  color:var(--white);
  font-size:.68rem;letter-spacing:.15em;font-weight:800;
}
.about-copy h2{
  margin:13px 0 20px;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:clamp(2.9rem,5.1vw,4.9rem);
  line-height:.9;letter-spacing:-.055em;font-weight:500;
}
.about-copy .lead{
  font-size:1.28rem;
  line-height:1.38;
  max-width:690px;
  margin-bottom:14px;
}
.about-copy>p:not(.eyebrow):not(.lead):not(.about-tags){
  font-size:1rem;
  line-height:1.5;
  max-width:650px;
}
.about-tags{
  display:inline-block;
  margin-top:20px;
  font-size:.78rem;
  line-height:1.6;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  background:var(--yellow);
  border:2px solid var(--ink);
  padding:10px 12px;
}

.process{padding-top:54px}
.compact-title{margin-bottom:24px}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:2px solid var(--ink);
  border-left:2px solid var(--ink);
}
.steps article{
  padding:18px;
  min-height:220px;
  border-right:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  background:var(--white);
}
.steps article:nth-child(1){background:rgba(255,106,0,.08)}
.steps article:nth-child(2){background:rgba(255,212,0,.12)}
.steps article:nth-child(3){background:rgba(255,79,163,.08)}
.steps article:nth-child(4){background:rgba(36,87,255,.08)}
.steps span{font-size:.7rem;font-weight:900;color:var(--orange)}
.steps h3{margin:48px 0 10px;font-size:1.28rem}
.steps p{margin:0;font-size:.9rem;line-height:1.45}

.pricing{
  max-width:var(--max);
  margin:0 auto 70px;
  padding:30px 24px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:36px;
  background:var(--red);
  color:var(--white);
  border:2px solid var(--ink);
  box-shadow:12px 12px 0 var(--yellow);
}
.pricing h2{
  margin:10px 0 0;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(2.6rem,5vw,4.9rem);
  letter-spacing:-.05em;
}
.pricing h2 span{font-style:italic}
.pricing>p{margin:auto 0;line-height:1.5}

.selected-work{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px 74px;
}
.work-placeholder{
  margin-top:18px;
  background:var(--yellow);
  padding:30px;
  min-height:170px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-end;
  border:2px solid var(--ink);
}
.work-placeholder span{font-size:.72rem;letter-spacing:.14em;font-weight:800}
.work-placeholder p{max-width:520px;margin:0;font-size:1.16rem;line-height:1.35}

.contact{
  background:
    linear-gradient(135deg, var(--pink) 0 48%, var(--orange) 48% 100%);
  padding:74px max(24px,calc((100vw - var(--max))/2 + 24px));
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:54px;
}
.contact-intro h2{
  margin:12px 0 22px;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:clamp(3.4rem,6vw,6.2rem);
  line-height:.84;letter-spacing:-.06em;font-weight:500;
}
.contact-intro>p:last-child{font-size:1.03rem;line-height:1.48;max-width:440px}
.guided-form{
  background:var(--paper);
  border:2px solid var(--ink);
  padding:24px;
  box-shadow:12px 12px 0 var(--ink);
}
fieldset{border:0;padding:0;margin:0 0 24px}
legend,label{
  display:block;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:10px;
}
.choice-grid{display:flex;flex-wrap:wrap;gap:7px}
.choice{
  border:2px solid var(--ink);
  background:var(--white);
  padding:9px 11px;
  cursor:pointer;
}
.choice.selected{
  background:var(--green);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.guided-form label{margin-bottom:18px}
input,select,textarea{
  width:100%;
  margin-top:8px;
  border:2px solid var(--ink);
  background:var(--white);
  padding:11px;
  color:var(--ink);
  border-radius:0;
}
textarea{resize:vertical}
.submit-button{margin-top:6px}
.form-note{font-size:.72rem;opacity:.8;margin:12px 0 0}

footer{
  max-width:var(--max);
  margin:0 auto;
  padding:22px 24px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:20px;
  font-size:.75rem;
}
footer p{margin:0}
footer p:last-child{text-align:right}

@media (max-width:900px){
  .nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);padding:18px 24px;border-bottom:2px solid var(--ink);
    flex-direction:column;align-items:flex-start
  }
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{padding-top:44px}
  .section-title{grid-template-columns:1fr;gap:12px}
  .service-row{grid-template-columns:50px 1fr}
  .service-details{grid-column:2}
  .about{grid-template-columns:1fr}
  .portrait-placeholder{min-height:340px}
  .steps{grid-template-columns:1fr 1fr}
  .pricing{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
}

@media (max-width:600px){
  .site-header{padding:13px 16px}
  .hero,.section,.selected-work{padding-left:16px;padding-right:16px}
  .hero h1{font-size:clamp(4rem,20vw,6.6rem)}
  .hero{padding-bottom:36px}
  .band{justify-content:flex-start;overflow-x:auto}
  .service-row{grid-template-columns:1fr;gap:12px}
  .service-details{grid-column:1}
  .service-index{opacity:.8}
  .contact{padding-left:16px;padding-right:16px}
  .steps{grid-template-columns:1fr}
  .pricing{margin-left:16px;margin-right:16px}
  .work-placeholder{flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  footer{grid-template-columns:1fr}
  footer p:last-child{text-align:left}
}


/* V6: broader creative offer */
.section-title h2 em{
  color:var(--orange);
  font-weight:500;
}

.service-row.brand{
  background:linear-gradient(90deg,transparent 0 4%,rgba(255,79,163,.13) 4% 100%);
}
.service-row.content{
  background:linear-gradient(90deg,transparent 0 4%,rgba(0,210,122,.12) 4% 100%);
}

/* Compact selected work overview */
.selected-work{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px 58px;
}
.work-heading{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  border-bottom:2px solid var(--ink);
  padding-bottom:14px;
  margin-bottom:14px;
}
.work-heading>p:last-child{
  margin:0;
  max-width:440px;
  font-size:.9rem;
  line-height:1.4;
}
.work-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-left:2px solid var(--ink);
  border-top:2px solid var(--ink);
}
.work-mini-grid article{
  min-height:135px;
  padding:16px;
  border-right:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.work-mini-grid article:nth-child(1){background:var(--orange)}
.work-mini-grid article:nth-child(2){background:var(--yellow)}
.work-mini-grid article:nth-child(3){background:var(--pink)}
.work-mini-grid article:nth-child(4){background:var(--green)}
.work-mini-grid span{
  font-size:.65rem;
  letter-spacing:.14em;
  font-weight:900;
}
.work-mini-grid h3{
  margin:28px 0 0;
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:1.35rem;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:600;
}
.work-note{
  margin:10px 0 0;
  font-size:.72rem;
  opacity:.7;
}

@media (max-width:800px){
  .work-mini-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .work-heading{display:block}
  .work-heading>p:last-child{margin-top:10px}
  .work-mini-grid{grid-template-columns:1fr 1fr}
}


.legend-note{
  font-weight:400;
  opacity:.62;
  margin-left:6px;
  text-transform:none;
  letter-spacing:0;
}
.choice.selected{
  box-shadow:3px 3px 0 var(--ink);
  transform:translate(-1px,-1px);
}


/* V9: combine process + pricing into one schematic block */
.process-combined{
  padding-top:54px;
  padding-bottom:64px;
}

.process-schematic{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);
  border:2px solid var(--ink);
  background:var(--white);
}

.steps-horizontal{
  border:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
}

.steps-horizontal article{
  min-height:180px;
  border:0;
  border-right:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
}

.steps-horizontal article:nth-child(2n){
  border-right:2px solid var(--ink);
}

.steps-horizontal article:nth-child(3),
.steps-horizontal article:nth-child(4){
  border-bottom:0;
}

.steps-horizontal h3{
  margin:34px 0 8px;
}

.pricing-inline{
  margin:0;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
  background:var(--red);
  color:var(--white);
  border:0;
  box-shadow:none;
}

.pricing-inline h2{
  margin:10px 0 0;
  font-size:clamp(2.4rem,4.8vw,4.2rem);
  line-height:.9;
}

.pricing-inline>p{
  margin:0;
  max-width:390px;
}

@media (max-width:900px){
  .process-schematic{
    grid-template-columns:1fr;
  }

  .steps-horizontal article:nth-child(2n){
    border-right:0;
  }

  .pricing-inline{
    min-height:250px;
    border-top:2px solid var(--ink);
  }
}

@media (max-width:600px){
  .steps-horizontal{
    grid-template-columns:1fr;
  }

  .steps-horizontal article,
  .steps-horizontal article:nth-child(2n),
  .steps-horizontal article:nth-child(3),
  .steps-horizontal article:nth-child(4){
    border-right:0;
    border-bottom:2px solid var(--ink);
  }

  .steps-horizontal article:last-child{
    border-bottom:0;
  }

  .pricing-inline{
    margin:0;
    border-left:0;
    border-right:0;
  }
}


/* V10 typography: Fraunces + Inter */
.hero h1,
.section-title h2,
.about-copy h2,
.pricing h2,
.work-mini-grid h3,
.contact-intro h2,
.wordmark span:last-child,
.band span {
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-variation-settings:"opsz" 110;
}

.hero h1{
  font-weight:700;
}

.hero h1 em{
  font-weight:500;
}

.wordmark span:first-child{
  font-family:'Inter', Arial, Helvetica, sans-serif;
  font-weight:900;
  letter-spacing:-.07em;
}

.wordmark span:last-child{
  font-weight:600;
  font-style:italic;
  letter-spacing:-.045em;
}

.nav,
.eyebrow,
.service-details span,
.choice,
legend,
label,
input,
select,
textarea,
footer{
  font-family:'Inter', Arial, Helvetica, sans-serif;
}


/* V11 typography: bolder, more graphic */
.hero h1,
.section-title h2,
.about-copy h2,
.pricing h2,
.work-mini-grid h3,
.contact-intro h2,
.band span {
  font-family:'Archivo Black', Impact, sans-serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  letter-spacing:-.055em;
  line-height:.9;
}

.hero h1{
  text-transform:uppercase;
  font-size:clamp(4.2rem,10vw,8.5rem);
  letter-spacing:-.07em;
}

.hero h1 em{
  font-family:'Archivo Black', Impact, sans-serif !important;
  font-style:normal !important;
  color:var(--orange);
}

.section-title h2 em{
  font-family:'Archivo Black', Impact, sans-serif !important;
  font-style:normal !important;
  color:var(--orange);
}

.wordmark span:first-child,
.wordmark span:last-child{
  font-family:'Archivo Black', Impact, sans-serif !important;
  font-style:normal !important;
  font-weight:400 !important;
  letter-spacing:-.06em;
}

.wordmark span:first-child{color:var(--ink)}
.wordmark span:last-child{color:var(--orange)}

.band span{
  font-size:.78rem;
  letter-spacing:-.02em;
}

.nav,
.eyebrow,
.service-row,
.service-details span,
.choice,
legend,
label,
input,
select,
textarea,
footer{
  font-family:'Inter', Arial, Helvetica, sans-serif;
}


/* V12 portrait integration */
.portrait-frame{
  position:relative;
  min-height:480px;
  border:2px solid var(--ink);
  box-shadow:14px 14px 0 var(--orange);
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,212,0,.28), rgba(255,79,163,.22));
}

.portrait-frame::before{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  background:var(--yellow);
  top:-32px;
  right:-24px;
  z-index:1;
}

.portrait-frame::after{
  content:"";
  position:absolute;
  width:92px;
  height:92px;
  background:var(--red);
  bottom:-14px;
  left:-14px;
  transform:rotate(12deg);
  z-index:1;
}

.portrait-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 36%;
  filter:contrast(1.04) saturate(1.03) brightness(1.02);
}

@media (max-width:900px){
  .portrait-frame{min-height:380px}
}

@media (max-width:600px){
  .portrait-frame{min-height:340px; box-shadow:10px 10px 0 var(--orange);}
}


/* V13: no portrait for now */
.about{
  grid-template-columns:1fr !important;
  max-width:900px;
}

.about-copy{
  max-width:900px;
}

.portrait-frame,
.portrait-image{
  display:none !important;
}

/* V14 real portfolio */
.real-work{padding-top:10px}
.work-heading h2{margin:10px 0 0;font-family:'Archivo Black',Impact,sans-serif;font-size:clamp(2.3rem,4.5vw,4.3rem);line-height:.92;letter-spacing:-.055em}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.portfolio-card{border:2px solid var(--ink);background:var(--white);overflow:hidden}
.portfolio-card:nth-child(1){box-shadow:10px 10px 0 var(--yellow)}
.portfolio-card:nth-child(2){box-shadow:10px 10px 0 var(--pink)}
.portfolio-image-wrap{aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--ink);background:#eee}
.portfolio-image{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-copy{padding:18px}
.project-type{margin:0 0 9px;font-size:.62rem;letter-spacing:.12em;font-weight:900}
.portfolio-copy h3{margin:0 0 10px;font-family:'Archivo Black',Impact,sans-serif;font-size:1.55rem;line-height:1;letter-spacing:-.04em}
.portfolio-copy>p:not(.project-type){margin:0;line-height:1.45;font-size:.92rem}
.portfolio-tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.portfolio-tags span{border:2px solid var(--ink);padding:6px 8px;font-size:.68rem;font-weight:700;background:var(--paper)}
.field-help{display:block;margin-top:4px;font-weight:400;opacity:.68}
.consent-row{display:flex!important;gap:10px;align-items:flex-start;font-weight:500;line-height:1.35;margin:4px 0 20px!important}
.consent-row input{width:auto;margin:3px 0 0;flex:0 0 auto}
.form-status{margin-top:16px;font-size:.82rem;line-height:1.4}
.form-status.success{padding:12px;border:2px solid var(--ink);background:var(--green)}
.privacy-note{padding:28px max(24px,calc((100vw - var(--max))/2 + 24px));background:var(--ink);color:var(--paper);border-top:2px solid var(--ink)}
.privacy-note p:last-child{margin:10px 0 0;max-width:850px;font-size:.8rem;line-height:1.45}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:800px){.portfolio-grid{grid-template-columns:1fr}}


/* V15 contact details */
.direct-email{
  margin-top:20px;
  font-size:.9rem !important;
  font-weight:700;
}
.direct-email a,
.form-note a,
.privacy-note a,
footer a{
  text-underline-offset:3px;
  text-decoration-thickness:1.5px;
}


/* V16 — real logo */
.logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.brand-logo{
  display:block;
  width:170px;
  max-height:54px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo .brand-logo{
  width:150px;
}

/* V16 — subpages */
.subpage-hero{
  max-width:var(--max);
  margin:0 auto;
  padding:76px 24px 44px;
}
.subpage-hero h1{
  margin:14px 0 18px;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:clamp(4rem,9vw,8rem);
  line-height:.82;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.subpage-hero h1 span{color:var(--orange)}
.subpage-hero>p:last-child{
  max-width:720px;
  font-size:1.18rem;
  line-height:1.45;
}

.pricing-page{
  max-width:var(--max);
  margin:0 auto;
  padding:10px 24px 70px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.price-card{
  border:2px solid var(--ink);
  padding:22px;
  background:var(--white);
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.price-card:nth-child(4n+1){background:var(--orange)}
.price-card:nth-child(4n+2){background:var(--yellow)}
.price-card:nth-child(4n+3){background:var(--pink)}
.price-card:nth-child(4n+4){background:var(--green)}
.price-card h2{
  margin:9px 0 18px;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:1.55rem;
  line-height:1;
  letter-spacing:-.04em;
}
.price-card .price{
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:2rem;
  line-height:1;
  margin:18px 0 14px;
}
.price-card .price span{
  display:block;
  margin-top:6px;
  font-family:'Inter',Arial,sans-serif;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.price-card>p:last-child{
  margin:0;
  line-height:1.45;
  font-size:.9rem;
}

.terms-box{
  max-width:var(--max);
  margin:0 auto 76px;
  padding:28px;
  border:2px solid var(--ink);
  background:var(--red);
  color:var(--white);
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:34px;
  box-shadow:10px 10px 0 var(--yellow);
}
.terms-box h2{
  margin:10px 0 0;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:.9;
}
.terms-box>div:last-child p{
  line-height:1.5;
}
.terms-box .button{margin-top:10px}

.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:10px 24px 80px;
}
.legal-page article{
  padding:24px 0;
  border-top:2px solid var(--ink);
}
.legal-page article:last-of-type{
  border-bottom:2px solid var(--ink);
}
.legal-page h2{
  margin:0 0 10px;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:1.4rem;
  letter-spacing:-.035em;
}
.legal-page p{
  line-height:1.6;
}
.legal-page a{
  text-underline-offset:3px;
}
.legal-updated{
  margin-top:18px;
  font-size:.78rem;
  opacity:.7;
}

@media(max-width:800px){
  .pricing-page{grid-template-columns:1fr}
  .terms-box{grid-template-columns:1fr}
}
@media(max-width:600px){
  .brand-logo{width:135px}
  .subpage-hero{padding-left:16px;padding-right:16px}
  .pricing-page,.legal-page{padding-left:16px;padding-right:16px}
}


/* V17 — cleaner pricing hierarchy */
.price-card{
  gap:18px;
}
.price-card h2{
  font-size:clamp(1.55rem,2.5vw,2.05rem);
  line-height:.98;
  margin:8px 0 4px;
}
.price-card .price{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  align-self:flex-start;
  width:auto;
  margin:4px 0 0;
  padding:8px 10px;
  border:2px solid var(--ink);
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',Arial,sans-serif;
  font-size:1rem;
  font-weight:900;
  line-height:1;
}
.price-card .price span{
  display:inline;
  margin:0;
  font-size:.62rem;
  letter-spacing:.06em;
  font-weight:800;
}
.price-card>p:last-child{
  margin-top:auto;
}

/* V17 — multi-image portfolio gallery */
.work-heading{
  align-items:flex-start;
}
.work-heading>div{
  width:100%;
}
.portfolio-gallery{
  display:grid;
  gap:4px;
  border-bottom:2px solid var(--ink);
  background:var(--ink);
}
.tarot-gallery{
  grid-template-columns:1.35fr .65fr;
  grid-template-rows:1fr 1fr 1fr;
  height:420px;
}
.tarot-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tarot-gallery img:first-child{
  grid-row:1 / 4;
}
.tarot-gallery img:nth-child(2){
  object-position:center 45%;
}
.tarot-gallery img:nth-child(3){
  object-position:center 45%;
}
.tarot-gallery img:nth-child(4){
  object-position:center 50%;
}

@media(max-width:700px){
  .tarot-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 160px 160px;
    height:auto;
  }
  .tarot-gallery img:first-child{
    grid-column:1 / 3;
    grid-row:1;
  }
}


/* V18 — homepage project cards link to detail pages */
.portfolio-image-link{
  display:block;
  text-decoration:none;
}
.project-link{
  display:inline-block;
  margin-top:18px;
  font-weight:900;
  text-decoration:none;
  border-bottom:2px solid var(--ink);
  padding-bottom:2px;
}
.project-link:hover{
  color:var(--orange);
}

/* V18 — project detail pages */
.project-hero{
  max-width:var(--max);
  margin:0 auto;
  padding:64px 24px 34px;
}
.back-link{
  display:inline-block;
  margin-bottom:28px;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.project-hero h1{
  margin:12px 0 18px;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:clamp(3.8rem,8vw,7rem);
  line-height:.84;
  letter-spacing:-.065em;
  text-transform:uppercase;
}
.project-lead{
  max-width:760px;
  margin:0;
  font-size:1.2rem;
  line-height:1.5;
}
.project-gallery-full{
  max-width:var(--max);
  margin:0 auto;
  padding:10px 24px 70px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:8px;
}
.project-gallery-full img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:2px solid var(--ink);
}
.project-gallery-full img:first-child{
  grid-row:1 / 3;
  min-height:620px;
}
.project-gallery-full img:nth-child(2),
.project-gallery-full img:nth-child(3){
  min-height:306px;
}
.project-gallery-full img:nth-child(4){
  grid-column:1 / 3;
  max-height:420px;
  object-position:center;
}
.project-feature-single{
  max-width:var(--max);
  margin:0 auto;
  padding:10px 24px 70px;
}
.project-feature-single img{
  width:100%;
  max-height:720px;
  object-fit:cover;
  display:block;
  border:2px solid var(--ink);
  box-shadow:12px 12px 0 var(--pink);
}
.project-details{
  max-width:var(--max);
  margin:0 auto;
  padding:58px 24px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:46px;
  border-top:2px solid var(--ink);
}
.project-details h2{
  margin:10px 0 0;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:clamp(2.4rem,4.5vw,4.3rem);
  line-height:.92;
  letter-spacing:-.05em;
}
.project-details>div:last-child>p{
  font-size:1rem;
  line-height:1.6;
}
.large-tags{
  margin-top:22px;
}
.live-project-button{
  margin-top:26px;
}
.project-more-note{
  max-width:var(--max);
  margin:0 auto;
  padding:22px 24px 54px;
}
.project-more-note p{
  max-width:760px;
  font-size:.82rem;
  line-height:1.5;
  opacity:.7;
}
.project-next{
  max-width:var(--max);
  margin:0 auto 70px;
  padding:28px 24px;
  background:var(--yellow);
  border:2px solid var(--ink);
}
.project-next a{
  display:inline-block;
  margin-top:10px;
  font-family:'Archivo Black',Impact,sans-serif;
  font-size:clamp(1.5rem,3vw,2.6rem);
  text-decoration:none;
  letter-spacing:-.04em;
}

@media(max-width:800px){
  .project-gallery-full{
    grid-template-columns:1fr 1fr;
  }
  .project-gallery-full img:first-child{
    grid-column:1 / 3;
    grid-row:auto;
    min-height:420px;
  }
  .project-gallery-full img:nth-child(2),
  .project-gallery-full img:nth-child(3){
    min-height:240px;
  }
  .project-gallery-full img:nth-child(4){
    grid-column:1 / 3;
  }
  .project-details{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .project-hero,
  .project-gallery-full,
  .project-feature-single,
  .project-details,
  .project-more-note{
    padding-left:16px;
    padding-right:16px;
  }
  .project-gallery-full{
    grid-template-columns:1fr;
  }
  .project-gallery-full img:first-child,
  .project-gallery-full img:nth-child(4){
    grid-column:auto;
    min-height:320px;
  }
  .project-gallery-full img:nth-child(2),
  .project-gallery-full img:nth-child(3){
    min-height:240px;
  }
}
