/*
 Theme Name:   Kadence Child
 Theme URI:    https://example.com/kadence-child/
 Description:  Kadence Child Theme
 Author:       Your Name
 Author URI:   https://example.com
 Template:     kadence
 Version:      1.0.2
 Tags:         customizable, modern, responsive-layout, gutenberg, header builder, footer builder
 Text Domain:  kadencechild
*/

/* Theme customization starts here
-------------------------------------------------------------- */

  /* ————————————————————————————————————————————
     VAGABLOND · brand tokens
     Paper  #F1EFE6  green-cast paper (page ground)
     Ink    #1A1D18  green-black (text)
     Vine   #2B3A2E  deep vine green (single accent: plate, buttons, links, italics)
     Moss   #59624F  muted support (helper text, decks on paper)
     Type   Newsreader (display + body) · Libre Franklin (labels, UI)
     Shape  radius 0 throughout · hairlines at ink 16%
     ———————————————————————————————————————————— */
.coming-soon {
	
}
  :root{
    --paper:#F1EFE6;
    --ink:#1A1D18;
    --vine:#2B3A2E;
    --vine-dark:#223026;
    --moss:#59624F;
    --line:rgba(26,29,24,.16);
    --line-inverse:rgba(241,239,230,.22);
    --serif:"Newsreader", Georgia, "Times New Roman", serif;
    --sans:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--serif);
    font-optical-sizing:auto;
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  ::selection{background:var(--vine);color:var(--paper)}
  a{color:var(--vine);text-decoration:none}
  a:hover{text-decoration:underline;text-underline-offset:3px}
  a:focus-visible,button:focus-visible,input:focus-visible{
    outline:2px solid var(--vine);outline-offset:3px;border-radius:0;
  }
  .container-wrap{max-width:1080px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}

  /* labels (Franklin, tracked caps) */
  .label{
    font-family:var(--sans);
    font-weight:600;
    font-size:.6875rem;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  /* ——— masthead ——— */
  .masthead{border-bottom:1px solid var(--line)}
  .masthead .container-wrap{
    display:flex;justify-content:space-between;align-items:baseline;
    gap:1rem;padding-top:.95rem;padding-bottom:.95rem;flex-wrap:wrap;
  }
  .masthead .label{color:var(--ink)}
  .masthead .label.right{color:var(--moss)}

  /* ——— hero ——— */
  .hero{padding:clamp(3.25rem,8vh,5.5rem) 0 clamp(3.5rem,8vh,5.5rem)}
  .hero .logo{
    width:clamp(210px,28vw,330px);
    height:auto;
    display:block;
    margin-bottom:clamp(2rem,5vh,3rem);
  }
  .hero h1{
    font-weight:400;
    font-size:clamp(2.75rem,7.2vw,4.75rem);
    line-height:1.06;
    letter-spacing:-0.015em;
    max-width:14ch;
    margin-bottom:1.5rem;
    padding-bottom:.25rem; /* italic descender clearance */
  }
  .hero h1 em{
    font-style:italic;
    font-weight:400;
    color:var(--vine);
  }
  .hero .dek{
    font-size:clamp(1.1rem,1.5vw,1.25rem);
    line-height:1.55;
    max-width:44ch;
    margin-bottom:2.75rem;
  }


  /* ——— forthcoming (the vine plate) ——— */
  .forthcoming{
    background:var(--vine);
    color:var(--paper);
    padding:clamp(3.5rem,9vh,5.5rem) 0;
  }
  .forthcoming .label{
    color:rgba(241,239,230,.75);
    display:block;
    margin-bottom:2.5rem;
  }
  .toc{list-style:none}
  .toc li{
    display:grid;
    grid-template-columns:4rem 1fr;
    gap:1.25rem;
    align-items:baseline;
    padding:1.35rem 0;
    border-top:1px solid var(--line-inverse);
  }
  .toc li:last-child{border-bottom:1px solid var(--line-inverse)}
  .toc .no{
    font-family:var(--sans);
    font-weight:600;
    font-size:.75rem;
    letter-spacing:.12em;
    color:rgba(241,239,230,.65);
  }
  .toc h2{
    font-weight:400;
    font-size:clamp(1.35rem,2.6vw,1.7rem);
    line-height:1.25;
    letter-spacing:-0.01em;
    margin-bottom:.3rem;
	  color: var(--paper);
  }
  .toc p{
    font-size:.98rem;
    line-height:1.55;
    color:rgba(241,239,230,.78);
    max-width:56ch;
  }

  /* ——— method ——— */
  .method{padding:clamp(3.75rem,9vh,6rem) 0}
  .method .grid{
    display:grid;
    grid-template-columns:5fr 7fr;
    gap:clamp(2rem,5vw,4rem);
    align-items:start;
  }
  .method .kicker{display:block;color:var(--moss);margin-bottom:1.1rem}
  .method .pull{
    font-style:italic;
    font-weight:400;
    font-size:clamp(1.7rem,3.4vw,2.35rem);
    line-height:1.2;
    letter-spacing:-0.01em;
    color:var(--vine);
    padding-bottom:.3rem; /* descender clearance */
  }
  .method .copy p{
    max-width:62ch;
    margin-bottom:1.35rem;
  }
  .method .copy p:last-child{margin-bottom:0}
  .method .copy .fine{
    font-size:.9rem;
    color:var(--moss);
  }

  /* ——— footer ——— */
  footer{border-top:1px solid var(--line);padding:2.25rem 0 2.75rem}
  footer .row{
    display:flex;justify-content:space-between;align-items:baseline;
    gap:1rem;flex-wrap:wrap;
  }
  footer .brand{font-style:italic;font-size:1.05rem}
  footer .archive{
    font-family:var(--sans);
    font-weight:500;
    font-size:.8rem;
    letter-spacing:.02em;
  }
  footer .fine{
    font-family:var(--sans);
    font-weight:500;
    font-size:.72rem;
    color:var(--moss);
    margin-top:1.1rem;
  }

  /* ——— entrance (one quiet moment) ——— */
  .rise{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.16,1,.3,1) forwards}
  .rise.d1{animation-delay:.05s}
  .rise.d2{animation-delay:.16s}
  .rise.d3{animation-delay:.27s}
  .rise.d4{animation-delay:.38s}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}
  @media (prefers-reduced-motion: reduce){
    .rise{animation:none;opacity:1;transform:none}
    html{scroll-behavior:auto}
  }

  /* ——— small screens ——— */
  @media (max-width:760px){
    .method .grid{grid-template-columns:1fr}
    .toc li{grid-template-columns:2.75rem 1fr;gap:.9rem}
    .sl-row{flex-direction:column;align-items:stretch}
    .shortlist button{width:100%;padding:1.05rem 1.6rem}
  }



/* Fluent Form */


/* ——— Shortlist content ——— */

.shortlist {
	max-width: 560px;
}

.shortlist .sl-head {
	font-style: italic;
	font-size: 1.3rem;
	margin-bottom: 0.35rem;
}

.shortlist .sl-desc {
	max-width: 52ch;
	margin-bottom: 1.25rem;
	color: var(--moss);
	font-size: 0.95rem;
}

.shortlist .sl-note {
	margin-top: 0.85rem;
	color: var(--moss);
	font-size: 0.85rem;
}


/* ——— Fluent Forms layout ——— */

.shortlist .fluentform form > fieldset {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0.75rem;

	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.shortlist .fluentform .ff-el-group,
.shortlist .fluentform .ff_submit_btn_wrapper {
	min-width: 0;
	margin: 0;
}


/* ——— Fluent Forms label ——— */

.shortlist .fluentform .ff-el-input--label {
	margin-bottom: 0.5rem;
}

.shortlist .fluentform .ff-el-input--label label {
	display: block;
	margin: 0;

	color: var(--ink);
	font-family: var(--sans);
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}


/* ——— Fluent Forms email field ——— */

.shortlist .fluentform input[type="email"].ff-el-form-control {
	width: 100%;
	min-height: auto;
	padding: 0.7rem 0.1rem;

	color: var(--ink);
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(26, 29, 24, 0.45);
	border-radius: 0;
	box-shadow: none;

	font-family: var(--sans);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;

	transition: border-color 0.18s ease;
}

.shortlist .fluentform input[type="email"].ff-el-form-control::placeholder {
	color: rgba(26, 29, 24, 0.45);
	opacity: 1;
}

.shortlist .fluentform input[type="email"].ff-el-form-control:focus {
	padding-bottom: calc(0.7rem - 1px);

	outline: none;
	border-bottom: 2px solid var(--vine);
	box-shadow: none;
}


/* ——— Fluent Forms submit button ——— */

.shortlist .fluentform .ff-btn-submit.ff-btn {
	width: auto;
	min-height: auto;
	margin: 0;
	padding: 0.95rem 1.6rem;

	color: var(--paper);
	background: var(--vine);
	border: 0;
	border-radius: 0;
	box-shadow: none;

	font-family: var(--sans);
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;

	cursor: pointer;
	opacity: 1;
	transition:
		background-color 0.18s ease,
		transform 0.12s ease;
}

.shortlist .fluentform .ff-btn-submit.ff-btn:hover,
.shortlist .fluentform .ff-btn-submit.ff-btn:focus {
	color: var(--paper);
	background: var(--vine-dark);
	opacity: 1;
}

.shortlist .fluentform .ff-btn-submit.ff-btn:focus-visible {
	outline: 2px solid var(--vine);
	outline-offset: 3px;
}

.shortlist .fluentform .ff-btn-submit.ff-btn:active {
	transform: translateY(1px);
}


/* ——— Fluent Forms validation ——— */

.shortlist .fluentform .ff-el-is-error input[type="email"].ff-el-form-control {
	border-bottom-color: #b42318;
}

.shortlist .fluentform .error.text-danger {
	margin-top: 0.45rem;
	color: #b42318;
	font-size: 0.8rem;
}


/* ——— Mobile ——— */

@media (max-width: 600px) {
	.shortlist .fluentform form > fieldset {
		grid-template-columns: minmax(0, 1fr);
	}

	.shortlist .fluentform .ff-btn-submit.ff-btn {
		width: 100%;
	}
}