:root{font-family:"DM Sans",sans-serif;color:#203a34;background:#f7f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem;z-index:5}.skip-link:focus{left:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.3rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid #dddcd2}.brand{text-decoration:none;font-weight:700;letter-spacing:-.03em;font-size:1.18rem}.brand-mark{font-size:1.7rem;color:#c2714b;vertical-align:-.15rem;margin-right:.25rem}.back-link{font-size:.86rem;text-decoration:none;border-bottom:1px solid #aeb8b1;padding-bottom:.15rem}.back-link:hover,footer a:hover{color:#a95435}.hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;max-width:1440px;margin:auto;padding:clamp(3rem,7vw,6.5rem) clamp(1.25rem,5vw,5rem) 3.4rem}.eyebrow,.step{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.17em;color:#9b664f}.hero h1{font-family:"DM Serif Display",serif;font-size:clamp(3.2rem,7vw,6.8rem);font-weight:400;letter-spacing:-.04em;line-height:1.02;max-width:950px;margin:.7rem 0 1.25rem}.hero h1 em{color:#ba714b;font-weight:400}.lede{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65;max-width:650px;color:#52665e}.hero-stamp{border:1px solid #cfbdb1;border-radius:50%;min-width:178px;height:178px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(11deg);color:#ab6044;gap:.3rem}.hero-stamp span{font-size:3.3rem;line-height:1}.hero-stamp small{text-align:center;font-size:.6rem;line-height:1.4;letter-spacing:.14em;font-weight:700}.workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);gap:1.25rem;max-width:1440px;margin:0 auto;padding:0 clamp(1.25rem,5vw,5rem) 5rem}.panel{background:#fff;border:1px solid #e2e3d9;border-radius:18px;box-shadow:0 12px 42px rgba(40,60,48,.05)}.preferences{padding:clamp(1.35rem,3vw,2.3rem)}.panel-heading h2,.chat-heading h2{font-family:"DM Serif Display",serif;font-size:2rem;font-weight:400;line-height:1.1;margin:.55rem 0}.panel-heading p{color:#64736c;font-size:.9rem;margin:.5rem 0 1.7rem}.field{margin-bottom:1.4rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field label,.field legend,.followup label{display:block;font-weight:700;font-size:.86rem;margin-bottom:.55rem}.field label span,.field legend span{font-weight:400;color:#77867c}.field input:not([type=checkbox]),.field select,.field textarea,.followup input{width:100%;border:1px solid #cad4cb;border-radius:9px;background:#fcfdf9;color:#203a34;padding:.77rem .9rem;outline:none}.field textarea{resize:vertical;min-height:105px}.field input:focus,.field select:focus,.field textarea:focus,.followup input:focus{border-color:#3c6d59;box-shadow:0 0 0 3px #dcebe2}.input-prefix{position:relative}.input-prefix span{position:absolute;top:.8rem;left:.85rem;color:#6e8175}.input-prefix input{padding-left:1.7rem!important}fieldset{border:0;padding:0;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips label{margin:0;font-size:.8rem;font-weight:500}.chips input{position:absolute;opacity:0;width:1px;height:1px}.chips span{display:block;padding:.56rem .79rem;border:1px solid #d4ddd3;border-radius:100px;background:#fbfcf9;transition:background .15s,border-color .15s}.chips input:checked+span{background:#dceadf;border-color:#7da891;color:#214e3b}.chips input:focus-visible+span{outline:3px solid #ba714b;outline-offset:2px}.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;background:#264b3d;color:#fff;padding:.94rem 1.1rem;font-weight:700}.primary-button:hover,.followup button:hover{background:#376b55}.primary-button:disabled,.followup button:disabled{opacity:.55;cursor:wait}.chat{display:flex;flex-direction:column;min-height:610px;overflow:hidden}.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.65rem 1.8rem;border-bottom:1px solid #e8e9e1}.chat-heading h2{font-size:1.75rem}.reset-button{border:0;background:none;color:#3b7656;font-size:.82rem;text-decoration:underline}.messages{padding:1.5rem 1.8rem;flex:1;max-height:650px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.welcome{margin:auto;text-align:center;max-width:290px;color:#667a6d}.welcome-icon{font-size:4rem;color:#bf7956}.welcome h3{font-family:"DM Serif Display",serif;font-weight:400;color:#284b3d;font-size:1.65rem;margin:.5rem 0}.welcome p{line-height:1.6;font-size:.9rem}.message{max-width:91%;border-radius:13px;padding:1rem 1.1rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem}.message::before{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:.4rem}.message--user{background:#e7efe7;align-self:flex-end}.message--user::before{content:"You";color:#4f7661}.message--assistant{background:#f5f1e9;align-self:flex-start}.message--assistant::before{content:"Travel recommendations";color:#ab664a}.status{min-height:1.4rem;padding:0 1.8rem;margin:.1rem 0;color:#586e60;font-size:.84rem}.status.error{color:#b0452d}.followup{padding:0 1.8rem 1rem}.followup-row{display:flex;gap:.5rem}.followup button{border:0;border-radius:9px;background:#264b3d;color:#fff;min-width:44px;font-size:1.35rem}.disclaimer{border-top:1px solid #e8e9e1;margin:0;padding:1.1rem 1.8rem;color:#6f7a70;font-size:.74rem;line-height:1.5}footer{border-top:1px solid #dddcd2;display:flex;gap:1.5rem;flex-wrap:wrap;padding:1.6rem clamp(1.25rem,5vw,5rem);font-size:.78rem;color:#52675c}footer a{text-decoration:none}footer span{margin-right:auto}@media(max-width:850px){.workspace{grid-template-columns:1fr}.chat{min-height:500px}.hero-stamp{display:none}}@media(max-width:520px){.site-header{padding:1rem 1.25rem}.back-link{font-size:.75rem}.hero{padding-top:3rem;padding-bottom:2rem}.hero h1{font-size:3.15rem}.workspace{gap:1rem;padding-bottom:2rem}.panel{border-radius:13px}.field-row{gap:.65rem}.preferences{padding:1.2rem}.chat-heading,.messages{padding:1.2rem}.status{padding:0 1.2rem}.followup{padding:0 1.2rem 1rem}.disclaimer{padding:1rem 1.2rem}}
