/* Willamette Heritage Counsel — site styles
   Tokens from drafts/branding-guide-v1.md §6 (contrast-verified 2026-10-20) */

:root {
  --navy: #0B2340;          /* primary — 14.5:1 on cream */
  --navy-deep: #071A31;     /* hover shade */
  --ink: #1F2733;           /* body text */
  --slate: #5B6470;         /* captions — AA on cream and sand */
  --bronze: #A98B64;        /* DECORATIVE only: rules, diamonds, borders */
  --bronze-deep: #76593A;   /* functional accent: eyebrows, links, alt buttons — AA */
  --bronze-light: #D4BC95;  /* text accents on navy panels — AAA on navy */
  --cream: #F8F5EF;         /* page background */
  --sand: #F1ECE1;          /* alternating bands */
  --white: #FFFFFF;
  --max: 70rem;
  --radius: 4px;
  --serif: "Cormorant Garamond", "Georgia", serif;
  --sans: "Source Sans 3", -apple-system, "Segoe UI", sans-serif;
}

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

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
  font-family: var(--sans);
  font-size: 1.0625rem; /* 17px */
  line-height: 1.65;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--serif);
  color: var(--navy);
  line-height: 1.15;
  font-weight: 600;
}

h1 { font-size: clamp(2.3rem, 5.2vw, 3.6rem); letter-spacing: 0.005em; }
h2 { font-size: clamp(1.85rem, 3.6vw, 2.6rem); margin-bottom: 0.75rem; }
h3 { font-size: 1.45rem; margin-bottom: 0.5rem; }

p { max-width: 44rem; }

a { color: var(--bronze-deep); text-underline-offset: 3px; }
a:hover { color: var(--navy); }

a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--bronze-deep);
  outline-offset: 3px;
  border-radius: 2px;
}

img { max-width: 100%; height: auto; display: block; }

.container { max-width: var(--max); margin: 0 auto; padding: 0 1.25rem; }
.narrow { max-width: 46rem; }

/* ---------- brand motif: bronze rule with diamond ---------- */

.ornament {
  display: flex; align-items: center; gap: 0.6rem;
  margin: 1.1rem 0 1.6rem;
}
.ornament::before, .ornament::after {
  content: ""; height: 1px; width: 2.6rem; background: var(--bronze);
}
.ornament::after { width: 1.2rem; }
.ornament span {
  width: 0.55rem; height: 0.55rem; background: var(--bronze);
  transform: rotate(45deg); display: block;
}
.ornament.center { justify-content: center; }
.ornament.center::before, .ornament.center::after { width: 2.6rem; }
.ornament.on-navy::before, .ornament.on-navy::after, .ornament.on-navy span { background: var(--bronze); }

/* ---------- header ---------- */

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(11, 35, 64, 0.10);
}

.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding-top: 0.8rem; padding-bottom: 0.8rem;
}

.wordmark { display: flex; align-items: center; text-decoration: none; }
.wordmark img { height: 56px; width: auto; }

.site-nav { display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.site-nav a {
  color: var(--navy); text-decoration: none; font-size: 0.95rem; font-weight: 600;
  letter-spacing: 0.02em; padding: 0.5rem 0; white-space: nowrap;
}
.site-nav a:hover { color: var(--bronze-deep); }
.site-nav a.btn-primary { color: var(--white); padding: 0.6rem 1.1rem; }
.site-nav a.btn-primary:hover { color: var(--white); }

@media (max-width: 70rem) {
  .site-nav { gap: 1rem; }
  .site-nav a { font-size: 0.9rem; }
  .wordmark img { height: 46px; }
}
/* hamburger: hidden on desktop, shown below 50rem */
.nav-toggle { display: none; }

@media (max-width: 50rem) {
  .wordmark img { height: 42px; }

  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; flex-shrink: 0;
    background: transparent; border: 1px solid rgba(11, 35, 64, 0.22); border-radius: var(--radius);
    cursor: pointer; color: var(--navy);
  }
  .nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after {
    display: block; width: 20px; height: 2px; background: currentColor; border-radius: 1px;
    transition: transform 180ms ease, opacity 180ms ease;
  }
  .nav-toggle-bars { position: relative; }
  .nav-toggle-bars::before, .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
  .nav-toggle-bars::before { top: -6px; }
  .nav-toggle-bars::after { top: 6px; }
  .menu-open .nav-toggle-bars { background: transparent; }
  .menu-open .nav-toggle-bars::before { transform: translateY(6px) rotate(45deg); }
  .menu-open .nav-toggle-bars::after { transform: translateY(-6px) rotate(-45deg); }

  /* the menu drops down under the header, full width */
  .site-nav {
    display: none;
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--white);
    border-bottom: 1px solid rgba(11, 35, 64, 0.10);
    box-shadow: 0 12px 24px rgba(11, 35, 64, 0.10);
    padding: 0.4rem 1.25rem 1.2rem;
  }
  .menu-open .site-nav { display: flex; }
  .site-nav a:not(.btn) {
    display: block; font-size: 1.05rem; padding: 0.85rem 0;
    border-top: 1px solid rgba(11, 35, 64, 0.08);
  }
  .site-nav a.btn-primary { margin-top: 0.9rem; text-align: center; font-size: 1rem; padding: 0.8rem 1rem; }
}

/* ---------- buttons ---------- */

.btn {
  display: inline-block;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  padding: 0.85rem 1.6rem;
  border-radius: var(--radius);
  min-height: 44px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: background-color 180ms ease, color 180ms ease;
}
.btn-primary { background: var(--navy); color: var(--white); }
.btn-primary:hover { background: var(--navy-deep); color: var(--white); }
.btn-accent { background: var(--bronze-deep); color: var(--white); }   /* 6.4:1 */
.btn-accent:hover { background: #5E4730; color: var(--white); }
.btn-quiet { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn-quiet:hover { background: rgba(11, 35, 64, 0.06); color: var(--navy); }

.actions { display: flex; gap: 0.9rem; flex-wrap: wrap; align-items: center; }
.actions.center { justify-content: center; }

/* ---------- sections ---------- */

section { padding: 4.75rem 0; scroll-margin-top: 5.5rem; }
.band { background: var(--sand); }

.eyebrow {
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze-deep);
  margin-bottom: 0.8rem;
}

.section-intro { margin-bottom: 0.5rem; }
.section-intro p { font-size: 1.1rem; }

.text-center { text-align: center; }
.text-center p { margin-left: auto; margin-right: auto; }

/* ---------- hero ---------- */

/* The family-property landscape sits behind the hero text at full brightness
   (Delia, 2026-10-23: no wash over the photo). The copy sits in a translucent
   navy glass panel, so the white type reads cleanly and the photo around it
   keeps its natural colors. */
.hero {
  position: relative; isolation: isolate; overflow: hidden;
  padding: clamp(5rem, 11vw, 8.5rem) 0 clamp(4.5rem, 10vw, 7.5rem);
  background: var(--navy);
  color: var(--cream);
}
.hero-photo {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover; object-position: center 62%;
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: rgba(12, 18, 26, 0.05);   /* all but invisible; the panel does the work */
}
.hero .container,
.story-hero .container {
  background: rgba(10, 24, 44, 0.58);
  -webkit-backdrop-filter: blur(8px) saturate(1.15);
  backdrop-filter: blur(8px) saturate(1.15);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  padding: clamp(1.8rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3.2rem);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.hero { padding: clamp(3.5rem, 8vw, 6.5rem) 1.25rem clamp(3.5rem, 8vw, 6rem); }
.hero .container { max-width: 52rem; text-align: center; }
.hero p { margin-left: auto; margin-right: auto; }   /* p has a max-width; center the block, not just the text */
.hero .eyebrow { color: var(--cream); }   /* cream, not bronze: small type over a lighter photo */
.hero h1 { color: var(--white); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.30); }
.hero .kicker {
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  font-style: italic;
  color: var(--bronze-light);
  margin-top: 1rem;
}
.hero .ornament::before, .hero .ornament::after, .hero .ornament span { background: var(--bronze-light); }
.hero .lead { font-size: 1.15rem; margin: 1.6rem auto 0; max-width: 42rem; color: var(--cream); }
.hero .lead + .lead { margin-top: 1rem; }
.hero .actions { justify-content: center; margin-top: 2.2rem; }
.hero .btn-primary { background: var(--white); color: var(--navy); }
.hero .btn-primary:hover { background: var(--cream); color: var(--navy); }
.hero .btn-quiet { color: var(--white); border-color: rgba(255, 255, 255, 0.85); background: transparent; }
.hero .btn-quiet:hover { background: rgba(255, 255, 255, 0.12); color: var(--white); }
.hero .btn { text-shadow: none; }
.hero .services-line {
  margin-top: 1.6rem; font-size: 0.9rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--cream);
}
.hero .services-line span { color: var(--bronze-light); padding: 0 0.5rem; }

/* full-width photograph bands */

.photo-band { padding: 0; line-height: 0; }
.photo-band img {
  width: 100%; height: clamp(16rem, 42vw, 34rem);
  object-fit: cover; object-position: center 60%;
}
.photo-band.story img { object-position: center 78%; height: clamp(14rem, 36vw, 28rem); }
.photo-band figcaption {
  line-height: 1.5; font-size: 0.85rem; color: var(--slate);
  text-align: center; padding: 0.7rem 1.25rem 0; font-style: italic;
}

/* ---------- cards ---------- */

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1.4rem;
  margin-top: 2.2rem;
}
.cards > * { margin-top: 0; }
.card {
  background: var(--white);
  border: 1px solid rgba(11, 35, 64, 0.08);
  border-top: 2px solid var(--bronze);   /* decorative */
  border-radius: var(--radius);
  padding: 1.7rem 1.6rem;
}
.card p { font-size: 1rem; }
.cards.three { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
.card .ornament { margin: 0 0 1rem; }
.card .ornament::before { width: 1.2rem; }
.card .ornament::after { width: 0; }

/* ---------- trust explainer ---------- */

.two-col {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: start; margin-top: 2rem;
}
@media (max-width: 50rem) { .two-col { grid-template-columns: 1fr; gap: 2rem; } }

.reasons { list-style: none; margin-top: 1rem; }
.reasons li {
  position: relative; padding-left: 1.6rem; margin-bottom: 0.7rem; font-size: 1.02rem;
}
.reasons li::before {
  content: ""; position: absolute; left: 0.1rem; top: 0.62em;
  width: 0.5rem; height: 0.5rem; background: var(--bronze); transform: rotate(45deg);
}
.note {
  margin-top: 1.4rem; padding: 1rem 1.2rem; background: var(--white);
  border-left: 3px solid var(--bronze); font-size: 0.98rem; color: var(--ink);
}
.panel-soft {
  background: var(--white); border: 1px solid rgba(11, 35, 64, 0.08);
  border-radius: var(--radius); padding: 1.8rem 1.7rem;
}
.panel-soft h3 { margin-bottom: 0.7rem; }

/* ---------- approach (quote style) ---------- */

.approach .container { max-width: 48rem; text-align: center; }
.approach .statement {
  font-family: var(--serif); font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  color: var(--navy); line-height: 1.4; margin: 0.5rem auto 1.6rem; max-width: 40rem;
}
.approach p { margin: 0 auto 1rem; }

/* ---------- process steps ---------- */

.steps { counter-reset: step; margin-top: 2.4rem; display: grid; gap: 0; }
.step {
  display: grid; grid-template-columns: 4rem 1fr; gap: 1.2rem; align-items: start;
  padding: 1.5rem 0; border-top: 1px solid rgba(11, 35, 64, 0.1);
}
.step:last-child { border-bottom: 1px solid rgba(11, 35, 64, 0.1); }
.step::before {
  counter-increment: step;
  content: counter(step);
  font-family: var(--serif);
  font-size: 2.4rem; font-weight: 600; line-height: 1;
  color: var(--navy);
  padding-top: 0.1rem;
}
.step h3 { font-size: 1.4rem; }
.step p { font-size: 1.02rem; }

/* ---------- meet ---------- */

.about-grid {
  display: grid; grid-template-columns: minmax(16rem, 2fr) 3fr; gap: 3rem; align-items: start; margin-top: 2rem;
}
@media (max-width: 50rem) { .about-grid { grid-template-columns: 1fr; gap: 2rem; } }
.portrait-frame {
  position: sticky; top: 6rem; align-self: start;
  padding: 0.6rem; background: var(--white);
  border: 1px solid rgba(11, 35, 64, 0.1);
}
.portrait-frame img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
@media (max-width: 50rem) { .portrait-frame { position: static; max-width: 24rem; } }
.about-grid .role { color: var(--slate); margin: -0.2rem 0 1.4rem; font-size: 1rem; }
.about-grid p + p { margin-top: 1rem; }
.pull {
  font-family: var(--serif); font-size: 1.4rem; color: var(--navy); line-height: 1.4; margin-top: 1.4rem;
}

/* ---------- faq ---------- */

details {
  background: var(--white);
  border: 1px solid rgba(11, 35, 64, 0.08);
  border-radius: var(--radius);
  padding: 1rem 1.4rem;
  margin-top: 0.8rem;
}
summary {
  font-family: var(--serif);
  font-size: 1.3rem; font-weight: 600; color: var(--navy);
  cursor: pointer; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  list-style: none;
}
summary::-webkit-details-marker { display: none; }
summary::after {
  content: "+"; font-family: var(--sans); font-size: 1.4rem; color: var(--bronze-deep); flex-shrink: 0;
}
details[open] summary::after { content: "–"; }
details p { margin-top: 0.7rem; font-size: 1rem; }

/* two independent accordion columns (PFL-style); each column expands on its own */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.6rem; margin-top: 1.4rem; align-items: start; }
@media (max-width: 50rem) { .faq-grid { grid-template-columns: 1fr; } }
.faq-col details { margin-top: 0.9rem; }
.faq-col summary { font-size: 1.22rem; min-height: 4.2rem; }   /* same closed height whether the question runs one line or two */

/* ---------- affiliations ---------- */

.affiliations { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 2.4rem; }
@media (max-width: 50rem) { .affiliations { grid-template-columns: 1fr; gap: 2.2rem; } }
.affiliation { text-align: center; }
.affiliation .logo-link {
  display: inline-block; padding: 0.6rem 1rem; background: transparent;   /* logos sit directly on the cream page */
  border-radius: var(--radius);
}
.affiliation .logo-link:hover { background: rgba(11, 35, 64, 0.04); }
.affiliation .logo-link img { height: 4.5rem; width: auto; margin: 0 auto; }
.affiliation .logo-link .logo-wc { height: 3.6rem; }   /* source is 650 px wide; keep it crisp */
.affiliation h3 { margin-top: 1.2rem; font-size: 1.3rem; }
.affiliation p { font-size: 0.98rem; margin: 0.4rem auto 0; max-width: 30rem; }

/* ---------- contact ---------- */

.contact { padding-top: 0; }
.contact-panel {
  background: var(--navy);
  color: var(--cream);
  border-radius: var(--radius);
  padding: 3.2rem clamp(1.5rem, 5vw, 3.5rem);
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem;
}
@media (max-width: 56rem) { .contact-panel { grid-template-columns: 1fr; } }
.contact-panel .eyebrow { color: var(--bronze-light); }
.contact-panel h2 { color: var(--white); }
.contact-panel p { color: var(--cream); }
.contact-panel a { color: var(--white); }
.contact-panel .actions { margin-top: 1.6rem; }
.contact-panel .btn-primary { background: var(--white); color: var(--navy); }
.contact-panel .btn-primary:hover { background: var(--cream); color: var(--navy); }
.contact-panel .btn-quiet { color: var(--white); border-color: rgba(255,255,255,0.7); }
.contact-panel .btn-quiet:hover { background: rgba(255,255,255,0.1); color: var(--white); }
.contact-panel address { font-style: normal; margin-top: 1.6rem; line-height: 1.8; }
.contact-panel address strong { color: var(--white); }
.contact-panel .services-line { color: var(--bronze-light); font-size: 0.85rem; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 0.4rem; }

/* The form iframe is tall enough to show every field, the Send Message button, and
   the notice without an inner scrollbar. The form gets taller as it gets narrower,
   so the height steps up at each breakpoint (measured 2026-10-23 with a margin). */
.ghl-form {
  background: var(--white); border-radius: var(--radius); padding: 0.5rem 0.5rem 0;
  overflow: hidden;
}
.ghl-form iframe { display: block; width: 100%; height: 840px; overflow: hidden; }
@media (max-width: 70rem) { .ghl-form iframe { height: 900px; } }
@media (max-width: 56rem) {                       /* single column: the form is wide again */
  .ghl-form iframe { height: 830px; }
  .contact-panel { padding-left: 1.25rem; padding-right: 1.25rem; }
}
@media (max-width: 30rem) { .ghl-form iframe { height: 960px; } }
@media (max-width: 22rem) { .ghl-form iframe { height: 1010px; } }   /* 320 px phones */

.contact-form { display: grid; gap: 0.9rem; }
.contact-form label { display: grid; gap: 0.3rem; font-size: 0.92rem; color: var(--cream); font-weight: 600; }
.contact-form input, .contact-form textarea {
  font: inherit; font-size: 1rem; color: var(--ink);
  padding: 0.7rem 0.85rem; border: 1px solid rgba(255,255,255,0.3); border-radius: var(--radius);
  background: var(--white); width: 100%; min-height: 44px;
}
.contact-form textarea { min-height: 7rem; resize: vertical; }
.contact-form .form-note { font-size: 0.82rem; color: var(--cream); opacity: 0.92; line-height: 1.5; }
.contact-form button { justify-self: start; }
.contact-form .honey { position: absolute; left: -9999px; }

/* ---------- final invitation ---------- */

.invite { text-align: center; }
.invite .container { max-width: 44rem; }
.invite p { margin: 0 auto; font-size: 1.1rem; }
.invite .actions { justify-content: center; margin-top: 2rem; }

/* ---------- footer ---------- */

.site-footer {
  border-top: 1px solid rgba(11, 35, 64, 0.12);
  padding: 2.6rem 0 3rem;
  font-size: 0.88rem;
  color: var(--slate);
  text-align: center;
}
.site-footer .tagline { font-family: var(--serif); font-size: 1.25rem; color: var(--navy); margin-bottom: 0.3rem; }
.site-footer p { max-width: 56rem; margin: 0 auto 0.6rem; }
.site-footer strong { color: var(--navy); }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1.2rem; margin: 0.8rem 0 1rem; }
.site-footer nav a { color: var(--navy); text-decoration: none; font-weight: 600; }
.site-footer nav a:hover { color: var(--bronze-deep); }
.site-footer .disclaimer { font-size: 0.82rem; line-height: 1.55; }

/* ---------- story page ---------- */

.story-hero { padding: clamp(4rem, 10vw, 8rem) 1.25rem clamp(3.5rem, 8vw, 6rem); }
.story-hero .container { max-width: 46rem; }
.story-hero .hero-photo { object-position: center 72%; }   /* keep the deck and chair, lose most of the wire */
/* Our Story: Joan-Claire chose option C (2026-10-23): no panel, the text sits on
   the photo with a soft dark pool behind it and heavier shadows. The byline is
   white and semibold so it stands out, per her note. */
.story-hero::before {
  background: radial-gradient(ellipse 62% 78% at 50% 52%, rgba(12, 18, 26, 0.48) 0%, rgba(12, 18, 26, 0.30) 55%, rgba(12, 18, 26, 0) 100%);
}
.story-hero .container {
  background: none; border: 0; box-shadow: none;
  -webkit-backdrop-filter: none; backdrop-filter: none;
  padding: 0 1.25rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 0 22px rgba(0, 0, 0, 0.45);
}
.story-hero h1 { font-size: clamp(2.2rem, 4.8vw, 3.3rem); }
.story-hero .byline {
  font-family: var(--serif); font-style: italic; font-weight: 600;
  font-size: clamp(1.2rem, 2.2vw, 1.5rem); color: var(--white); margin-top: 1.1rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7), 0 0 18px rgba(0, 0, 0, 0.55);
}
.story-hero h1 { color: var(--white); text-shadow: 0 2px 6px rgba(0, 0, 0, 0.65), 0 0 34px rgba(0, 0, 0, 0.5); }
.story-hero .byline, .story-hero .eyebrow { margin-left: auto; margin-right: auto; }

.story { padding: 3rem 0 5rem; }
.story .container { max-width: 46rem; }
.story h1 { font-size: clamp(2.1rem, 4.4vw, 3rem); }
.story h2 { font-size: clamp(1.5rem, 3vw, 1.95rem); margin-top: 2.6rem; }
.story .byline { margin-top: 0.8rem; color: var(--slate); font-size: 0.98rem; }
.story p { margin-bottom: 1.05rem; }
.story .credo {
  font-family: var(--serif); font-size: 1.45rem; color: var(--navy); line-height: 1.4;
  padding: 1rem 0 1rem 1.3rem; border-left: 3px solid var(--bronze); margin: 1.6rem 0;
}
.story .pillars { display: grid; gap: 1.1rem; margin: 1.4rem 0 0.4rem; }
.story .pillars p { margin: 0; }
.story .pillars strong { color: var(--navy); font-family: var(--serif); font-size: 1.2rem; }
.story .actions { margin-top: 2.6rem; }

/* ---------- utility ---------- */

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
