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

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Inter", sans-serif;
  background: #FAFAFA;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

.header {
  position: sticky;
  top: 0;
  z-index: 100;                              
  background: rgba(250, 250, 250, 0.7);        
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 65px;
  padding: 0 1rem;
  border-bottom: 1px solid #E5E5E5;
}
/* ===== Signed-in header ===== */

.header--user{ display: none; }
body.signed-in .header--guest{ display: none; }
body.signed-in .header--user{ display: flex; }

.app-left{
    display: flex;
    align-items: center;
    gap: 36px;
}

.app-nav{
    display: flex;
    align-items: center;
    gap: 6px;
}

.app-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: none;
    background: none;
    border-radius: 8px;
    font: inherit;
    font-size: .9rem;
    font-weight: 500;
    color: #000000c3;
    text-decoration: none;
    cursor: pointer;
}
.app-link:hover{ background: #0000000d; }
.app-link svg{ width: 18px; height: 18px; flex: none; }
.app-link .chev{ width: 16px; height: 16px; transition: transform .2s ease; }

.menu{ position: relative; }

.menu-panel{
    position: absolute;
    top: 100%;
    left: 0;
    padding-top: 8px;
    display: none;
}
.menu:hover .menu-panel,
.menu:focus-within .menu-panel{ display: block; }
.menu:hover .chev,
.menu:focus-within .chev{ transform: rotate(180deg); }

.menu-box{
    min-width: 190px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    box-shadow: 0 10px 30px #0000001a;
}
.menu-box a{
    padding: 10px 12px;
    border-radius: 8px;
    font-size: .9rem;
    color: #000000c3;
    text-decoration: none;
}
.menu-box a:hover{ background: #0000000d; }

.app-right{
    display: flex;
    align-items: center;
    gap: 18px;
}

.bell{
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    border-radius: 50%;
    color: #000000c3;
    cursor: pointer;
}
.bell:hover{ background: #0000000d; }
.bell svg{ width: 22px; height: 22px; }

.bell-badge{
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 500;
}

.credit-pill{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 999px;
    color: #111;
    text-decoration: none;
}
.avatar{
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ececec;
    border-radius: 50%;
    font-size: .75rem;
    font-weight: 600;
}
.credit-count{ font-size: .9rem; font-weight: 500; }
.menu-box{
    min-width: 250px;           
}

.menu-box a{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: .95rem;
    line-height: 1.3;
    color: #000000c3;
    text-decoration: none;
}

.menu-box a svg{
    width: 20px;
    height: 20px;
    flex: none;                 
}

.menu-sep{
    height: 1px;
    margin: 6px 8px;
    background: #E5E5E5;
}
.logo img {
  height: 75px;
  width: auto;
  min-width:70px ;
  display: block;
}

.right-side {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-right: 1.2rem;
}

.nav {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.nav-link{
  text-decoration: none;
  color: #000000c3;
  font-size: .8rem;
  font-weight: 500;
  align-items: center;
  display: inline-flex;
}
.icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.nav-link:hover {
  opacity: 0.7;
}
.nav-link-2 {
  font-size: .8rem;
  font-weight: 500;
  padding: 0.57rem 0.78rem;
  border-radius: 8px;
  transition: background 0.2s ease;
  text-decoration: none;
  color: #000000b7;
}
.nav-link-2:hover {
  background: #0000000d;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
}

.corner-cta {
  text-decoration: none;
  background: #000;
  color: #fff;
  font-size: .8rem;
  font-weight: 400;
  padding: 0.6rem .7rem;
  border-radius: 8px;
}

.corner-cta:hover{
    background: #000000d1;
}
.hero-pg {
    display: flex;
    width: 100%;
    height: 100vh;
    min-height: 680px;
    border-bottom:1px solid #0000003c;
}
.hero-txt,
.hero-image {
    flex: 1;
    width: 50%;
}
.hero-txt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 44px;
}
.hero-image {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 3rem;
    background: #FAFAFA;
}
.hero-image img {
    width: 100%;
    height: 100%;
    display: block;
}
.txt-bx {
    width: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transform: translateY(40px);
}
.eyebrow{
 color:#00000085;
 font-size: .72rem;
 font-weight: 500;
 letter-spacing: .22rem;
 text-transform: uppercase;
 margin: 0 0 28px 0;
}
.legend{
    color:#000;
    font-size: clamp(2.5rem, 4.4vw, 4rem);
    font-weight:700;
    letter-spacing: -0.035em; 
    max-width: 12ch;
    line-height: 1.1;
    margin: 0 0 24px 0;
}
.legend span{
    font-style: italic;
}
.subtext{
    color: #00000085;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    max-width:43ch;
    line-height:1.45;
    margin-bottom: 0;
}
.cta-btn{
    background-color: rgb(216, 8, 8);
    padding: 15px 40px;
    border-radius: 10px;
    color:white;
    text-decoration: none;
    display:inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 30px;

}
.arrow-icon{
    width: 20px;
    height: 14px;
    flex: none;
    transition: transform 0.2s ease;
}
.credit-note {
    color: #00000085;
    font-size: .8rem;
    margin-top: 10px;
}

.quiet-cta {
    display: inline-block;
    color: #000000ac;
    text-decoration: none;
    align-items: flex-start;
    font-size: .9rem;
    margin-top: 16px;
    height: 16px;
    stroke-width: 1.5; 
}
.quiet-cta:hover{
 text-decoration: underline;
 text-underline-offset: 5px;
 text-decoration-thickness: 1px;
}
.reviews{
    width: 100%;
    min-height: 60vh;
    padding:40px 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E5E5E5;
}
.rev-title{
    align-items: center;
    justify-content: center;
    display: flex;
}
.rev-title p{
 color:#00000085;
 font-size: .72rem;
 font-weight: 500;
 letter-spacing: .22rem;
 text-transform: uppercase;
 margin: 0 0 28px 0;
}
.review-container{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    flex-wrap: wrap;

}
.review-bx{
    flex: 1 1 260px;   /* grow to share space, never narrower than 260px */
    max-width: 380px; 
    width: 23%;
    height: auto;
    min-height: 200px;
    border: 1px solid #000;
    align-items: stretch;
    justify-content: center;
    display: flex;
    flex-direction: column;
    padding: 18px;
    margin-bottom: 12px;
    border-radius:12px;
    border: 1px solid #0000001d;
}
.stars{
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
}
.stars svg{
  width: 18px;
  height: 18px;
  fill: #d49d05bd;   /* gold */
  flex: none;
}
.rev-txt{
    width: 100%;
    height: auto;
    min-height: 130px;
    line-height: 1.6;
    padding-bottom: 20px;
}
.div{
    width: 90%;
    height: 1px;
    background-color: #0000001d;
}
.user_info{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding-top: 20px;
}
.pfp{
   width: 48px;
    height: 48px;
    flex: none;
    border-radius: 50%;
    background: #E9E2D4;
    color: #5a3e2b;
    font-size: .9rem;
    font-weight: 500;
    letter-spacing: .05em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.user-name{
    font-size: .95rem;
    font-weight: 600;
    color: #000;
}

.user-role{
    font-size: .85rem;
    color: #00000080;
    line-height: 1.4;
}
.review-cta{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    padding: 30px;
    margin-top: 50px;
    color: #00000091;
    text-decoration: none;
    font-size: 1rem;
    width:auto;
    margin-bottom: 0;
}
.review-cta .arrow-icon{
    width: 16px;
    height: 16px;
    stroke-width: 1.5;   /* thin line, like your screenshot */
}
.review-cta:hover{
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
}
.gallery{
    width: 100%;
    min-height: 70vh;
    padding:40px 40px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E5E5E5 ;
}
.gallery-title{
    display: flex;
    flex-direction: column;   /* stack the three lines */
    align-items: center;
    text-align: center;
    margin-bottom: 48px;
}

.gallery-eyebrow,
.about-eyebrow{
    color: #00000085;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .22rem;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.gallery-legend{
    color: #000;
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0 0 16px 0;
}

.gal-subtext{
    color: #00000085;
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.5;
    max-width: 680px;  
    margin: 0;
}
.gallery-container{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    max-width: 1100px;
    height:auto;
    min-height: 800px;
    margin: 0 auto;
}

.gallery-bx{
    border: 1px solid #0000001d;
    border-radius: 12px;
    overflow: hidden;    
    background-color: #efeeee53;
}

.gallery-bx img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    position: relative;
}
.gallery-bx img::after{
    content: "🖼️  " attr(alt);
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px;
    background: #f7f7f7;
    color: #00000080;
    font-size: .9rem;
}

.gallery{
    padding-bottom: 60px;  
}
.sign-off{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    padding: 30px;
    margin-top: 50px;
    color: #00000091;
    text-decoration: none;
    font-size: .8rem;
    width:auto;
    margin-bottom: 0;
}
.about{
    width: 100%;
    padding: 80px 40px;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #E5E5E5;
}

.about-txt{
    width: 100%;
    max-width: 760px;
    display: flex;
    flex-direction: column; 
    align-items: center;
    text-align: center;
}

.about-legend{
    color: #000;
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0 0 40px 0;
}

.about_main{
    color: #00000085;
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.6;
    margin: 0 0 28px 0;
}

.about_main:last-child{
    margin-bottom: 0;
}
.capabilities{
    width: 100%;
    padding: 80px 40px;
    border-bottom: 1px solid #E5E5E5;
}

.cap-title{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 72px;
}

.cap-eyebrow{
    color: #00000085;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .22rem;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.cap-legend{
    color: #000;
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.cap-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 64px 48px;        
    max-width: 900px;
    margin: 0 auto;
}

.cap-name{
    color: #000;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 10px;
}

.cap-desc{
    color: #00000085;
    font-size: 1rem;
    line-height: 1.7;
}
.process{
    width: 100%;
    padding: 80px 40px;
    border-bottom: 1px solid #E5E5E5;
}

.process-title{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 72px;
}

.process-eyebrow{
    color: #00000085;
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .22rem;
    text-transform: uppercase;
    margin: 0 0 17px 0;
}

.process-legend{
    color: #000;
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.process-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 56px 48px;
    max-width: 1100px;
    margin: 0 auto;
}

.step-num{
    color: #00000050;
    font-size: 1rem;
    margin-bottom: 28px;
}

.step-name{
    color: #000;
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
}

.step-desc{
    color: #00000085;
    font-size: .9rem;
    line-height: 1.7;
}
.pricing{
    width: 100%;
    padding: 80px 40px;
    border-bottom: 1px solid #E5E5E5;
}

.pricing-title{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 56px;
}

.pricing-legend{
    color: #000;
    font-size: clamp(1.6rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.pricing-sub{
    color: #00000085;
    font-size: 1rem;
    margin-bottom: 28px;
}

.bill-toggle{
    display: flex;
    align-items: center;
    gap: 12px;
}

.bill-switch{
    display: flex;
    padding: 4px;
    border: 1px solid #E5E5E5;
    border-radius: 999px;
    background: #f1f1f1;
}

.bill-btn{
    border: none;
    background: transparent;
    padding: 8px 20px;
    border-radius: 999px;
    font-size: .9rem;
    color: #00000085;
    cursor: pointer;
}

.bill-btn.active{
    background: #fff;
    color: #000;
    box-shadow: 0 1px 3px #0000001a;
}

.save-pill{
    background: #4A1828;
    color: #fff;
    font-size: .8rem;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 999px;
}

.plans{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    max-width: 1240px;
    margin: 0 auto;
    padding-top: 14px;   /* room for the badges above the cards */
}

.plan{
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 14px;
    padding: 28px 22px 22px;
}

.plan--popular{
    border: 2px solid #4A1828;
}

.plan-badge{
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .18rem;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
}

.plan-badge--blue{ background: #4A1828; color: #fff; }
.plan-badge--gray{ background: #f1f1f3; color: #00000085; border: 1px solid #E5E5E5; }

.plan-name{
    font-size: .95rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.plan-price{
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 4px;
}

.price-num{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.price-per{
    color: #00000085;
    font-size: .95rem;
}

.plan-billed{
    color: #00000085;
    font-size: .9rem;
    margin-bottom: 14px;
}

.plan-desc{
    color: #00000085;
    font-size: .9rem;
    line-height: 1.5;
    min-height: 6.5em;      /* keeps the dividers lined up across cards */
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #E5E5E5;
}

.plan-list{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
}

.plan-list li{
    position: relative;
    padding-left: 24px;
    font-size: .9rem;
    line-height: 1.45;
}

.plan-list li::before{
    content: "✓";
    position: absolute;
    left: 0;
    color: #00000070;
}

.plan-btn{
    margin-top: auto;       /* pins the button to the bottom of every card */
    text-align: center;
    text-decoration: none;
    color: #000;
    font-size: .9rem;
    font-weight: 500;
    padding: 12px 16px;
    border: 1px solid #000;
    border-radius: 8px;
}

.plan-btn:hover{ background: #0000000d; }

.plan-btn--dark{
    background: #111;
    color: #fff;
}

.plan-btn--dark:hover{ background: #000000d1; }

.res-info{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    padding-top: 40px;
    padding-bottom: 10px;
    margin-top: 40px;
    color: #00000091;
    text-decoration: none;
    font-size: .8rem;
    width:auto;
    margin-bottom: 0;
}
.plan_signoff{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: center;
    padding: 30px;
    color: #00000091;
    text-decoration: none;
    font-size: .8rem;
    width:auto;
    margin-bottom: 0;
}
.faq{
    width: 100%;
    padding: 80px 40px;
}

.faq-title{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 56px;
}

.faq-eyebrow{
    color: #00000085;
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .22rem;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.faq-legend{
    color: #000;
    font-size: clamp(1.3rem, 2.1vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.faq-list{
    max-width: 800px;
    margin: 0 auto;
}

.faq-item{
    border-bottom: 1px solid #E5E5E5;
}

.faq-item summary{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 26px 0;
    font-size: clamp(.95rem, 1.4vw, 1.1rem);
    color: #111;
    cursor: pointer;
    list-style: none;                 
}
.faq-item summary:hover{
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1.5px;
}

.faq-item summary::-webkit-details-marker{
    display: none;                    
}

.faq-chevron{
    width: 20px;
    height: 20px;
    flex: none;
    transition: transform 0.2s ease;
}

.faq-item[open] .faq-chevron{
    transform: rotate(180deg);        
}

.faq-answer{
    color: #00000085;
    font-size: .9rem;
    line-height: 1.7;
    max-width: 680px;
    padding-bottom: 26px;
}
.own-banner{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 28px 24px;
    border-top: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
    color: #111;
    font-size: 1.05rem;
    letter-spacing: .02em;
    text-align: center;
}

.own-icon{
    width: 22px;
    height: 22px;
    flex: none;
}

.footer{
    width: 100%;
    padding: 80px 40px 40px;
    border-top: 1px solid #e5e5e5;
}

.footer-grid{
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 64px;
    border-bottom: 1px solid #E5E5E5;
}

.footer-logo img{
    height: 68px;
    width: auto;
    display: block;
}

.footer-tagline{
    color: #00000085;
    font-size: 1rem;
    line-height: 1.6;
    max-width: 260px;
    margin: 20px 0 28px;
}

.footer-social{
    display: flex;
    gap: 14px;
}

.footer-social a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #00000085;
}

.footer-social a:hover{ color: #000; }

.footer-social svg{
    width: 22px;
    height: 22px;
}

.footer-col{
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footer-head{
    color: #000;
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .22rem;
    margin-bottom: 10px;
}

.footer-col a,
.footer-legal a{
    color: #00000085;
    text-decoration: none;
    font-size: .85rem;
}

.footer-col a:hover,
.footer-legal a:hover{ color: #000; }

.footer-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 28px;
    color: #00000085;
    font-size: .8rem;
}

.footer-legal{
    display: flex;
    gap: 28px;
}

.footer-legal a{ font-size: .9rem; }

@media (max-width: 800px){
    .footer-grid{ grid-template-columns: 1fr 1fr; }
    .footer-brand{ grid-column: 1 / -1; }
}

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

@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Italic.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
}
/* Tablets and phones: text on top, image below */
@media (max-width: 900px) {
    .hero-pg {
        flex-direction: column;
        height: auto;
        min-height: 0;
    }
    .hero-txt,
    .hero-image {
        flex: none;
        width: 100%;
    }
    .hero-txt {
        padding: 3rem 1.5rem 2rem;
    }
    .txt-bx {
        transform: none;
        max-width: 560px;
    }
    .hero-image {
        padding-top: 0;
    }
    .hero-image img {
        width: 90%;
    }
}

/* Phones: tidy the header */
@media (max-width: 600px) {
    .header {
        padding: 0 .75rem;
    }
    .logo img {
        height: 60px;
    }
    .right-side {
        gap: 1rem;
        margin-right: 0;
    }
    .nav {
        gap: 1rem;
    }
    .nav-link {
        display: none;
    }
    .cta-btn {
        padding: 14px 32px;
    }
}
/* ========== Mobile ========== */
@media (max-width: 700px){

    /* tighter section spacing everywhere */
    .about, .capabilities, .process, .faq{ padding: 56px 20px; }
    .gallery{ padding: 40px 20px 48px; min-height: 0; }

    /* ---- Gallery: three images in a row ---- */
    .gallery-title{ margin-bottom: 32px; }
    .gallery-container{
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        min-height: 0;              /* removes the 800px that would leave a huge gap */
    }
    .gallery-bx{ border-radius: 8px; aspect-ratio: 3 / 4; }
    .gallery-bx:nth-child(n+4){ display: none; }   /* only the first three show */

    /* ---- Capabilities: same 3-column layout, just smaller ---- */
    .capabilities{ padding: 56px 16px; }
    .cap-title{ margin-bottom: 40px; }
    .cap-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 14px;
    }
    .cap-name{
        font-size: .8rem;
        line-height: 1.3;
        margin-bottom: 6px;
        hyphens: auto;
    }
    .cap-desc{
        font-size: .7rem;
        line-height: 1.5;
        hyphens: auto;
    }

    /* ---- Pricing: swipeable cards ---- */
    .pricing{ padding: 56px 0 48px; }
    .pricing-title{ padding: 0 20px; margin-bottom: 20px; }
    .pricing-title::after{
        content: "Swipe to compare plans →";
        margin-top: 22px;
        font-size: .75rem;
        letter-spacing: .04em;
        color: #00000070;
    }
    .plans{
        position: relative;          
        display: flex;
        gap: 14px;
        max-width: none;
        padding: 26px 20px 28px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 20px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .plans::-webkit-scrollbar{ display: none; }
    .plan{
        flex: 0 0 78%;
        max-width: 300px;
        scroll-snap-align: center;
        box-shadow: 0 6px 20px #0000000d;
    }
    .plan--popular{
        box-shadow: 0 14px 34px #4a182833;   
    }
    .plan-desc{ min-height: 0; }
    .res-info, .plan_signoff{ padding-left: 20px; padding-right: 20px; text-align: center; }
}

/* ========== Footer on phones ========== */
@media (max-width: 600px){
    .own-banner{ padding: 20px 16px; font-size: .85rem; gap: 8px; }
    .own-icon{ width: 18px; height: 18px; }

    .footer{ padding: 48px 20px 28px; }
    .footer-grid{
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 16px;
        padding-bottom: 36px;
    }
    .footer-brand{
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-tagline{ margin: 14px auto 20px; font-size: .9rem; }
    .footer-social{ justify-content: center; }
    .footer-col{ gap: 12px; }
    .footer-head{ font-size: .68rem; letter-spacing: .16rem; margin-bottom: 4px; }
    .footer-col a{ font-size: .85rem; }

    .footer-bottom{
        flex-direction: column-reverse;   
        align-items: center;
        text-align: center;
        gap: 14px;
        font-size: .8rem;
    }
    .footer-legal{ gap: 20px; }
}
/* ========== Reviews carousel on phones ========== */
@media (max-width: 700px){

    .reviews{
        min-height: 0;
        padding: 56px 0 24px;
    }

    .rev-title{
        flex-direction: column;
        align-items: center;
        padding: 0 20px;
    }
    .rev-title p{ margin-bottom: 0; }
    .rev-title::after{
        content: "Swipe to read more →";
        margin: 14px 0 22px;
        font-size: .75rem;
        letter-spacing: .04em;
        color: #00000070;
    }

    .review-container{
        flex-wrap: nowrap;                
        justify-content: flex-start;      
        gap: 14px;
        padding: 6px 20px 28px;          
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding: 0 20px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .review-container::-webkit-scrollbar{ display: none; }

    .review-bx{
        flex: 0 0 82%;
        max-width: 320px;
        margin-bottom: 0;
        scroll-snap-align: center;
        background: #fff;
        box-shadow: 0 6px 20px #0000000d;
    }

    .rev-txt{ min-height: 0; }            

    .review-cta{
        margin-top: 8px;
        padding: 20px;
    }
}
@media (max-width: 900px){
    .app-nav{ display: none; }}
    @media (max-width: 1200px){
    .app-left{ gap: 16px; }
    .app-link{ padding: 8px 8px; }
    .logo img{ height: 56px; }
}
    /* sign in page*/
.auth-page{
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.auth-card{
    width: 100%;
    max-width: 440px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.auth-logo{
    align-self: center;
    margin-bottom: 44px;
}

.auth-logo img{
    height: 76px;
    width: auto;
    display: block;
}

.auth-title{
    text-align: center;
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #000;
    margin-bottom: 28px;
}

.google-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 48px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    font: inherit;
    font-size: .95rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
}

.google-btn:hover{ background: #00000008; }
.google-btn svg{ width: 20px; height: 20px; }

.auth-or{
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0 28px;
    color: #00000070;
    font-size: .8rem;
    letter-spacing: .08em;
}

.auth-or::before,
.auth-or::after{
    content: "";
    flex: 1;
    height: 1px;
    background: #E5E5E5;
}

.auth-form{
    display: flex;
    flex-direction: column;
}

.auth-form label{
    font-size: .9rem;
    font-weight: 500;
    color: #111;
    margin-bottom: 8px;
}

.auth-form input{
    width: 100%;
    height: 48px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    font: inherit;
    font-size: 1rem;
    color: #000;
    margin-bottom: 20px;
}

.auth-form input:focus{
    outline: none;
    border-color: #000;
}

.pw-wrap{
    position: relative;
}

.pw-wrap input{
    padding-right: 48px;
}

.pw-toggle{
    position: absolute;
    top: 0;
    right: 0;
    height: 48px;
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #00000085;
    cursor: pointer;
}

.pw-toggle:hover{ color: #000; }
.pw-toggle svg{ width: 22px; height: 22px; }

.auth-forgot{
    align-self: flex-end;
    margin-top: 4px;
    font-size: .9rem;
    color: #00000085;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.auth-terms{
    text-align: center;
    font-size: .8rem;
    line-height: 1.6;
    color: #00000085;
    margin: 28px 0 16px;
}

.auth-terms a{
    color: #00000085;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.auth-terms a:hover{
    color: #00000065;
}

.auth-submit{
    height: 50px;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 10px;
    font: inherit;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
}

.auth-submit:hover{ background: #000000d1; }

.auth-switch{
    text-align: center;
    margin-top: 20px;
    font-size: .95rem;
    color: #00000085;
}

.auth-switch a{
    color: #000;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/*create account page*/
.auth-sub{
    text-align: center;
    font-size: .95rem;
    line-height: 1.6;
    color: #00000085;
    margin: -12px 0 28px;
}

.auth-check{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 4px 0 24px;
    font-size: .95rem;
    line-height: 1.6;
    font-weight: 400;
    color: #111;
    cursor: pointer;
}

.auth-check input{
    width: 20px;
    height: 20px;
    flex: none;
    margin: 4px 0 0;          
    padding: 0;
    accent-color: #111;
}

.auth-check small{
    display: block;
    margin-top: 2px;
    font-size: .8rem;
    color: #00000085;
}

.own-note{
    display: flex;
    gap: 12px;
    padding: 16px;
    margin-bottom: 20px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
}

.own-note svg{
    width: 20px;
    height: 20px;
    flex: none;
    margin-top: 2px;
}

.own-note p{
    font-size: .95rem;
    line-height: 1.5;
    color: #111;
    margin-bottom: 6px;
}

.own-note a{
    font-size: .8rem;
    color: #00000085;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.auth-confirm{
    text-align: center;
    font-size: .8rem;
    line-height: 1.6;
    color: #00000085;
    margin-bottom: 16px;
}

/*=====Dashboard page=====*/
.signed-in{
    cursor: default;
    scroll-behavior: smooth;
    font-family: 'Inter', sans-serif;
}
.notifications{
   width: 100%;
   height: auto;
   min-height:40vh;
   padding: 30px;
}
.container{
    width: 100%;
    height:auto;
    align-items: center ;
    justify-content: center; 
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ip-banner,
.disct-banner{
    color: #000;
    width: 70%;
    padding: 10px;
    border: 1px dashed #d5d5d5;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    box-sizing: border-box;
    gap: 12px;
}
.disct-txt{
    width: auto;
    height: auto;
    font-size: .85rem;
}
.disct-txt p{
    color: #6b6b6b;
    font-size: .75rem;
}
.disct-txt span{
    padding: 0 5px 0 5px;
    background-color:#6b6b6b25 ;
    border-radius: 3px;
    color: #4e4e4e;
    font-family: monospace;
    font-size: .72rem;
}
.disct-cta{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  white-space: nowrap;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 500;
  line-height: 1;
  padding: 11px 16px;
  border-radius: 10px;
  transition: background .2s;
}
.disct-cta:hover{
  background: #222;
}

.disct-cta svg{
  width: 16px;
  height: 16px;
  stroke-width: 2;
}
.disct-left{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}
.disct-icon{
    border-radius: 7px;
    padding: 5px;
    background-color: #6b6b6b1f;
    margin-right: 10px;
}
.disct-icon svg{
  width: 20px;
  height: 20px;
  stroke-width: 1.75;
  color: #111;
}

.disct-cta svg{
  width: 16px;
  height: 16px;
}
.ip-banner{
    border: 1px solid #d1d1d1;
}
.ip-banner .disct-icon{
    background-color: transparent;
}
.ip-banner .disct-icon svg{
  width: 20px;
  height: 20px;
  stroke-width: 1.75;
  color: #6a6f76;
}
  .disct-txt a.learn-more{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #000;
  font-size: .85rem;
  line-height: 1.2;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

.learn-more .arrow-icon{
  width: 14px;
  height: 14px;
  flex: none;
  stroke-width: 2;
  transition: transform .2s ease;
}

.learn-more:hover .arrow-icon{
  transform: translateX(3px);
}
/* X (dismiss) button — draws an X inside the empty <a class="ip-cta"> */
.ip-cta{
position: relative;
display: block;
width: 18px;
height: 18px;
flex-shrink: 0;
margin-right: 8px;
opacity: .7;
transition: opacity .2s;
}
.ip-cta:hover{
opacity: 1;
}
.ip-cta::before,
.ip-cta::after{
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 14px;
height: 1.5px;
background: #333;
border-radius: 2px;
}
.ip-cta::before{
transform: translate(-50%, -50%) rotate(45deg);
}
.ip-cta::after{
transform: translate(-50%, -50%) rotate(-45deg);
}

/* Welcome banner: text sits at the top and the X lines up with the title */
.welcome-banner{
align-items: flex-start;
}
.welcome-banner .ip-cta{
margin-top: 2px;
}
/* ===================== WORKSPACE ===================== */
.workspace{
width: 70%;
padding: 30px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 28px;
justify-self: center;
}

/* ---------- Greeting ---------- */
.workspace-label{
display: block;
margin-bottom: 8px;
font-size: .65rem;
font-weight: 500;
letter-spacing: .25em;
text-transform: uppercase;
color: #9a9a9a;
}
.workspace-head h1{
margin: 0;
font-size: 2.2rem;
font-weight: 600;
letter-spacing: -.02em;
line-height: 1.15;
color: #111;
}
.workspace-head p{
margin: 8px 0 0;
font-size: .85rem;
color: #6b6b6b;
}

/* ---------- Project picker ---------- */
.project-picker{
display: flex;
align-items: center;
gap: 14px;
}
.project-label{
display: flex;
align-items: center;
gap: 8px;
font-size: .85rem;
color: #6b6b6b;
white-space: nowrap;
}
.project-label svg{
width: 18px;
height: 18px;
stroke-width: 1.75;
}
.select-wrap{
position: relative;
width: 240px;
}
.project-select{
width: 100%;
height: 36px;
padding: 0 36px 0 12px;
font-family: inherit;
font-size: .85rem;
color: #111;
background: #fff;
border: 1px solid #e5e5e5;
border-radius: 10px;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
outline: none;
transition: border-color .2s;
}
.project-select:hover,
.project-select:focus{
border-color: #bdbdbd;
}
.select-wrap svg{
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
width: 16px;
height: 16px;
stroke-width: 2;
color: #6b6b6b;
pointer-events: none;
}

/* ---------- Stat cards ---------- */
.stats{
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
}
.stat-card{
display: flex;
align-items: center;
gap: 14px;
padding: 16px 17px;
background: #fff;
border: 1px solid #ececec;
border-radius: 14px;
}
.stat-icon{
width: 34px;
height: 34px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: #f1f1f1;
border-radius: 8px;
}
.stat-icon svg{
width: 18px;
height: 18px;
stroke-width: 1.75;
color: #6a6f76;
}
.stat-number{
margin: 0;
display: flex;
align-items: center;
gap: 6px;
font-size: 1.3rem;
font-weight: 700;
line-height: 1.1;
color: #111;
}
.stat-label{
margin: 4px 0 0;
font-size: .8rem;
color: #6b6b6b;
}
.stat-tip{
width: 14px;
height: 14px;
stroke-width: 2;
color: #8a8a8a;
cursor: help;
}

/* ---------- Quick actions ---------- */
.quick-actions{
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}
.quick-actions .btn{
display: inline-flex;
align-items: center;
gap: 8px;
height: 34px;
padding: 0 14px;
font-size: .85rem;
font-weight: 500;
text-decoration: none;
border: 1px solid transparent;
border-radius: 8px;
transition: background .2s, border-color .2s;
}
.quick-actions .btn svg{
width: 16px;
height: 16px;
stroke-width: 2;
}
.quick-actions .btn-dark{
background: #111;
color: #fff;
border-color: #111;
}
.quick-actions .btn-dark:hover{
background: #222;
}
.quick-actions .btn-outline{
background: #fff;
color: #111;
border-color: #e5e5e5;
}
.quick-actions .btn-outline:hover{
border-color: #bdbdbd;
}
.quick-actions .btn-ghost{
background: transparent;
color: #111;
}
.quick-actions .btn-ghost:hover{
background: #6b6b6b1f;
}
/* ===== Starter checklist ===== */
.checklist{
    padding: 0 20px 28px;           
}

.check-card{
    max-width: 1000px;              
    margin: 0 auto;                 
    padding: 24px 20px;
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 16px;
}

.check-title{
    font-size: 1.05rem;
    font-weight: 600;
    color: #111;
}

.check-sub{
    margin: 12px 0 14px;
    font-size: .85rem;
    color: #00000085;
}

.check-bar{
    height: 5px;
    margin-bottom: 14px;
    background: #f1f1f1;
    border-radius: 999px;
    overflow: hidden;     
    line-height: 2.1;          
}

.check-fill{
    width: 0%;                      
    height: 100%;
    background: #111;
    border-radius: 999px;
}
.check-card h3{
    color: #111;
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 10px;      
}

.check-card p{
    color: #6a6f76;
    font-size: .85rem;
    line-height: 1.5;
    margin-bottom: 14px;      
}
.check-list{
    list-style: none;               
}

.check-list li{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 3px 0;
    font-size: .95rem;
    color: #111;
}

.check-list li::before{
    content: "";                 
    width: 18px;
    height: 18px;
    flex: none;                     
    border: 1px solid #E5E5E5;
    border-radius: 50%;
}
/* ===== Collections ===== */
.collections,
.workbench{
    padding: 0 20px 20px;
}
.coll-inner,
.work-grid{
    max-width: 1000px;
    margin: 0 auto;
}

/* one rule so every svg in these sections is drawn the same way */
.collections svg,
.workbench svg{
    width: 16px;
    height: 16px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coll-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.coll-head h3{
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}

.coll-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 500;
    color: #111;
    text-decoration: none;
}
.coll-btn:hover{ background: #00000008; }

.coll-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 80px 20px;
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 16px;
}
.coll-icon{
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #f1f1f1;
    border-radius: 50%;
    color: #000000a0;
}
.coll-icon svg{
    width: 24px;
    height: 24px;
}
.coll-card h4{
    font-size: 1rem;
    font-weight: 600;
    color: #111;
}
.coll-card p{
    margin: 6px 0 18px;
    font-size: .9rem;
    color: #00000085;
}

/* ===== Tasks + Notes ===== */
.work-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 0;
}

.work-card{
    padding: 24px;
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 16px;
}
.work-card h3{
    margin-bottom: 18px;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}

/* --- tasks --- */
.task-form{
    display: flex;
    gap: 10px;
}
.task-input{
    flex: 1;
    min-width: 0;                    
    height: 42px;
    padding: 0 14px;
    background: #fafafa;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font: inherit;
    font-size: .9rem;
    color: #111;
}
.task-input:focus{
    outline: none;
    border-color: #000;
}

.due-btn,
.add-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    border-radius: 8px;
    font: inherit;
    font-size: .9rem;
    font-weight: 500;
    cursor: pointer;
}
.due-btn{
    background: #fff;
    border: 1px solid #E5E5E5;
    color: #111;
}
.due-btn:hover{ background: #00000008; }

.add-btn{
    background: #111;
    border: none;
    color: #fff;
}
.add-btn:disabled{
    background: #8a8a8a;            
    cursor: not-allowed;
}

.task-empty{
    margin-top: 28px;
    text-align: center;
    font-size: .9rem;
    color: #00000085;
}

/* --- notes --- */
.notes-box{
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    overflow: hidden;                
}

.notes-bar{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    padding: 6px 8px;
    border-bottom: 1px solid #E5E5E5;
}

.tb-btn{
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-radius: 6px;
    font: inherit;
    font-size: .95rem;
    color: #111;
    cursor: pointer;
}
.tb-btn:hover,
.tb-btn.is-on{ background: #0000000d; }
.tb-txt{
    font-size: .8rem;
    font-weight: 600;
}
.tb-btn svg{
    width: 17px;
    height: 17px;
}

.tb-sep{
    width: 1px;
    height: 18px;
    margin: 0 6px;
    background: #E5E5E5;
}

.notes-editor{
    min-height: 130px;
    padding: 16px 18px;
    font-size: .95rem;
    line-height: 1.6;
    color: #111;
}
.notes-editor:focus{ outline: none; }
.notes-editor:empty::before{
    content: attr(data-placeholder); 
    color: #00000070;
}

.notes-foot{
    padding: 10px 14px;
    border-top: 1px solid #E5E5E5;
    text-align: right;
    font-size: .8rem;
    color: #00000085;
}
/* ===== Reported issues + AI brand manager ===== */
.panels{
    padding: 0 20px 28px;
}

.panels-inner{
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;                      /* the only spacing between the two cards */
}

/* one rule so every svg in this section is drawn the same way */
.panels svg{
    width: 16px;
    height: 16px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.panel-card{
    padding: 28px 24px;
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 16px;
}

.panel-title{
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}

/* --- reported issues --- */
.issues-empty{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 56px 20px 40px;
}
.issues-icon{
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #f1f1f1;
    border-radius: 50%;
    color: #000000a0;
}
.issues-icon svg{
    width: 24px;
    height: 24px;
}
.issues-empty h4{
    font-size: 1rem;
    font-weight: 500;
    color: #111;
}
.issues-empty p{
    margin: 6px 0 18px;
    font-size: .9rem;
    color: #00000085;
}

.panel-btn{
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font: inherit;
    font-size: .9rem;
    font-weight: 500;
    color: #111;
    cursor: pointer;
}
.panel-btn:hover{ background: #00000008; }

/* --- brand manager --- */
.brand-head{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}
.brand-icon{
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: #f6f6f6;
    border-radius: 10px;
    color: #00000070;
}
.brand-icon svg{
    width: 20px;
    height: 20px;
}
.brand-txt h3{
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}
.brand-txt p{
    margin-top: 2px;
    font-size: .9rem;
    color: #00000085;
}

.brand-chips{
    display: flex;
    flex-wrap: wrap;                /* chips drop to a new row when they run out of room */
    gap: 12px;
    margin-bottom: 24px;
}
.chip{
    padding: 9px 18px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 999px;
    font: inherit;
    font-size: .85rem;
    color: #00000099;
    cursor: pointer;
}
.chip:hover{
    background: #00000008;
    color: #111;
}

.brand-form{
    display: flex;
    align-items: flex-end;          /* button lines up with the bottom of the textarea */
    gap: 20px;
}
.brand-input{
    flex: 1;
    min-width: 0;
    min-height: 96px;
    padding: 16px 18px;
    background: #fafafa;
    border: 1px solid #ECECEC;
    border-radius: 10px;
    font: inherit;
    font-size: .95rem;
    line-height: 1.5;
    color: #111;
    resize: vertical;
}
.brand-input:focus{
    outline: none;
    border-color: #000;
}
.brand-input::placeholder{ color: #00000066; }

.brand-btn{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: none;
    height: 54px;
    padding: 0 22px;
    background: #111;
    border: none;
    border-radius: 8px;
    font: inherit;
    font-size: .95rem;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
}
.brand-btn svg{
    width: 18px;
    height: 18px;
}
.brand-btn:disabled{
    background: #8a8a8a;
    cursor: not-allowed;
}
/* ===== Resources ===== */
.resources,
.recent{
    padding: 0 20px 36px;
}

.res-inner,
.recent-inner{
    max-width: 1000px;
    margin: 0 auto;
}

/* one rule so every svg in these sections is drawn the same way */
.resources svg,
.recent svg{
    width: 12px;
    height: 12px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.res-title{
    margin-bottom: 18px;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}

.res-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.res-card{
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: #fff;
    border: 1px solid #ECECEC;
    border-radius: 14px;
}

.res-icon{
    width: 48px;
    height: 48px;
    flex: none;
    background: #f3f3f3;
    border-radius: 12px;
}

.res-body{
    flex: 1;                         /* takes the free space, pushing the action to the right */
    min-width: 0;
}

.res-name{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #111;
}

.res-desc{
    margin-top: 2px;
    font-size: .85rem;
    line-height: 1.5;
    color: #00000085;
}

.res-note{
    margin-top: 6px;
    font-size: .85rem;
    font-style: italic;
    color: #00000070;
}

.res-badge{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: #fafafa;
    border: 1px solid #ECECEC;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: 0;
    color: #00000085;
}
.res-badge--soon{
    background: #f1f1f1;
    border-color: transparent;
    color: #111;
}

.res-tag{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 4px 10px;
    background: #f3f3f3;
    border-radius: 999px;
    font-size: .8rem;
    color: #00000085;
}

.res-side{
    display: flex;
    align-items: center;
    gap: 14px;
    flex: none;
}

.res-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 500;
    color: #111;
    text-decoration: none;
}
.res-btn:hover{ background: #00000008; }
.res-btn svg{
    width: 15px;
    height: 15px;
}

/* --- progress ring --- */
.res-progress{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.res-progress p{
    font-size: .8rem;
    color: #00000085;
}

.ring{
    --pct: 0;                        /* the number you change: 0 to 100 */
    position: relative;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#111 calc(var(--pct) * 1%), #ececec 0);
}
.ring::before{
    content: "";
    position: absolute;
    inset: 4px;                      /* ring thickness */
    background: #fff;
    border-radius: 50%;
}
.ring span{
    position: relative;              /* sits above the white centre */
    font-size: .85rem;
    font-weight: 600;
    color: #111;
}

/* --- recent designs --- */
.recent-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 90px 20px;
    border: 1px dashed #E0E0E0;
    border-radius: 16px;
}
.recent-icon{
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    background: #f1f1f1;
    border-radius: 50%;
    color: #000000a0;
}
.recent-icon svg{
    width: 28px;
    height: 28px;
}
.recent-card h4{
    font-size: 1.1rem;
    font-weight: 600;
    color: #111;
}
.recent-card p{
    margin: 8px 0 24px;
    font-size: .95rem;
    color: #00000085;
}
.recent-btn{
    padding: 13px 22px;
    background: #111;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
}
.recent-btn:hover{ background: #000000d1; }
/*=== sketch studio ===*/

/* Outer container: sets the width and centres everything */
.studio{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 40px 16px 80px;
}

/* ---------- Top block ---------- */
.studio-top{
padding-bottom: 40px;          /* space under the subtitle, before the form starts */
}

/* Row with the two labels, one at each end */
.studio-eyebrows{
display: flex;
justify-content: space-between;
align-items: baseline;
flex-wrap: wrap;               /* on narrow screens the labels can drop onto two lines */
gap: 8px 16px;
margin-bottom: 20px;           /* space between the labels and the heading */
}
.studio-eyebrows p{
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .7rem;
letter-spacing: .08em;
color: #6b6b6b;
}

/* Title + subtitle */
.studio-title h1{
font-family: "Cormorant Garamond", Georgia, serif;
font-size: clamp(2.5rem, 4.3vw, 3.4rem);
font-weight: 400;
line-height: 1.05;
color: #111;
margin-bottom: 16px;
}
.studio-title p{
font-size: 1rem;
color: #6b6b6b;
}

/* ---------- Two columns ---------- */
.studio-layout{
display: grid;
grid-template-columns: minmax(0, 1fr) 400px;   /* left flexible, right fixed */
gap: 56px;
align-items: start;            /* lets .spec keep its own height so sticky can work */
}

/* Left column: the long form */
.left-side{
min-width: 0;                  /* stops wide content (textarea, inputs) from stretching the column */
}

/* Right column: the spec sheet */
.spec{
position: sticky;
top: 90px;                     /* header is 65px tall, plus 25px of breathing room */
}
/*--category and essentials*/
.cne-sect{
    width: 100%;
    height: auto;
}
.cne-sect h3{
 font-size: 1.6rem;
 font-weight: 400;
 font-family: "Cormorant Garamond", Georgia, serif;
 margin-bottom: 30px;
}
.cat-options{
    display: flex;
    justify-content: space-between;
     max-width: 440px;
     margin-left: 20px;
}
.option{
    border: none;
    background: transparent;
    font-size: .9rem;
    cursor: pointer;
    padding-bottom: 6px;
}
.option:active{
    border-bottom: 1px solid #111;
    padding-bottom: 5px;
}
/*== essentials==*/
.essentials{
    width: auto;
    min-width: 400px;
    height: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}
.input-bx{
    width: 50%;
    height: auto;
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 24px;
}
.input-fld{
    background: transparent;
    border: none;
    border-bottom: 1px solid #6a6f76;
    padding-bottom: 15px;
    width: auto;
    min-width: 350px;
    margin-bottom: 10px;
}
.input-bxs{
    width: auto;
    min-width: 350px;
    height: auto;
    margin-bottom: 15px;
}
.input-bxs p{
 color:#000000dc;
 font-family: monospace;
 font-size: .65rem;
 font-weight: 500;
 text-transform: uppercase;
 margin: 0 0 28px 0;
}
.add{
    text-decoration: none;
    color: #111;
    font-size: .8rem;
    font-weight: 500;
    margin-top: 30px ;
}
.add:hover{
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
}
/*====Design brief====*/
.design-brief h3{
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Cormorant Garamond", Georgia, serif;
    margin-bottom: 30px;
}
.details-bx{
    max-width: 90%;
    height: auto;

}
.number{
    font-size: .75rem;
    color: #6a6f76d9;
    margin-right: 10px;
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
}
.brief-label{
display: block;              
color:#000000d2;
 font-size: .72rem;
 font-weight: 500;
 text-transform: uppercase;
 margin: 0 0 20px 0;
 font-family: monospace;
}

.brief-input{
display: block;             
width: 90%;
min-height: 380px;
padding: 18px 20px;          
background: #fff;
border: 1px solid #d0d0d0;
border-radius: 0;
font-family: inherit;        
font-size: .95rem;
line-height: 1.75;           
color: #111;
resize: vertical;           
}
.brief-input::placeholder{
color: #00000085;
}
.brief-input:focus{
outline: none;
border-color: #111;
}
.details-input{
    width: 90%;
    height: 50vh;
    display: flex;
    align-items: center;
}
/* ----- Text under the design brief box ----- */
.brief-hint{
margin-top: 14px;
font-size: .85rem;
color: #6b6b6b;
}

.brief-count{
margin-top: 14px;
text-align: right;                 
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .7rem;
color: #00000085;
margin-right: 100px;
}

.brief-tip{
margin-top: 14px;
font-size: .85rem;
line-height: 1.5;
color: #6b6b6b;
width: 90%;
}

/* ----- Expand button + its description ----- */
.brief-expand{
margin-top: 22px;
display: flex;
flex-direction: column;
align-items: flex-start;           /* makes the button only as wide as its content */
gap: 14px;
}

.expand-btn{
display: inline-flex;
align-items: center;
gap: 10px;
padding: 0 0 12px;                 /* the bottom padding is the gap above the line */
background: none;
border: none;
border-bottom: 1px solid #e5e5e5;  /* the thin line under the button */
font: inherit;                     /* use Inter, not the browser's button font */
font-size: .8rem;
font-weight: 500;
color: #00000085;
cursor: pointer;
transition: color .2s, border-color .2s;
}
.expand-btn:hover{
color: #111;
border-bottom-color: #111;
}
.expand-btn svg{
width: 18px;
height: 18px;
stroke-width: 1.75;
color: #6a6f76b7;
}

.expand-sub{
font-size: .8rem;
color: #6b6b6b;
}
/* ===== 4 · References ===== */
.references{
margin-top: 72px;                  /* match the gap you use between your other sections */
}
.references .sec-title{
margin-bottom: 36px;
}

.ref-label{
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .75rem;
letter-spacing: .04em;
text-transform: uppercase;
color: #111;
margin-bottom: 12px;
}
.ref-label span{
color: #00000070;                  /* "(optional)" is lighter */
}
.ref-hint{
font-size: .95rem;
line-height: 1.5;
color: #6b6b6b;
}

/* ---------- Drop area ---------- */
.references{
    width: auto;
    max-width: 85%;
    height: auto;
    margin-bottom: 1px solid #e5e5e5;
}
.dropzone{
margin-top: 28px;
padding: 35px 20px 34px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
background: #faf9f7;
border: 1px solid #d0d0d0;
transition: border-color .2s, background .2s;
}
.dropzone.is-dragover{             /* added by the script while a file is dragged over */
border-color: #111;
background: #f3f2ee;
}
.dropzone > svg{
width: 26px;
height: 26px;
stroke-width: 1.5;
color: #00000099;
}
.drop-title{
margin-top: 22px;
font-size: .9rem;
font-weight: 500;
color: #111;
}
.drop-sub{
margin-top: 6px;
font-size: .7rem;
color: #00000085;
}
.sec-title{
 font-size: 1.6rem;
 font-weight: 400;
 font-family: "Cormorant Garamond", Georgia, serif;
 margin-bottom: 30px;
}
.ref-btn{
margin-top: 20px;
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 18px;
background: #fff;
border: 1px solid #d0d0d0;
border-radius: 0;
font: inherit;
font-size: .8rem;
font-weight: 500;
color: #111;
cursor: pointer;
transition: border-color .2s;
}
.ref-btn:hover{
border-color: #111;
}
.ref-btn svg{
width: 20px;
height: 20px;
stroke-width: 1.75;
}

/* ---------- Generate bar ---------- */
.generate-btn{
margin-top: 56px;
width: 100%;
height: 55px;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;    /* label on the left, credits on the right */
background: #1a1a18;
color: #fff;
border: none;
border-radius: 0;
font: inherit;
font-size: .9rem;
cursor: pointer;
transition: background .2s;
}
.generate-btn:hover{
background: #000;
}
.generate-left{
display: inline-flex;
align-items: center;
gap: 12px;
}
.generate-btn svg{
width: 22px;
height: 22px;
stroke-width: 1.5;
}
.generate-cost{
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .7rem;
letter-spacing: .1em;
text-transform: uppercase;
}



@media (max-width: 560px){
.dropzone{
padding: 32px 16px 28px;
}
}

/* ===== Spec sheet ===== */
.spec{
padding: 24px;
background: #f5f4f2;
}

.spec-top{
display: flex;
justify-content: space-between;
align-items: baseline;
}
.spec-eyebrow{
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .7rem;
letter-spacing: .06em;
text-transform: uppercase;
color: #00000085;
}

.spec-title{
margin: 28px 0 32px;
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 2.1rem;
font-weight: 500;
line-height: 1.1;
color: #111;
}

/* one row = label on the left, value on the right */
.spec-row{
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
padding: 16px 0;
border-bottom: 1px solid #e2e1de;
}
.spec-row--plain{
border-bottom: none;               /* the progress bar acts as this row's line */
padding-bottom: 12px;
}

.spec-key,
.spec-mono{
font-family: ui-monospace, "SF Mono", Menlo, monospace;
font-size: .7rem;
letter-spacing: .04em;
text-transform: uppercase;
}
.spec-key{
color: #00000085;
}
.spec-mono{
color: #00000099;
text-align: right;
}
.spec-val{
font-size: .95rem;
color: #111;
text-align: right;
}

/* design brief + progress bar */
.spec-brief{
margin: 14px 0 6px;
}
.spec-bar{
height: 3px;
background: #d9d8d5;
}
.spec-fill{
width: 0%;                         /* the script grows this as you type */
height: 100%;
background: #111;
transition: width .2s;
}

/* tips */
.spec-tips{
margin-top: 56px;
}
.spec-tips h3{
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 1.5rem;
font-weight: 500;
color: #111;
margin-bottom: 12px;
}
.spec-tips p{
font-size: .9rem;
line-height: 1.7;
color: #6b6b6b;
}
.spec-link{
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 16px;
font-size: .85rem;
font-weight: 500;
color: #111;
text-decoration: none;
}
.spec-link:hover{
text-decoration: underline;
text-underline-offset: 4px;
}
.spec-link svg{
width: 14px;
height: 14px;
stroke-width: 2;
}





/* ---------- Phones and small tablets ---------- */
@media (max-width: 800px){
.studio-layout{
grid-template-columns: 1fr;
gap: 40px;                     /* gap between form and spec sheet when stacked */
}
.spec{
position: static;              /* switch sticky off so it doesn't slide over the form */
}
}
/* tablets and phones */
@media (max-width: 800px){
    .res-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
    .res-card{
        flex-wrap: wrap;
        padding: 18px;
    }
    .res-side{
        width: 100%;
        justify-content: flex-end;
    }
    .recent-card{ padding: 60px 16px; }
}
/* phones */
@media (max-width: 700px){
    .panels{ padding: 0 16px 24px; }
    .panel-card{ padding: 20px 16px; }
    .issues-empty{ padding: 40px 12px 28px; }
    .brand-txt h3{ font-size: 1.1rem; }
    .brand-form{
        flex-direction: column;
        align-items: stretch;
    }
    .brand-btn{ justify-content: center; }
}
/* tablets and phones */
@media (max-width: 800px){
    .work-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
    .coll-card{ padding: 56px 16px; }
    .work-card{ padding: 18px; }
}
/* ---------- Responsive ---------- */
@media (max-width: 900px){
.stats{
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 560px){
.workspace{
padding: 20px;
}
.workspace-head h1{
font-size: 1.6rem;
}
.project-picker{
flex-direction: column;
align-items: flex-start;
}
.select-wrap{
width: 100%;
}
.stats{
grid-template-columns: 1fr;
}
}