{"id":21,"date":"2026-03-26T20:28:33","date_gmt":"2026-03-26T20:28:33","guid":{"rendered":"https:\/\/tarhata.com\/?page_id=21"},"modified":"2026-04-08T20:28:27","modified_gmt":"2026-04-08T19:28:27","slug":"tarhata-home","status":"publish","type":"page","link":"https:\/\/tarhata.com\/","title":{"rendered":"Tarhata &#8211; Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"21\" class=\"elementor elementor-21\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16d6bd0 e-con-full e-flex e-con e-parent\" data-id=\"16d6bd0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2801358 elementor-widget elementor-widget-html\" data-id=\"2801358\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<meta name=\"p:domain_verify\" content=\"4bf7756decbd21a9c4a184f2b33cb25d\">\n<title>Tarhata \u2014 A Knitwear Practice<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&amp;family=Jost:wght@200;300;400&amp;display=swap\" rel=\"stylesheet\">\n<style>\n\n  \/* \u2500\u2500 Tarhata Brevo form overrides \u2500\u2500 *\/\n  .sib-form { background: transparent !important; padding: 0 !important; }\n  .sib-form-container { background: transparent !important; }\n  #sib-container {\n    background: transparent !important;\n    border: none !important;\n    max-width: 100% !important;\n    padding: 0 !important;\n  }\n  .tarhata-form-row {\n    display: flex;\n    max-width: 420px;\n    margin: 0 auto 1rem;\n    border-bottom: 0.5px solid rgba(196,168,152,0.4);\n  }\n  .tarhata-email-input {\n    flex: 1;\n    background: transparent !important;\n    border: none !important;\n    outline: none !important;\n    box-shadow: none !important;\n    padding: 0.8rem 0;\n    font-family: 'Jost', sans-serif;\n    font-weight: 400;\n    font-size: 0.85rem;\n    color: #FDFAF6 !important;\n    letter-spacing: 0.05em;\n    caret-color: #C4A898;\n  }\n  .tarhata-email-input::placeholder {\n    color: #FDFAF6 !important;\n    opacity: 0.55;\n  }\n  .tarhata-submit-btn {\n    background: transparent !important;\n    border: none !important;\n    cursor: pointer;\n    font-family: 'Jost', sans-serif;\n    font-weight: 300;\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: #C4A898 !important;\n    padding: 0.8rem 0 0.8rem 1.5rem;\n    transition: color 0.3s;\n    border-radius: 0 !important;\n  }\n  .tarhata-submit-btn:hover { color: #FDFAF6 !important; }\n  .tarhata-captcha-row {\n    display: flex;\n    justify-content: center;\n    margin: 0.5rem auto 0;\n    transform: scale(0.85);\n    transform-origin: center;\n    opacity: 0.65;\n  }\n  .sib-form-message-panel {\n    max-width: 420px !important;\n    margin: 0 auto 0.5rem !important;\n    background: transparent !important;\n    border: none !important;\n    font-family: 'Jost', sans-serif !important;\n    font-size: 0.75rem !important;\n    letter-spacing: 0.05em !important;\n  }\n  #error-message .sib-form-message-panel__text { color: #E8A0A0 !important; }\n  #success-message .sib-form-message-panel__text { color: #A8C8A0 !important; }\n  .sib-icon { display: none !important; }\n  .input--hidden { display: none !important; }\n  .entry__label,\n  .entry__specification { display: none !important; }\n\n  .tarhata-signup-shell {\n    max-width: 420px;\n    margin: 0 auto;\n  }\n  .tarhata-brevo-form {\n    width: 100%;\n  }\n  .form-feedback {\n    display: none;\n    margin: 0 auto 0.75rem;\n    font-family: 'Jost', sans-serif;\n    font-size: 0.75rem;\n    letter-spacing: 0.05em;\n    line-height: 1.6;\n    text-align: center;\n  }\n  .form-feedback.is-visible { display: block; }\n  .form-feedback.is-error { color: #E8A0A0; }\n  .form-feedback.is-success { color: #A8C8A0; }\n  .tarhata-submit-btn[disabled] {\n    opacity: 0.55;\n    cursor: wait;\n  }\n\n  .email-success-note {\n    margin-top: 1rem;\n    font-family: 'Jost', sans-serif;\n    font-size: 0.7rem;\n    color: #FDFAF6;\n    opacity: 0.82;\n    letter-spacing: 0.05em;\n    line-height: 1.6;\n    text-align: center;\n  }\n\n<\/style>\n\n<style>\n  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n\n  :root {\n    --ink:        #1C1A17;\n    --warm-grey:  #4A4640;\n    --rule:       #B0A898;\n    --cream:      #F7F3ED;\n    --parchment:  #EDE8DF;\n    --sage:       #7A8C72;\n    --earth:      #7A6A58;\n    --blush:      #C4A898;\n    --white:      #FDFAF6;\n  }\n\n  html { scroll-behavior: smooth; }\n\n  body {\n    background: var(--cream);\n    color: var(--ink);\n    font-family: 'Jost', sans-serif;\n    font-weight: 400;\n    font-size: 15px;\n    line-height: 1.7;\n    cursor: default;\n  }\n\n  \/* NAV *\/\n  nav {\n    position: fixed;\n    top: 0; left: 0; right: 0;\n    z-index: 100;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 2rem 3.5rem;\n    background: var(--cream);\n    border-bottom: 0.5px solid transparent;\n    transition: border-color 0.4s;\n  }\n  nav.scrolled { border-color: var(--rule); }\n\n  .nav-logo {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: 1.1rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--ink);\n    text-decoration: none;\n  }\n\n  .nav-links {\n    display: flex;\n    gap: 2.5rem;\n    list-style: none;\n  }\n  .nav-links a {\n    font-size: 0.7rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    text-decoration: none;\n    transition: color 0.3s;\n  }\n  .nav-links a:hover { color: var(--ink); }\n\n  \/* HERO *\/\n  .hero {\n    min-height: 100vh;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 8rem 3.5rem 4rem;\n    position: relative;\n  }\n\n  .hero-label {\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    margin-bottom: 3rem;\n    display: flex;\n    align-items: center;\n    gap: 1.5rem;\n  }\n  .hero-label::after {\n    content: '';\n    display: block;\n    width: 3rem;\n    height: 0.5px;\n    background: var(--rule);\n  }\n\n  .hero-title {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: clamp(3.5rem, 8vw, 7rem);\n    line-height: 1.05;\n    letter-spacing: -0.01em;\n    color: var(--ink);\n    max-width: 14ch;\n    margin-bottom: 3rem;\n  }\n\n  .hero-title em {\n    font-style: italic;\n    color: var(--earth);\n  }\n\n  .hero-sub {\n    font-size: 0.8rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    max-width: 40ch;\n    line-height: 2;\n    border-left: 0.5px solid var(--rule);\n    padding-left: 1.5rem;\n  }\n\n  .hero-scroll {\n    position: absolute;\n    bottom: 3rem;\n    right: 3.5rem;\n    writing-mode: vertical-rl;\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    display: flex;\n    align-items: center;\n    gap: 1rem;\n  }\n  .hero-scroll::before {\n    content: '';\n    display: block;\n    width: 0.5px;\n    height: 4rem;\n    background: var(--rule);\n  }\n\n  \/* MANIFESTO *\/\n  .manifesto {\n    padding: 8rem 3.5rem;\n    display: grid;\n    grid-template-columns: 1fr 2fr;\n    gap: 4rem;\n    border-top: 0.5px solid var(--rule);\n  }\n\n  .manifesto-label {\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    padding-top: 0.4rem;\n  }\n\n  .manifesto-text {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: clamp(1.4rem, 2.5vw, 2rem);\n    line-height: 1.6;\n    color: var(--ink);\n  }\n\n  .manifesto-text p { margin-bottom: 1.5rem; }\n  .manifesto-text p:last-child { margin-bottom: 0; }\n\n  \/* PILLARS *\/\n  .pillars {\n    padding: 6rem 3.5rem;\n    background: var(--parchment);\n    border-top: 0.5px solid var(--rule);\n    border-bottom: 0.5px solid var(--rule);\n  }\n\n  .pillars-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    margin-bottom: 4rem;\n  }\n\n  .pillars-heading {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: 2.5rem;\n    color: var(--ink);\n  }\n\n  .pillars-label {\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n  }\n\n  .pillars-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 0;\n    border: 0.5px solid var(--rule);\n  }\n\n  .pillar {\n    padding: 2.5rem 2rem;\n    border-right: 0.5px solid var(--rule);\n    position: relative;\n  }\n  .pillar:last-child { border-right: none; }\n\n  .pillar-num {\n    font-size: 0.65rem;\n    letter-spacing: 0.2em;\n    color: var(--earth);\n    margin-bottom: 1.5rem;\n    display: block;\n  }\n\n  .pillar-title {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 400;\n    font-size: 1.3rem;\n    color: var(--ink);\n    margin-bottom: 1rem;\n    line-height: 1.3;\n  }\n\n  .pillar-desc {\n    font-size: 0.8rem;\n    color: var(--warm-grey);\n    line-height: 1.8;\n  }\n\n  \/* PROCESS *\/\n  .process {\n    padding: 8rem 3.5rem;\n    border-bottom: 0.5px solid var(--rule);\n  }\n\n  .process-inner {\n    display: grid;\n    grid-template-columns: 2fr 1fr;\n    gap: 6rem;\n    align-items: center;\n  }\n\n  .process-quote {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-style: italic;\n    font-size: clamp(1.8rem, 3vw, 2.8rem);\n    line-height: 1.4;\n    color: var(--ink);\n  }\n\n  .process-aside {\n    border-left: 0.5px solid var(--rule);\n    padding-left: 2rem;\n  }\n\n  .process-aside p {\n    font-size: 0.8rem;\n    color: var(--warm-grey);\n    line-height: 1.9;\n    margin-bottom: 1rem;\n  }\n\n  .process-aside p:last-child { margin-bottom: 0; }\n\n  \/* EMAIL *\/\n  .email-section {\n    padding: 8rem 3.5rem;\n    background: var(--ink);\n    text-align: center;\n  }\n\n  .email-label {\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--blush);\n    margin-bottom: 2rem;\n    opacity: 0.7;\n  }\n\n  .email-heading {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: clamp(2rem, 4vw, 3.5rem);\n    color: var(--white);\n    margin-bottom: 1rem;\n    line-height: 1.2;\n  }\n\n  .email-sub {\n    font-size: 0.8rem;\n    color: var(--blush);\n    letter-spacing: 0.1em;\n    margin-bottom: 3rem;\n    opacity: 0.8;\n  }\n\n  .email-form {\n    display: flex;\n    max-width: 420px;\n    margin: 0 auto;\n    border-bottom: 0.5px solid rgba(196, 168, 152, 0.4);\n  }\n\n  .email-input {\n    flex: 1;\n    background: transparent;\n    border: none;\n    outline: none;\n    padding: 0.8rem 0;\n    font-family: 'Jost', sans-serif;\n    font-weight: 400;\n    font-size: 0.85rem;\n    color: #FDFAF6 !important;\n    letter-spacing: 0.05em;\n    caret-color: #C4A898;\n  }\n\n  .email-input::placeholder {\n    color: #FDFAF6 !important;\n    opacity: 0.55;\n  }\n\n  .email-btn {\n    background: transparent;\n    border: none;\n    cursor: pointer;\n    font-family: 'Jost', sans-serif;\n    font-weight: 300;\n    font-size: 0.65rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--blush);\n    padding: 0.8rem 0 0.8rem 1.5rem;\n    transition: color 0.3s;\n  }\n  .email-btn:hover { color: var(--white); }\n\n  .email-note {\n    margin-top: 1.5rem;\n    font-size: 0.7rem;\n    color: var(--blush);\n    opacity: 0.5;\n    letter-spacing: 0.05em;\n  }\n\n  \/* FOOTER *\/\n  footer {\n    padding: 2.5rem 3.5rem;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    border-top: 0.5px solid var(--rule);\n  }\n\n  .footer-logo {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: 0.9rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n  }\n\n  .footer-copy {\n    font-size: 0.7rem;\n    letter-spacing: 0.1em;\n    color: var(--warm-grey);\n    opacity: 0.6;\n  }\n\n  .footer-links {\n    display: flex;\n    gap: 2rem;\n    list-style: none;\n  }\n  .footer-links a {\n    font-size: 0.65rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--warm-grey);\n    text-decoration: none;\n    opacity: 0.7;\n    transition: opacity 0.3s;\n  }\n  .footer-links a:hover { opacity: 1; }\n\n  \/* ANIMATIONS *\/\n  .fade-in {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.8s ease, transform 0.8s ease;\n  }\n  .fade-in.visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  \/* DESIGN NOTE BANNER *\/\n  .design-note {\n    background: var(--sage);\n    color: var(--white);\n    text-align: center;\n    padding: 0.8rem 2rem;\n    font-size: 0.7rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    opacity: 0.9;\n  }\n\n  \/* \u2500\u2500 TABLET \u2014 iPad (768px\u20131024px) \u2500\u2500 *\/\n  @media (max-width: 1024px) {\n    nav {\n      padding: 1.5rem 2.5rem;\n    }\n\n    .hero {\n      padding: 7rem 2.5rem 4rem;\n    }\n\n    .manifesto {\n      padding: 6rem 2.5rem;\n      gap: 2.5rem;\n    }\n\n    .pillars {\n      padding: 5rem 2.5rem;\n    }\n\n    .pillars-grid {\n      grid-template-columns: repeat(3, 1fr);\n    }\n\n    .process {\n      padding: 6rem 2.5rem;\n    }\n\n    .process-inner {\n      gap: 3.5rem;\n    }\n\n    .email-section {\n      padding: 6rem 2.5rem;\n    }\n\n    footer {\n      padding: 2rem 2.5rem;\n    }\n  }\n\n  \/* \u2500\u2500 MOBILE \u2014 iPhone & Android (max 767px) \u2500\u2500 *\/\n  @media (max-width: 767px) {\n    nav {\n      padding: 1.2rem 1.5rem;\n    }\n\n    .nav-links {\n      gap: 1.5rem;\n    }\n\n    .nav-links a {\n      font-size: 0.6rem;\n      letter-spacing: 0.15em;\n    }\n\n    .hero {\n      padding: 6rem 1.5rem 3rem;\n      min-height: 100svh;\n    }\n\n    .hero-label {\n      margin-bottom: 2rem;\n    }\n\n    .hero-title {\n      font-size: clamp(3rem, 12vw, 4.5rem);\n      margin-bottom: 2rem;\n    }\n\n    .hero-sub {\n      font-size: 0.72rem;\n      letter-spacing: 0.12em;\n      line-height: 2.2;\n    }\n\n    .hero-scroll {\n      display: none;\n    }\n\n    .manifesto {\n      padding: 4rem 1.5rem;\n      grid-template-columns: 1fr;\n      gap: 1.5rem;\n    }\n\n    .manifesto-label {\n      padding-top: 0;\n    }\n\n    .manifesto-text {\n      font-size: clamp(1.2rem, 5vw, 1.6rem);\n    }\n\n    .pillars {\n      padding: 4rem 1.5rem;\n    }\n\n    .pillars-header {\n      flex-direction: column;\n      gap: 0.5rem;\n      margin-bottom: 2.5rem;\n    }\n\n    .pillars-heading {\n      font-size: 2rem;\n    }\n\n    .pillars-grid {\n      grid-template-columns: 1fr;\n      border: 0.5px solid var(--rule);\n    }\n\n    .pillar {\n      border-right: none;\n      border-bottom: 0.5px solid var(--rule);\n      padding: 2rem 1.5rem;\n    }\n\n    .pillar:last-child {\n      border-bottom: none;\n    }\n\n    .process {\n      padding: 4rem 1.5rem;\n    }\n\n    .process-inner {\n      grid-template-columns: 1fr;\n      gap: 2.5rem;\n    }\n\n    .process-quote {\n      font-size: clamp(1.4rem, 5vw, 2rem);\n    }\n\n    .process-aside {\n      border-left: 0.5px solid var(--rule);\n      padding-left: 1.5rem;\n    }\n\n    .email-section {\n      padding: 4rem 1.5rem;\n    }\n\n    .email-heading {\n      font-size: clamp(1.8rem, 8vw, 2.5rem);\n    }\n\n    .email-form {\n      max-width: 100%;\n    }\n\n    footer {\n      padding: 1.8rem 1.5rem;\n      flex-direction: column;\n      gap: 1rem;\n      text-align: center;\n    }\n\n    .footer-links {\n      gap: 1.5rem;\n    }\n  }\n\n  \/* \u2500\u2500 SMALL MOBILE \u2014 iPhone SE, small Android (max 390px) \u2500\u2500 *\/\n  @media (max-width: 390px) {\n    .hero-title {\n      font-size: clamp(2.5rem, 13vw, 3.5rem);\n    }\n\n    .nav-links {\n      gap: 1rem;\n    }\n\n    .email-form {\n      flex-direction: column;\n      align-items: center;\n      gap: 1rem;\n      border-bottom: none;\n    }\n\n    .email-input {\n      width: 100%;\n      border-bottom: 0.5px solid rgba(196, 168, 152, 0.4);\n      text-align: center;\n    }\n\n    .email-btn {\n      padding: 0.5rem 0;\n    }\n  }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"design-note\">Design Concept \u2014 Tarhata.com \u2014 Pre-launch version<\/div>\n\n<nav id=\"nav\">\n  <a href=\"#\" class=\"nav-logo\">Tarhata<\/a>\n  <ul class=\"nav-links\">\n    <li><a href=\"#process\">Process<\/a><\/li>\n    <li><a href=\"#about\">About<\/a><\/li>\n    <li><a href=\"#letter\">Notes<\/a><\/li>\n  <\/ul>\n<\/nav>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <p class=\"hero-label\">Porto, Portugal<\/p>\n  <h1 class=\"hero-title\">A knitwear <em>practice<\/em>.<\/h1>\n  <p class=\"hero-sub\">\n    From sketch to object.<br>\n    Designed with intention,<br>\n    not urgency.<br>\n    For those who choose carefully.\n  <\/p>\n  <p class=\"hero-scroll\">Scroll<\/p>\n<\/section>\n\n<!-- MANIFESTO -->\n<section class=\"manifesto\" id=\"about\">\n  <div class=\"manifesto-label\">What this is<\/div>\n  <div class=\"manifesto-text fade-in\">\n    <p>Tarhata explores knitwear as a designed object.<\/p>\n    <p>Each piece begins as a drawing, develops through constraint, and arrives slowly through material understanding.<\/p>\n    <p>This is not seasonal fashion.<br>It is a process of reduction.<\/p>\n  <\/div>\n<\/section>\n\n<!-- PILLARS -->\n<section class=\"pillars\" id=\"process\">\n  <div class=\"pillars-header\">\n    <h2 class=\"pillars-heading\">How it works.<\/h2>\n    <span class=\"pillars-label\">The practice<\/span>\n  <\/div>\n  <div class=\"pillars-grid\">\n    <div class=\"pillar fade-in\">\n      <span class=\"pillar-num\">01<\/span>\n      <h3 class=\"pillar-title\">Ideas before garments<\/h3>\n      <p class=\"pillar-desc\">Every piece begins as a question. A drawing that asks something about proportion, weight, or silence.<\/p>\n    <\/div>\n    <div class=\"pillar fade-in\">\n      <span class=\"pillar-num\">02<\/span>\n      <h3 class=\"pillar-title\">Samples as thinking tools<\/h3>\n      <p class=\"pillar-desc\">Samples are not prototypes. They are conversations between the designer and the material.<\/p>\n    <\/div>\n    <div class=\"pillar fade-in\">\n      <span class=\"pillar-num\">03<\/span>\n      <h3 class=\"pillar-title\">Time as material<\/h3>\n      <p class=\"pillar-desc\">Fewer pieces, made more carefully. Released when they are resolved \u2014 not according to calendars.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- PROCESS QUOTE -->\n<section class=\"process\">\n  <div class=\"process-inner\">\n    <p class=\"process-quote fade-in\">\n      \"The most sustainable garment is the one you never replace.\"\n    <\/p>\n    <div class=\"process-aside fade-in\">\n      <p>Tarhata pieces are designed to age with their owner \u2014 not against them.<\/p>\n      <p>Natural fibres. Considered construction. Shapes that do not require a season to justify them.<\/p>\n      <p>The first physical piece is in development.<br>It is not finished.<br>But it is becoming something worth waiting for.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- EMAIL SIGN UP -->\n<section class=\"email-section\" id=\"letter\">\n  <p class=\"email-label\">Notes from the making<\/p>\n  <h2 class=\"email-heading\">Infrequent.<br>Considered.<br>Unrushed.<\/h2>\n  <p class=\"email-sub\">Letters from the studio, when there is something worth saying.<\/p>\n\n  \n  <div class=\"tarhata-signup-shell\">\n    <div id=\"form-feedback\" class=\"form-feedback\" aria-live=\"polite\" aria-atomic=\"true\"><\/div>\n\n    <form\n      id=\"tarhata-brevo-form\"\n      class=\"tarhata-brevo-form\"\n      method=\"POST\"\n      action=\"https:\/\/db868914.sibforms.com\/serve\/MUIFAJvaMdQCtejdvJ56ARfDwLa3FjvCbg15Izo9mcU8-tRUwYVHqsspHit4BuslEwx1BtMYYjyyQZWTMXU4qZlgxMuj-8MQaBxVQ2CM-bL4f6FHmfT88ZSd969OVu0meZUVAnQ4ZB7jku3VS_GRNZFqPGZawE7Wg0PqaJNkqMLeZTB27asSGmcjxK0n86lBqbWzkyKBeOIMOjVHgw==\"\n      novalidate\n    >\n      <div class=\"tarhata-form-row\">\n        <input\n          class=\"tarhata-email-input\"\n          type=\"email\"\n          id=\"EMAIL\"\n          name=\"EMAIL\"\n          data-required=\"true\"\n          inputmode=\"email\"\n          autocomplete=\"email\"\n          autocapitalize=\"off\"\n          spellcheck=\"false\"\n          placeholder=\"Your email address\"\n          aria-label=\"Email address\"\n          required\n        \/>\n\n        <button type=\"submit\" class=\"tarhata-submit-btn\" id=\"tarhata-submit-btn\">\n          <span class=\"tarhata-submit-text\">Send \u2192<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"tarhata-captcha-row\">\n        <div\n          class=\"cf-turnstile\"\n          data-sitekey=\"0x4AAAAAAC1zoza10ZiEirFN\"\n          data-language=\"en\"\n          data-theme=\"dark\"\n          data-callback=\"tarhataTurnstileSuccess\"\n          data-expired-callback=\"tarhataTurnstileExpired\"\n          data-error-callback=\"tarhataTurnstileError\"\n        ><\/div>\n      <\/div>\n\n      <input type=\"text\" name=\"email_address_check\" value=\"\" class=\"input--hidden\" tabindex=\"-1\" autocomplete=\"off\">\n      <input type=\"hidden\" name=\"locale\" value=\"en\">\n    <\/form>\n    <p id=\"email-success-note\" class=\"email-success-note\" hidden>Thank you. We will be in touch when there is something worth saying.<\/p>\n  <\/div>\n\n  <p class=\"email-note\">No frequency pressure. No marketing. Just presence.<\/p>\n<\/section>\n\n<!-- FOOTER -->\n<footer>\n  <span class=\"footer-logo\">Tarhata<\/span>\n  <span class=\"footer-copy\">\u00a9 2026 \u2014 Porto, Portugal<\/span>\n  <ul class=\"footer-links\">\n    <li><a href=\"https:\/\/www.instagram.com\/tarhata.studio\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/li>\n    <li><a href=\"https:\/\/www.pinterest.com\/tarhatastudio\/\" target=\"_blank\" rel=\"noopener\">Pinterest<\/a><\/li>\n  <\/ul>\n<\/footer>\n\n\n<script>\n  const nav = document.getElementById('nav');\n  window.addEventListener('scroll', () => {\n    nav.classList.toggle('scrolled', window.scrollY > 50);\n  });\n\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach((entry, i) => {\n      if (entry.isIntersecting) {\n        setTimeout(() => entry.target.classList.add('visible'), i * 120);\n      }\n    });\n  }, { threshold: 0.15 });\n\n  document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));\n\n  const tarhataForm = document.getElementById('tarhata-brevo-form');\n  const tarhataEmail = document.getElementById('EMAIL');\n  const tarhataFeedback = document.getElementById('form-feedback');\n  const tarhataSubmitBtn = document.getElementById('tarhata-submit-btn');\n  const tarhataSubmitText = tarhataSubmitBtn.querySelector('.tarhata-submit-text');\n  const tarhataSuccessNote = document.getElementById('email-success-note');\n\n  function tarhataShowMessage(type, message) {\n    tarhataFeedback.textContent = message;\n    tarhataFeedback.className = 'form-feedback is-visible ' + (type === 'success' ? 'is-success' : 'is-error');\n  }\n\n  function tarhataClearMessage() {\n    tarhataFeedback.textContent = '';\n    tarhataFeedback.className = 'form-feedback';\n  }\n\n  function tarhataShowSuccessNote() {\n    tarhataSuccessNote.hidden = false;\n  }\n\n  function tarhataHideSuccessNote() {\n    tarhataSuccessNote.hidden = true;\n  }\n\n  function tarhataValidateEmail(value) {\n    return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(value);\n  }\n\n  function tarhataGetTurnstileToken() {\n    const tokenField = tarhataForm.querySelector('input[name=\"cf-turnstile-response\"]');\n    return tokenField ? tokenField.value.trim() : '';\n  }\n\n  function tarhataSetSubmitting(isSubmitting) {\n    tarhataSubmitBtn.disabled = isSubmitting;\n    tarhataSubmitBtn.setAttribute('aria-busy', isSubmitting ? 'true' : 'false');\n    tarhataSubmitText.textContent = isSubmitting ? 'Sending\u2026' : 'Send \u2192';\n  }\n\n  function tarhataResetCaptcha() {\n    if (window.turnstile && typeof window.turnstile.reset === 'function') {\n      try {\n        window.turnstile.reset();\n      } catch (error) {}\n    }\n  }\n\n  window.tarhataTurnstileSuccess = function () {\n    tarhataClearMessage();\n  };\n\n  window.tarhataTurnstileExpired = function () {\n    tarhataShowMessage('error', 'The security check expired. Please try again.');\n  };\n\n  window.tarhataTurnstileError = function () {\n    tarhataShowMessage('error', 'The security check could not load. Please refresh the page and try again.');\n  };\n\n  tarhataEmail.addEventListener('input', () => {\n    tarhataClearMessage();\n    tarhataHideSuccessNote();\n  });\n\n  tarhataForm.addEventListener('submit', async (event) => {\n    event.preventDefault();\n    tarhataClearMessage();\n    tarhataHideSuccessNote();\n\n    const email = tarhataEmail.value.trim();\n    if (!email) {\n      tarhataShowMessage('error', 'Please enter your email address.');\n      tarhataEmail.focus();\n      return;\n    }\n\n    if (!tarhataValidateEmail(email)) {\n      tarhataShowMessage('error', 'Please enter a valid email address.');\n      tarhataEmail.focus();\n      return;\n    }\n\n    const turnstileToken = tarhataGetTurnstileToken();\n    if (!turnstileToken) {\n      tarhataShowMessage('error', 'Please complete the security check.');\n      return;\n    }\n\n    tarhataSetSubmitting(true);\n\n    try {\n      const formData = new FormData(tarhataForm);\n      formData.set('EMAIL', email);\n      formData.set('locale', 'en');\n      formData.set('email_address_check', '');\n\n      await fetch(tarhataForm.action, {\n        method: 'POST',\n        body: formData,\n        mode: 'no-cors',\n        credentials: 'omit',\n        keepalive: true\n      });\n\n      tarhataForm.reset();\n      tarhataClearMessage();\n      tarhataShowSuccessNote();\n      tarhataResetCaptcha();\n    } catch (error) {\n      tarhataShowMessage('error', 'Your subscription could not be saved just now. Please try again in a moment.');\n      tarhataResetCaptcha();\n    } finally {\n      tarhataSetSubmitting(false);\n    }\n  });\n<\/script>\n<script src=\"https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js\" async defer><\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Tarhata \u2014 A Knitwear Practice Design Concept \u2014 Tarhata.com \u2014 Pre-launch version Tarhata Process About Notes Porto, Portugal A knitwear practice. From sketch to object. Designed with intention, not urgency. For those who choose carefully. Scroll What this is Tarhata explores knitwear as a designed object. Each piece begins as a drawing, develops through constraint,<a class=\"more-link\" href=\"https:\/\/tarhata.com\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Tarhata &#8211; Home&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blank-slate-template.php","meta":{"footnotes":""},"class_list":["post-21","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/pages\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tarhata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21"}],"version-history":[{"count":76,"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/pages\/21\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/tarhata.com\/index.php?rest_route=\/wp\/v2\/pages\/21\/revisions\/105"}],"wp:attachment":[{"href":"https:\/\/tarhata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}