:root { color-scheme: light; --itfm-accent:#307481; --itfm-bg:#e9eff3; --itfm-paper:#f4f8fa; --itfm-ink:#26333e; --itfm-muted:#586976; --itfm-line:rgba(38,63,82,.18); }
* { box-sizing:border-box; } [hidden] { display:none!important; }
html { min-height:100%; } body { margin:0; color:var(--itfm-ink); background:linear-gradient(145deg,var(--itfm-paper),var(--itfm-bg)); font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--itfm-accent); text-underline-offset:3px; } button,input,textarea,select { font:inherit; } button,.itf-button { display:inline-block; padding:9px 17px; border:1px solid var(--itfm-accent); border-radius:6px; background:var(--itfm-accent); color:#fff; cursor:pointer; text-decoration:none; }
button:disabled { opacity:.5; cursor:default; } button:hover,.itf-button:hover { filter:brightness(.94); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--itfm-accent); outline-offset:3px; }
.itfm-skip { position:fixed; z-index:100; left:16px; top:-80px; padding:12px 18px; background:#fff; color:#111; } .itfm-skip:focus { top:16px; }
.itfm-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; padding:14px max(20px,calc((100vw - 1180px)/2)); border-bottom:1px solid var(--itfm-line); background:var(--itfm-paper); }
.itfm-brand { display:grid; color:var(--itfm-ink); text-decoration:none; gap:3px; } .itfm-brand span { font:500 28px/1.15 Georgia,serif; } .itfm-brand small { color:var(--itfm-muted); }
.itfm-header__actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; } .itfm-header-link { color:var(--itfm-ink); font-size:14px; }
.itfm-private-badge,.itfm-kicker { color:var(--itfm-muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.itf-logo { max-width:120px; max-height:55px; object-fit:contain; }
.itf-workspace,.itf-guide { max-width:1180px; margin:auto; padding:35px 24px 70px; }
h1,h2,h3 { line-height:1.2; overflow-wrap:anywhere; } h1 { font:400 clamp(32px,4vw,49px)/1.1 Georgia,serif; margin:10px 0 17px; } h2 { font:400 29px/1.2 Georgia,serif; margin:0 0 16px; } h3 { font-size:19px; }
.itf-intro { max-width:880px; margin-bottom:25px; } .itf-panel { margin:24px 0; padding:27px; border:1px solid var(--itfm-line); border-radius:12px; background:var(--itfm-paper); box-shadow:0 9px 28px rgba(38,63,82,.06); }
.itf-style-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0; } .itf-style { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:22px; background:color-mix(in srgb,var(--itf-swatch) 14%,var(--itfm-paper)); border:1px solid var(--itf-swatch); border-radius:8px; color:var(--itfm-ink); } .itf-style strong { font:400 27px/1.1 Georgia,serif; } .itf-style span { align-self:center; }
form label { display:grid; gap:5px; margin:13px 0; } input:not([type=checkbox]),select,textarea { width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--itfm-line); border-radius:5px; background:#fff; color:#26333e; } textarea { resize:vertical; } label small { font-size:12px; color:var(--itfm-muted); }
.itf-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; } label.itf-check { display:flex; align-items:flex-start; gap:9px; font-size:14px; } .itf-check input { width:18px; height:18px; flex:none; margin-top:3px; accent-color:var(--itfm-accent); }
.itf-menu-review { display:grid; grid-template-columns:1fr 1fr; gap:25px; padding:18px 0; border-top:1px solid var(--itfm-line); } .itf-menu-review h3 { margin:12px 0 8px; }
.itf-table-wrap { overflow-x:auto; margin-top:20px; } table { border-collapse:collapse; width:100%; text-align:left; } td,th { padding:13px 10px; border-bottom:1px solid var(--itfm-line); } th { font-size:13px; color:var(--itfm-muted); } td button { padding:5px 12px; }
.itf-correction { border-top:1px solid var(--itfm-line); padding:12px 0; } .itf-correction p { white-space:normal; overflow-wrap:anywhere; } .itf-correction small { color:var(--itfm-muted); }
.itf-serving-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:end; gap:12px; margin-bottom:10px; } .itf-serving-row label { margin:0; } .itf-serving-row button { min-height:44px; }
fieldset { padding:15px 20px; border:1px solid var(--itfm-line); border-radius:6px; margin:18px 0; } legend { padding:0 7px; }
.itf-alert { padding:13px 17px; border:1px solid #a56730; background:#fff3e4; border-radius:6px; color:#613a19; } #itf-status:empty { display:none; }
.itf-auth { width:min(100% - 32px,480px); margin:7vh auto; padding:30px; border:1px solid var(--itfm-line); border-radius:12px; background:var(--itfm-paper); box-shadow:0 20px 60px rgba(38,63,82,.1); } .itf-auth button { width:100%; margin:12px 0 20px; } .itf-wordmark { color:var(--itfm-ink); font:400 29px/1.1 Georgia,serif; text-decoration:none; }
.itfm-preset-botanical { --itfm-bg:#eaf2e3; --itfm-paper:#f5faef; --itfm-ink:#203328; --itfm-muted:#5a6d5c; --itfm-line:rgba(32,51,40,.16); }
.itfm-preset-night-luxe { color-scheme:dark; --itfm-bg:#1c1c20; --itfm-paper:#242327; --itfm-ink:#eee4d4; --itfm-muted:#b4a99e; --itfm-line:rgba(238,228,212,.18); }
@media(max-width:720px) { .itfm-header { align-items:flex-start; flex-direction:column; gap:10px; padding:16px 20px; } .itfm-header-link { min-height:44px; display:inline-flex; align-items:center; } .itf-workspace,.itf-guide { padding:25px 16px 55px; } .itf-panel { padding:20px; } .itf-style-grid,.itf-form-grid,.itf-menu-review { grid-template-columns:1fr; } .itf-menu-review { gap:0; } .itf-style { padding:18px; } .itf-serving-row { gap:8px; } .itf-auth { padding:25px; margin-top:30px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }

/* The private review workspace shares the menu's editorial palette and rhythm. */
:root {
  --itfm-accent:#a85b31;
  --itfm-bg:#eee3d4;
  --itfm-paper:#fbf5e9;
  --itfm-ink:#2b2019;
  --itfm-muted:#69594b;
  --itfm-line:rgba(83,55,34,.2);
  --itfm-frame:#a67b4c;
  --itfm-focus:#12677a;
  --itfm-shadow:0 18px 40px rgba(59,35,19,.1),0 2px 6px rgba(59,35,19,.07);
}
body {
  min-width:320px;
  background:
    radial-gradient(ellipse 50% 40% at 52% -10%,color-mix(in srgb,var(--itfm-paper) 95%,transparent),transparent 82%),
    radial-gradient(ellipse 35% 70% at -7% 60%,color-mix(in srgb,var(--itfm-frame) 24%,transparent),transparent 80%),
    linear-gradient(140deg,var(--itfm-bg),color-mix(in srgb,var(--itfm-paper) 60%,var(--itfm-bg)) 50%,var(--itfm-bg));
  background-attachment:fixed;
  color:var(--itfm-ink);
}
.itfm-header {
  min-height:82px;
  border-bottom-color:color-mix(in srgb,var(--itfm-frame) 45%,var(--itfm-line));
  background:linear-gradient(105deg,color-mix(in srgb,var(--itfm-paper) 94%,var(--itfm-frame)),var(--itfm-paper) 58%,color-mix(in srgb,var(--itfm-paper) 88%,var(--itfm-bg)));
  box-shadow:0 4px 16px rgba(51,33,20,.045);
}
.itfm-brand span { font-size:clamp(26px,2.4vw,34px);letter-spacing:-.035em; }
.itfm-brand small { font-size:11px;letter-spacing:.05em; }
.itfm-header-link { display:inline-flex;align-items:center;min-height:44px;padding:6px 7px;border-radius:3px;font-weight:600;text-decoration:none;text-underline-offset:5px;transition:background-color 180ms ease,color 180ms ease; }
.itfm-header-link:hover { background:color-mix(in srgb,var(--itfm-accent) 10%,transparent);color:var(--itfm-accent); }
.itf-workspace,.itf-guide { max-width:1220px;padding:clamp(28px,4.5vw,65px) clamp(18px,3vw,38px) 90px; }
.itf-intro { max-width:980px;margin-bottom:clamp(26px,3vw,45px); }
.itf-intro .itfm-kicker { margin:0 0 14px; }
.itf-intro h1 { max-width:16ch;margin:0 0 20px;font:400 clamp(42px,5vw,72px)/1.01 Georgia,serif;letter-spacing:-.045em;text-wrap:balance; }
.itf-intro > p:not(.itfm-kicker) { max-width:65ch;color:var(--itfm-muted);font-size:clamp(16px,1.35vw,19px);line-height:1.55; }
.itf-intro > a,.itf-intro > button { margin:10px 9px 0 0; }
.itfm-kicker,.itfm-private-badge { color:var(--itfm-muted);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase; }
.itf-panel {
  margin:clamp(19px,2.5vw,32px) 0;
  padding:clamp(24px,3vw,42px);
  border-color:color-mix(in srgb,var(--itfm-frame) 37%,var(--itfm-line));
  border-radius:9px;
  background:linear-gradient(145deg,var(--itfm-paper),color-mix(in srgb,var(--itfm-paper) 92%,var(--itfm-bg)));
  box-shadow:var(--itfm-shadow);
}
.itf-panel > h2 { max-width:22ch;margin:0 0 13px;font:400 clamp(28px,2.65vw,40px)/1.13 Georgia,serif;letter-spacing:-.025em;text-wrap:balance; }
.itf-panel > h2 + p { max-width:65ch;margin-top:0;color:var(--itfm-muted); }
.itf-workspace-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:780px;margin:0 0 21px;padding:5px;border:1px solid var(--itfm-line);border-radius:7px;background:color-mix(in srgb,var(--itfm-paper) 82%,transparent); }
.itf-ui .itf-workspace-steps button { min-width:0;padding:12px 14px;border:1px solid transparent;background:transparent;box-shadow:none;color:var(--itfm-muted);font-size:13px;font-weight:700;letter-spacing:.04em;text-align:center; }
.itf-ui .itf-workspace-steps button[aria-current="step"] { border-color:color-mix(in srgb,var(--itfm-frame) 55%,var(--itfm-line));background:var(--itfm-paper);box-shadow:0 2px 6px color-mix(in srgb,var(--itfm-ink) 9%,transparent);color:var(--itfm-ink); }
.itf-ui .itf-workspace-steps button:not([aria-current="step"]):hover { background:color-mix(in srgb,var(--itfm-accent) 9%,var(--itfm-paper));color:var(--itfm-ink); }
.itf-workspace [data-itf-workspace-slide] { margin:0 0 18px;animation:itf-workspace-reveal 220ms ease-out both; }
.itf-workspace-pager { display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:780px;margin:20px 0 33px; }
.itf-workspace-pager [data-itf-workspace-progress] { color:var(--itfm-muted);font-size:12px;font-weight:750;letter-spacing:.16em;white-space:nowrap; }
.itf-ui .itf-workspace-pager [data-itf-workspace-back] { border-color:var(--itfm-line);background:transparent;box-shadow:none;color:var(--itfm-ink); }
.itf-ui .itf-workspace-pager [data-itf-workspace-back]:not(:disabled):hover { border-color:var(--itfm-frame);background:color-mix(in srgb,var(--itfm-frame) 10%,var(--itfm-paper)); }
@keyframes itf-workspace-reveal { from { opacity:0;transform:translateY(5px); } to { opacity:1;transform:translateY(0); } }
.itf-panel h3 { color:var(--itfm-ink); }
.itf-ui button,.itf-ui .itf-button,
.itf-manage button,.itf-manage .itf-button {
  min-height:44px;
  padding:9px 17px;
  border:1px solid var(--itfm-ink);
  border-radius:4px;
  background:var(--itfm-ink);
  box-shadow:0 3px 9px color-mix(in srgb,var(--itfm-ink) 17%,transparent);
  color:var(--itfm-paper);
  font-weight:650;
  line-height:1.3;
  transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.itf-ui button:not(:disabled):hover,.itf-ui .itf-button:hover,
.itf-manage button:not(:disabled):hover,.itf-manage .itf-button:hover { background:color-mix(in srgb,var(--itfm-ink) 80%,var(--itfm-accent));box-shadow:0 7px 17px color-mix(in srgb,var(--itfm-ink) 22%,transparent);filter:none; }
.itf-ui button:disabled,.itf-manage button:disabled { box-shadow:none; }
:is(.itf-ui,.itf-manage) :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--itfm-focus);outline-offset:3px; }
:is(.itf-ui,.itf-manage) input:not([type=checkbox]),
:is(.itf-ui,.itf-manage) select,
:is(.itf-ui,.itf-manage) textarea { background:color-mix(in srgb,var(--itfm-paper) 55%,white);border-color:color-mix(in srgb,var(--itfm-frame) 42%,var(--itfm-line));border-radius:4px;color:var(--itfm-ink); }
.itf-style-grid { gap:clamp(12px,1.7vw,22px);margin:24px 0 30px; }
.itf-style {
  position:relative;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:clamp(20px,2vw,29px);
  border:1px solid color-mix(in srgb,var(--itf-swatch) 58%,var(--itfm-line));
  border-radius:7px;
  background:linear-gradient(142deg,color-mix(in srgb,var(--itf-swatch) 8%,var(--itfm-paper)),color-mix(in srgb,var(--itf-swatch) 25%,var(--itfm-paper)));
  box-shadow:0 3px 10px color-mix(in srgb,var(--itfm-ink) 8%,transparent);
  text-decoration:none;
  transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease;
}
.itf-style::before { content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--itf-swatch) 22%,transparent);border-radius:3px;pointer-events:none; }
.itf-style strong { max-width:12ch;font:400 clamp(27px,2.5vw,37px)/1.04 Georgia,serif;letter-spacing:-.03em;text-wrap:balance; }
.itf-style span { align-self:flex-start;padding-top:7px;border-top:1px solid var(--itf-swatch);font-size:13px;font-weight:650; }
.itf-style:hover { transform:translateY(-3px);border-color:var(--itf-swatch);box-shadow:0 11px 24px color-mix(in srgb,var(--itfm-ink) 15%,transparent); }
.itf-menu-review { grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:clamp(18px,3vw,50px);padding:28px 0;border-top-color:color-mix(in srgb,var(--itfm-frame) 36%,var(--itfm-line)); }
.itf-menu-review:first-of-type { margin-top:23px; }
.itf-menu-review > div { padding-left:21px;border-left:2px solid var(--itfm-frame); }
.itf-menu-review h3 { margin:0 0 9px;font:400 clamp(25px,2.3vw,34px)/1.08 Georgia,serif; }
.itf-menu-review p { color:var(--itfm-muted); }
.itf-menu-review a { font-weight:650;text-decoration-thickness:1px;text-underline-offset:5px; }
.itf-menu-review form { padding:20px;border:1px solid var(--itfm-line);border-radius:6px;background:color-mix(in srgb,var(--itfm-paper) 72%,white); }
.itf-menu-review form label:first-of-type { margin-top:0; }
.itf-menu-review label.itf-check { padding:11px 0;color:var(--itfm-muted);line-height:1.45; }
.itf-correction { padding:17px 0;border-top-color:color-mix(in srgb,var(--itfm-frame) 37%,var(--itfm-line)); }
.itf-correction p { max-width:75ch;margin:0 0 7px; }
.itf-correction small { letter-spacing:.02em; }
.itf-serving-row { padding:12px 0;border-bottom:1px solid var(--itfm-line); }
.itf-serving-row:last-child { border-bottom:0; }
.itf-alert { border-color:#a36d40;background:#fff0d8;color:#513116; }
.itf-auth { margin:8vh auto 6vh;padding:clamp(25px,3vw,40px);border-color:var(--itfm-line);border-radius:8px;background:var(--itfm-paper);box-shadow:var(--itfm-shadow); }
.itf-auth h1 { font-size:clamp(34px,3.3vw,46px);letter-spacing:-.035em; }
.itf-auth > p { color:var(--itfm-muted); }
.itf-wordmark { font-size:32px;letter-spacing:-.035em; }
.itfm-preset-botanical { --itfm-bg:#e6eee0;--itfm-paper:#f6f9ee;--itfm-ink:#203328;--itfm-muted:#526755;--itfm-frame:#779064;--itfm-line:rgba(32,51,40,.18); }
.itfm-preset-night-luxe { --itfm-bg:#171513;--itfm-paper:#25211e;--itfm-ink:#f4e9d9;--itfm-muted:#c5b8a9;--itfm-frame:#b29266;--itfm-line:rgba(244,233,217,.21);--itfm-shadow:0 18px 42px rgba(0,0,0,.4); }
.itfm-preset-night-luxe :is(input:not([type=checkbox]),select,textarea) { color-scheme:dark; }
@media(max-width:900px) { .itf-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .itf-menu-review { grid-template-columns:minmax(0,1fr);gap:14px; } }
@media(max-width:720px) { .itfm-header { align-items:flex-start;min-height:0; } .itf-workspace,.itf-guide { padding:29px 16px 65px; } .itf-intro h1 { font-size:clamp(38px,8vw,54px); } .itf-panel { padding:23px 20px; } .itf-style-grid { grid-template-columns:minmax(0,1fr); } .itf-style { min-height:140px; } .itf-menu-review form { padding:16px; } .itf-workspace-steps { max-width:none;gap:2px; } .itf-ui .itf-workspace-steps button { padding:10px 4px;font-size:11px;letter-spacing:0; } .itf-workspace-pager { max-width:none; } }
@media(prefers-reduced-motion:reduce) { .itfm-header-link,.itf-ui button,.itf-ui .itf-button,.itf-manage button,.itf-manage .itf-button,.itf-style { transition:none;transform:none!important; } .itf-workspace [data-itf-workspace-slide] { animation:none; } }
